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. Visualisierung
  4. Bild unter vis.0 aktualisiert nicht

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Bild unter vis.0 aktualisiert nicht

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
39 Beiträge 6 Kommentatoren 3.7k Aufrufe 6 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.
  • coyoteC coyote

    @saeft_2003 sorry, ich hab nicht mitbekommen, dass du hier geantwortet hast, muss Mal schauen warum ich keine Benachrichtigungen mehr bekomme.

    Ausgelöst wird es in einem anderen Teil des Scripts, mein Trigger ist hier der Posteinwurf, den hatte ich jetzt hier nicht mit drin, kannst aber ja nehmen was du möchtest. Ansonsten kann ich dir nachher auch den restlichen Teil hochladen

    S Offline
    S Offline
    saeft_2003
    Most Active
    schrieb am zuletzt editiert von
    #30

    @coyote

    Ich bräuchte es so das wenn der Datenpunkt (meine-datenpunkte.0.xyz) aktualisiert wird, wird das skript einmal ausgeführt.

    Kannst du das in das skript noch mit rein machen?

    coyoteC 1 Antwort Letzte Antwort
    0
    • S saeft_2003

      @coyote

      Ich bräuchte es so das wenn der Datenpunkt (meine-datenpunkte.0.xyz) aktualisiert wird, wird das skript einmal ausgeführt.

      Kannst du das in das skript noch mit rein machen?

      coyoteC Offline
      coyoteC Offline
      coyote
      Most Active
      schrieb am zuletzt editiert von
      #31

      @saeft_2003 Guten morgen,
      da ich jetzt nicht weiß, was für ein Typ dein Datenpunkt ist, versuche es einfach mal so.

      
      var source_url = 'http://192.168.XX.XX:2000/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=XXXX&pwd=XXXX',
      dest_path = '/opt/iobroker/iobroker-data/files/vis.0/';
      
       
      var request = require("request");
      var fs      = require('fs');
      
      
      on({id: 'dein-Datenpunkt.0.XYZ', change: "any"}, function (obj) {
          request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
      
              fs.writeFile('/tmp/' + 'Postbild.jpg', body, 'binary', function(err) {
      
        if (err) {
      
                  log('Fehler beim Bild speichern: ' + err, 'warn');
      
              } else {
      
                  log('Webcam Bild gespeichert');  
      
              }
      
              })
      
          })
      
          // Bilder werden nach vis gespeichert
      
              const bild1 = fs.readFileSync('/tmp/Postbild.jpg');
      
              writeFile('vis.0','/Postbild.jpg', bild1);
      
      });
      

      Bei diesem Beispiel ist es jetzt aber so, dass egal wie sich dein Datenpunkt ändert, wird das Bild aktualisiert.
      "change: any"

      Hast du einen true/false Datenpunkt, kannst du auch statt "any" z.B. "ne" schreiben, dann wird nur getriggert wenn der Datenpunkt sich von "true" auf "false" oder umgekehrt ändert.

      S 1 Antwort Letzte Antwort
      0
      • coyoteC coyote

        @saeft_2003 Guten morgen,
        da ich jetzt nicht weiß, was für ein Typ dein Datenpunkt ist, versuche es einfach mal so.

        
        var source_url = 'http://192.168.XX.XX:2000/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=XXXX&pwd=XXXX',
        dest_path = '/opt/iobroker/iobroker-data/files/vis.0/';
        
         
        var request = require("request");
        var fs      = require('fs');
        
        
        on({id: 'dein-Datenpunkt.0.XYZ', change: "any"}, function (obj) {
            request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
        
                fs.writeFile('/tmp/' + 'Postbild.jpg', body, 'binary', function(err) {
        
          if (err) {
        
                    log('Fehler beim Bild speichern: ' + err, 'warn');
        
                } else {
        
                    log('Webcam Bild gespeichert');  
        
                }
        
                })
        
            })
        
            // Bilder werden nach vis gespeichert
        
                const bild1 = fs.readFileSync('/tmp/Postbild.jpg');
        
                writeFile('vis.0','/Postbild.jpg', bild1);
        
        });
        

        Bei diesem Beispiel ist es jetzt aber so, dass egal wie sich dein Datenpunkt ändert, wird das Bild aktualisiert.
        "change: any"

        Hast du einen true/false Datenpunkt, kannst du auch statt "any" z.B. "ne" schreiben, dann wird nur getriggert wenn der Datenpunkt sich von "true" auf "false" oder umgekehrt ändert.

        S Offline
        S Offline
        saeft_2003
        Most Active
        schrieb am zuletzt editiert von
        #32

        @coyote

        Vielen Dank ich werde es testen! Der Datenpunkt ist ein Logikwert mit true false. Das mit dem aktualisiert sollte schon so passen, falls nicht kann ich any ja einfach ändern.

        Ich melde mich dann nochmal spätestens heute Abend...

        coyoteC 1 Antwort Letzte Antwort
        0
        • S saeft_2003

          @coyote

          Vielen Dank ich werde es testen! Der Datenpunkt ist ein Logikwert mit true false. Das mit dem aktualisiert sollte schon so passen, falls nicht kann ich any ja einfach ändern.

          Ich melde mich dann nochmal spätestens heute Abend...

          coyoteC Offline
          coyoteC Offline
          coyote
          Most Active
          schrieb am zuletzt editiert von
          #33

          @saeft_2003 ok, aber wie gesagt, "any" triggert immer egal ob dein Wert von true nach false ider von false nach true wechselt

          S 1 Antwort Letzte Antwort
          0
          • coyoteC coyote

            @saeft_2003 ok, aber wie gesagt, "any" triggert immer egal ob dein Wert von true nach false ider von false nach true wechselt

            S Offline
            S Offline
            saeft_2003
            Most Active
            schrieb am zuletzt editiert von saeft_2003
            #34

            @coyote

            ja das weiß ich, ist auch so gewollt.

            ich habe das skript jetzt angepasst, wenn ich es starte kommt kein Fehler. Sobald ich dann trigger, geht der Playbutton vom skript von grün auf gelb und das steht im log:

            avascript.0	2020-02-12 09:51:06.519	info	(821) script.js.test_test.Skript_2: Webcam Bild gespeichert
            host.iobroker	2020-02-12 09:50:46.056	warn	"system.host.iobroker-slave" is offline
            javascript.0	2020-02-12 09:50:32.916	info	(821) script.js.test_test.Skript_2: Webcam Bild gespeichert
            javascript.0	2020-02-12 09:50:25.136	info	(821) script.js.test_test.Skript_2: Webcam Bild gespeichert
            javascript.0	2020-02-12 09:50:18.803	info	(821) script.js.test_test.Skript_2: Webcam Bild gespeichert
            javascript.0	2020-02-12 09:50:18.530	error	(821) at processImmediate (timers.js:658:5)
            javascript.0	2020-02-12 09:50:18.520	error	(821) at tryOnImmediate (timers.js:676:5)
            javascript.0	2020-02-12 09:50:18.518	error	(821) at runCallback (timers.js:705:18)
            javascript.0	2020-02-12 09:50:18.515	error	(821) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4848:37)
            javascript.0	2020-02-12 09:50:18.514	error	(821) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
            javascript.0	2020-02-12 09:50:18.513	error	(821) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
            javascript.0	2020-02-12 09:50:18.513	error	(821) at Object.<anonymous> (script.js.test_test.Skript_2:63:26)
            javascript.0	2020-02-12 09:50:18.512	error	(821) at ProtectFs.readFileSync (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:23:36)
            javascript.0	2020-02-12 09:50:18.512	error	(821) at readFileSync (fs.js:343:35)
            javascript.0	2020-02-12 09:50:18.511	error	(821) at Object.openSync (fs.js:443:3)
            javascript.0	2020-02-12 09:50:18.510	error	(821) Error in callback: Error: ENOENT: no such file or directory, open '/tmp/dafangcurrentpic.jpg'
            

            hier das skript, Bilder speichern von der xiaomi dafang Kamera mit blockly über exec wget output document geht:

            
             
            
            var source_url = 'http://yyyyy:xxxxxxxxx@192.168.178.zzz/cgi-bin/currentpic.cgi',
            
            dest_path = '/opt/iobroker/iobroker-data/files/vis.0/';
            
             
            
             
            
            var request = require("request");
            
            var fs      = require('fs');
            
             
            
             
            
            on({id: 'meine-datenpunkte.0.Stoppe_intervall.Stoppe_intervall_kameras', change: "any"}, function (obj) {
            
                request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
            
             
            
                    fs.writeFile('/tmp/' + 'dafangcurrentpic.jpg', body, 'binary', function(err) {
            
             
            
              if (err) {
            
             
            
                        log('Fehler beim Bild speichern: ' + err, 'warn');
            
             
            
                    } else {
            
             
            
                        log('Webcam Bild gespeichert');  
            
             
            
                    }
            
             
            
                    })
            
             
            
                })
            
             
            
                // Bilder werden nach vis gespeichert
            
             
            
                    const bild1 = fs.readFileSync('/tmp/dafangcurrentpic.jpg');
            
             
            
                    writeFile('vis.0','/dafangcurrentpic.jpg', bild1);
            
             
            
            });
            
            

            Vielleicht mal hiermit probieren? Weil ich vermute er kann kein Bild speichern... bzw. könnte ich die bilder auch weiter mit blockly halt dann jetzt in tmp speichern. Und das script müsste schauen wenn es ein neues bild in dem ordner tmp gibt wird es dann vis.0 verschoben. Ob das aber dann gehn würde keine Ahnung 🤔

            exec('wget --output-document /opt/iobroker/iobroker-data/files/vis.0/dafang.png http://yyyyy:xxxxxxxxx@192.168.178.zzzz/cgi-bin/currentpic.cgi');
            
            coyoteC 1 Antwort Letzte Antwort
            0
            • S saeft_2003

              @coyote

              ja das weiß ich, ist auch so gewollt.

              ich habe das skript jetzt angepasst, wenn ich es starte kommt kein Fehler. Sobald ich dann trigger, geht der Playbutton vom skript von grün auf gelb und das steht im log:

              avascript.0	2020-02-12 09:51:06.519	info	(821) script.js.test_test.Skript_2: Webcam Bild gespeichert
              host.iobroker	2020-02-12 09:50:46.056	warn	"system.host.iobroker-slave" is offline
              javascript.0	2020-02-12 09:50:32.916	info	(821) script.js.test_test.Skript_2: Webcam Bild gespeichert
              javascript.0	2020-02-12 09:50:25.136	info	(821) script.js.test_test.Skript_2: Webcam Bild gespeichert
              javascript.0	2020-02-12 09:50:18.803	info	(821) script.js.test_test.Skript_2: Webcam Bild gespeichert
              javascript.0	2020-02-12 09:50:18.530	error	(821) at processImmediate (timers.js:658:5)
              javascript.0	2020-02-12 09:50:18.520	error	(821) at tryOnImmediate (timers.js:676:5)
              javascript.0	2020-02-12 09:50:18.518	error	(821) at runCallback (timers.js:705:18)
              javascript.0	2020-02-12 09:50:18.515	error	(821) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4848:37)
              javascript.0	2020-02-12 09:50:18.514	error	(821) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
              javascript.0	2020-02-12 09:50:18.513	error	(821) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
              javascript.0	2020-02-12 09:50:18.513	error	(821) at Object.<anonymous> (script.js.test_test.Skript_2:63:26)
              javascript.0	2020-02-12 09:50:18.512	error	(821) at ProtectFs.readFileSync (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:23:36)
              javascript.0	2020-02-12 09:50:18.512	error	(821) at readFileSync (fs.js:343:35)
              javascript.0	2020-02-12 09:50:18.511	error	(821) at Object.openSync (fs.js:443:3)
              javascript.0	2020-02-12 09:50:18.510	error	(821) Error in callback: Error: ENOENT: no such file or directory, open '/tmp/dafangcurrentpic.jpg'
              

              hier das skript, Bilder speichern von der xiaomi dafang Kamera mit blockly über exec wget output document geht:

              
               
              
              var source_url = 'http://yyyyy:xxxxxxxxx@192.168.178.zzz/cgi-bin/currentpic.cgi',
              
              dest_path = '/opt/iobroker/iobroker-data/files/vis.0/';
              
               
              
               
              
              var request = require("request");
              
              var fs      = require('fs');
              
               
              
               
              
              on({id: 'meine-datenpunkte.0.Stoppe_intervall.Stoppe_intervall_kameras', change: "any"}, function (obj) {
              
                  request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
              
               
              
                      fs.writeFile('/tmp/' + 'dafangcurrentpic.jpg', body, 'binary', function(err) {
              
               
              
                if (err) {
              
               
              
                          log('Fehler beim Bild speichern: ' + err, 'warn');
              
               
              
                      } else {
              
               
              
                          log('Webcam Bild gespeichert');  
              
               
              
                      }
              
               
              
                      })
              
               
              
                  })
              
               
              
                  // Bilder werden nach vis gespeichert
              
               
              
                      const bild1 = fs.readFileSync('/tmp/dafangcurrentpic.jpg');
              
               
              
                      writeFile('vis.0','/dafangcurrentpic.jpg', bild1);
              
               
              
              });
              
              

              Vielleicht mal hiermit probieren? Weil ich vermute er kann kein Bild speichern... bzw. könnte ich die bilder auch weiter mit blockly halt dann jetzt in tmp speichern. Und das script müsste schauen wenn es ein neues bild in dem ordner tmp gibt wird es dann vis.0 verschoben. Ob das aber dann gehn würde keine Ahnung 🤔

              exec('wget --output-document /opt/iobroker/iobroker-data/files/vis.0/dafang.png http://yyyyy:xxxxxxxxx@192.168.178.zzzz/cgi-bin/currentpic.cgi');
              
              coyoteC Offline
              coyoteC Offline
              coyote
              Most Active
              schrieb am zuletzt editiert von
              #35

              @saeft_2003 probier mal mit dem exec befehl, das hat bei meiner Cam nicht funktioniert, deshalb hatte ich es umgeschrieben.
              Ja, er findet wohl kein Bild unter /tmp

              S 1 Antwort Letzte Antwort
              0
              • coyoteC coyote

                @saeft_2003 probier mal mit dem exec befehl, das hat bei meiner Cam nicht funktioniert, deshalb hatte ich es umgeschrieben.
                Ja, er findet wohl kein Bild unter /tmp

                S Offline
                S Offline
                saeft_2003
                Most Active
                schrieb am zuletzt editiert von
                #36

                @coyote

                Ok muss ich dann nur das durch den exec befehl ersetzen?

                var source_url = 'http://yyyyy:xxxxxxxxx@192.168.178.zzz/cgi-bin/currentpic.cgi',
                
                
                coyoteC 1 Antwort Letzte Antwort
                0
                • S saeft_2003

                  @coyote

                  Ok muss ich dann nur das durch den exec befehl ersetzen?

                  var source_url = 'http://yyyyy:xxxxxxxxx@192.168.178.zzz/cgi-bin/currentpic.cgi',
                  
                  
                  coyoteC Offline
                  coyoteC Offline
                  coyote
                  Most Active
                  schrieb am zuletzt editiert von
                  #37

                  @saeft_2003 probier mal das hier, sollte so klappen:

                  var fs      = require('fs');
                  
                      // Speichert das Bild 
                  
                  on({id: 'dein-Datenpunkt.0.XYZ', change: "any"}, function (obj) {
                  
                      exec('wget --output-document /tmp/dafang.jpg \'http://yyyyy:xxxxxxxxx@192.168.178.zzzz/cgi-bin/currentpic.cgi\'');
                         
                  
                      // Bilder werden nach vis gespeichert
                  
                          const bild1 = fs.readFileSync('/tmp/dafang.jpg');
                  
                          writeFile('vis.0','/dafang.jpg', bild1);
                  
                  });
                  
                  S 2 Antworten Letzte Antwort
                  1
                  • coyoteC coyote

                    @saeft_2003 probier mal das hier, sollte so klappen:

                    var fs      = require('fs');
                    
                        // Speichert das Bild 
                    
                    on({id: 'dein-Datenpunkt.0.XYZ', change: "any"}, function (obj) {
                    
                        exec('wget --output-document /tmp/dafang.jpg \'http://yyyyy:xxxxxxxxx@192.168.178.zzzz/cgi-bin/currentpic.cgi\'');
                           
                    
                        // Bilder werden nach vis gespeichert
                    
                            const bild1 = fs.readFileSync('/tmp/dafang.jpg');
                    
                            writeFile('vis.0','/dafang.jpg', bild1);
                    
                    });
                    
                    S Offline
                    S Offline
                    saeft_2003
                    Most Active
                    schrieb am zuletzt editiert von
                    #38

                    @coyote

                    Ok danke werde ich probieren

                    1 Antwort Letzte Antwort
                    0
                    • coyoteC coyote

                      @saeft_2003 probier mal das hier, sollte so klappen:

                      var fs      = require('fs');
                      
                          // Speichert das Bild 
                      
                      on({id: 'dein-Datenpunkt.0.XYZ', change: "any"}, function (obj) {
                      
                          exec('wget --output-document /tmp/dafang.jpg \'http://yyyyy:xxxxxxxxx@192.168.178.zzzz/cgi-bin/currentpic.cgi\'');
                             
                      
                          // Bilder werden nach vis gespeichert
                      
                              const bild1 = fs.readFileSync('/tmp/dafang.jpg');
                      
                              writeFile('vis.0','/dafang.jpg', bild1);
                      
                      });
                      
                      S Offline
                      S Offline
                      saeft_2003
                      Most Active
                      schrieb am zuletzt editiert von
                      #39

                      @coyote

                      Vielen Dank für deine Hilfe läuft jetzt auch bei mir :-)

                      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

                      736

                      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