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
    939

  • 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 969 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

    Hallo ich möchte Bilder die auf einem IOB im Ferienhaus gespeichert sind, bei einem Trigger auf den IOB in meiner Heimat senden. Anbei das Script mit dem mein Tablet im Ferienhaus Bilder an Telegram sendet.
    Nun möchte ich evtl. mit HTTP-Post dieses Bild an den entfernten rechner senden.
    Wie geht das?

    const idChaletdoor = "zigbee.0.00158d0007e033e1.opened"
    const idAW = "0_userdata.0.Giethoorn.AW.AW"
    const idoccu = "zigbee.0.00158d000253e897.occupancy"
    const camurl = "http://192.168.188.26:2323/?cmd=getCamshot&password=WD40ml"
    const zielurl ="http://192.168.178.191/opt/iobroker/iobroker-data/files/vis.0/NL"
    
    //schedule("*/1 * * * *", function () {
    //          log("Auslöser")
    on({ id: idChaletdoor, change: "ne" }, function (dp) {
        if ((dp.state.val == true) && (getState(idAW).val == false) && (getState(idoccu).val == true)) {
            setState("0_userdata.0.Haus.Alarm.Ereignis", formatDate(new Date(dp.state.ts), "TT.MM.JJJJ hh:mm:ss"))
            setState("0_userdata.0.Haus.Alarm.Zutritt", true)
            httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
                if (!err) {
                    writeFile('vis.0', '/tablet/Besuch.jpg', response.data, (err) => {
                        if (err) {
                            console.error(err);
                        }
                    });
                } else {
                    console.error(err);
                }
            });
    
    
    //httpPost(zielurl, { responseType: 'arraybuffer' }, async (err, response) => {
    
    
    
            let text = '\ud83d\udcf7 *Kamera im Chalet hat ausgelöst*'
            sendTo('telegram.0', {
                text: "http://192.168.188.26:2323/?cmd=getCamshot&password=WD40ml",
                type: 'photo'
    
            });
    
            setTimeout(function () {
                sendTo('telegram.0', "/opt/iobroker/iobroker-data/files/vis.0/tablet/Besuch.jpg");
            }, 12000);
            log("Und jetzt")
        }
    });
    

    Gruß Michael

    crunchipC Abwesend
    crunchipC Abwesend
    crunchip
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #2

    @michihorn z. B per mqtt, oder per Simple-Abi

    umgestiegen von Proxmox auf Unraid

    M 1 Antwort Letzte Antwort
    0
    • crunchipC crunchip

      @michihorn z. B per mqtt, oder per Simple-Abi

      M Online
      M Online
      michihorn
      schrieb am zuletzt editiert von
      #3

      @crunchip Fotos per mqtt?
      Per simple API geht das sicher, aber wie?

      MartinPM 1 Antwort Letzte Antwort
      0
      • M michihorn

        @crunchip Fotos per mqtt?
        Per simple API geht das sicher, aber wie?

        MartinPM Offline
        MartinPM Offline
        MartinP
        schrieb am zuletzt editiert von
        #4

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

        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 Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #6

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

            MartinPM 1 Antwort Letzte Antwort
            0
            • M michihorn

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

              MartinPM Offline
              MartinPM Offline
              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 Offline
                                          MartinPM Offline
                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          732

                                          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