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
    648

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

  • 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.
  • M Offline
    M Offline
    michihorn
    wrote on last edited by michihorn
    #1

    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 1 Reply Last reply
    0
    • 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 Offline
      crunchipC Offline
      crunchip
      Forum Testing Most Active
      wrote on last edited by
      #2

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

      umgestiegen von Proxmox auf Unraid

      M 1 Reply Last reply
      0
      • crunchipC crunchip

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

        M Offline
        M Offline
        michihorn
        wrote on last edited by
        #3

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

        MartinPM 1 Reply Last reply
        0
        • M michihorn

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

          MartinPM Online
          MartinPM Online
          MartinP
          wrote on last edited by
          #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 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 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 Offline
              M Offline
              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 Offline
                  M Offline
                  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 Offline
                    M Offline
                    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 :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 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 :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 Offline
                        M Offline
                        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 Offline
                            M Offline
                            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 Offline
                                M Offline
                                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 Offline
                                    M Offline
                                    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 Offline
                                        David G.D Offline
                                        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 Offline
                                          M Offline
                                          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

                                          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

                                          239

                                          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