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. JavaScript
  5. [erledigt, nicht gelöst] Bild von Webcam lokal speichern

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    116

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    159

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

[erledigt, nicht gelöst] Bild von Webcam lokal speichern

Scheduled Pinned Locked Moved JavaScript
10 Posts 4 Posters 382 Views 2 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.
  • ? Offline
    ? Offline
    A Former User
    wrote on last edited by A Former User
    #1

    [Vorbemerkung: Ich habe von JavaScript wenig bis keine Ahnung 😰 ]

    Ich versuche, einen Snapshot einer Webcam lokal zu speichern. Bei der Suche bin ich auf diesen Thread hier gestoßen [https://forum.iobroker.net/topic/51173/gelöst-bild-von-webcam-speichern] der mich letztendlich aber auch ratlos zurücklässt...

    Mein Script sieht aktuell so aus:

    url_snapshot = 'http://a.b.c.d/snapshot.cgi?user=xxxx&pwd=yyyy';
     
    request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                fs.writeFile('/vis.0/snap.jpg', body, 'binary', function(err) {
                if (err) {
                    console.error(err);
                     } else {
                    console.log('Snapshot sent');
                  }
                }); 
    

    Was es machen soll, dürfte ersichtlich sein (Es soll ein Snapshot der Webcam im "vis.0"-Verzeichnis gespeichert werden) - was es macht ist:

    19:04:35.983	info	javascript.0 (9852) Start javascript script.js.common.Kamera-Snapshot
    19:04:35.986	error	javascript.0 (9852) script.js.common.Kamera-Snapshot compile failed: at script.js.common.Kamera-Snapshot:15
    19:04:42.886	info	javascript.0 (9852) Stop script script.js.common.Kamera-Snapshot```
    

    Was mache ich alles falsch? Und vor allem: wo?

    paul53P 1 Reply Last reply
    0
    • ? A Former User

      [Vorbemerkung: Ich habe von JavaScript wenig bis keine Ahnung 😰 ]

      Ich versuche, einen Snapshot einer Webcam lokal zu speichern. Bei der Suche bin ich auf diesen Thread hier gestoßen [https://forum.iobroker.net/topic/51173/gelöst-bild-von-webcam-speichern] der mich letztendlich aber auch ratlos zurücklässt...

      Mein Script sieht aktuell so aus:

      url_snapshot = 'http://a.b.c.d/snapshot.cgi?user=xxxx&pwd=yyyy';
       
      request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                  fs.writeFile('/vis.0/snap.jpg', body, 'binary', function(err) {
                  if (err) {
                      console.error(err);
                       } else {
                      console.log('Snapshot sent');
                    }
                  }); 
      

      Was es machen soll, dürfte ersichtlich sein (Es soll ein Snapshot der Webcam im "vis.0"-Verzeichnis gespeichert werden) - was es macht ist:

      19:04:35.983	info	javascript.0 (9852) Start javascript script.js.common.Kamera-Snapshot
      19:04:35.986	error	javascript.0 (9852) script.js.common.Kamera-Snapshot compile failed: at script.js.common.Kamera-Snapshot:15
      19:04:42.886	info	javascript.0 (9852) Stop script script.js.common.Kamera-Snapshot```
      

      Was mache ich alles falsch? Und vor allem: wo?

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      @oliver-w-leibenguth sagte: Was mache ich alles falsch?

      Es fehlt ganz oben die Deklaration

      const fs = require('fs');
      const url_snapshot = 'http://a.b.c.d/snapshot.cgi?user=xxxx&pwd=yyyy';
      

      Schreiben sollte man nur, wenn kein err vorliegt.
      ioBroker hat Schreibrechte in das Verzeichnis "/vis.0" ?
      Es wird nur einmal beim Skriptstart ausgeführt, da ein Trigger fehlt.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      ? 1 Reply Last reply
      0
      • paul53P paul53

        @oliver-w-leibenguth sagte: Was mache ich alles falsch?

        Es fehlt ganz oben die Deklaration

        const fs = require('fs');
        const url_snapshot = 'http://a.b.c.d/snapshot.cgi?user=xxxx&pwd=yyyy';
        

        Schreiben sollte man nur, wenn kein err vorliegt.
        ioBroker hat Schreibrechte in das Verzeichnis "/vis.0" ?
        Es wird nur einmal beim Skriptstart ausgeführt, da ein Trigger fehlt.

        ? Offline
        ? Offline
        A Former User
        wrote on last edited by
        #3

        @paul53 sagte in Bild von Webcam lokal speichern:

        const fs = require('fs');
        const url_snapshot = '..............

        OK, hab' ich eingefügt, das Resultat (und die Fehlermeldung in der Konsole) bleiben gleich.

        ioBroker hat Schreibrechte in das Verzeichnis "/vis.0" ?

        Kann ich nicht sicher bestätigen. Schreibversuche in andere Verzeichnisse schlagen aber auch mit der gleichen Fehlermeldung fehl.

        Es wird nur einmal beim Skriptstart ausgeführt, da ein Trigger fehlt.

        Das macht erstmal nix, den Trigger kann ich später einbauen (zumindest das kriege ich mit meinen mehr als lausigen Kenntnissen hin).

        paul53P 1 Reply Last reply
        0
        • ? A Former User

          @paul53 sagte in Bild von Webcam lokal speichern:

          const fs = require('fs');
          const url_snapshot = '..............

          OK, hab' ich eingefügt, das Resultat (und die Fehlermeldung in der Konsole) bleiben gleich.

          ioBroker hat Schreibrechte in das Verzeichnis "/vis.0" ?

          Kann ich nicht sicher bestätigen. Schreibversuche in andere Verzeichnisse schlagen aber auch mit der gleichen Fehlermeldung fehl.

          Es wird nur einmal beim Skriptstart ausgeführt, da ein Trigger fehlt.

          Das macht erstmal nix, den Trigger kann ich später einbauen (zumindest das kriege ich mit meinen mehr als lausigen Kenntnissen hin).

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @oliver-w-leibenguth sagte: Resultat (und die Fehlermeldung in der Konsole) bleiben gleich.

          Es fehlt der Abschluss von request (letzte Zeile unter der jetzigen letzten Zeile)

                      }); // Ende fs.writeFile
          }); // Ende request
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          ? 1 Reply Last reply
          0
          • paul53P paul53

            @oliver-w-leibenguth sagte: Resultat (und die Fehlermeldung in der Konsole) bleiben gleich.

            Es fehlt der Abschluss von request (letzte Zeile unter der jetzigen letzten Zeile)

                        }); // Ende fs.writeFile
            }); // Ende request
            
            ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #5

            Danke, jetzt sind immerhin schonmal die JS-Fehler weg.

            ...dafür sind jetzt die hier im Log:

            
            javascript.0
            2023-08-10 20:09:43.770	error	Request error: Error: Parse Error: Invalid header token
            
            javascript.0
            2023-08-10 20:09:43.770	error	Error in request callback: TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received undefined
            
            
            1 Reply Last reply
            0
            • ? Offline
              ? Offline
              A Former User
              wrote on last edited by
              #6

              Hat sich erledigt, ich habe eine (externe) Lösung gefunden 🙄

              haselchenH 1 Reply Last reply
              0
              • ? A Former User

                Hat sich erledigt, ich habe eine (externe) Lösung gefunden 🙄

                haselchenH Offline
                haselchenH Offline
                haselchen
                Most Active
                wrote on last edited by
                #7

                @oliver-w-leibenguth

                Da ein Forum vom Wissensaustausch lebt, lass uns an der Lösung teilhaben.

                Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                1 Reply Last reply
                1
                • ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #8

                  Da JS weder meine Stärke ist, noch eines der exemplarischen Scripte aus anderen Threads funktioniert (wobei ersteres stark zu letzterem beiträgt), erledigt das jetzt ein Windows-Programm, das regelmäßig das Standbild der Kamera abholt und per FTP auf einen Webserver hochlädt.
                  Jetzt kann ich die Bilder meiner Kameras per VIS auch von Unterwegs sehen, ohne die Kameras selbst von außen zugänglich zu machen :-)

                  BoronsbruderB 1 Reply Last reply
                  0
                  • ? A Former User

                    Da JS weder meine Stärke ist, noch eines der exemplarischen Scripte aus anderen Threads funktioniert (wobei ersteres stark zu letzterem beiträgt), erledigt das jetzt ein Windows-Programm, das regelmäßig das Standbild der Kamera abholt und per FTP auf einen Webserver hochlädt.
                    Jetzt kann ich die Bilder meiner Kameras per VIS auch von Unterwegs sehen, ohne die Kameras selbst von außen zugänglich zu machen :-)

                    BoronsbruderB Online
                    BoronsbruderB Online
                    Boronsbruder
                    wrote on last edited by
                    #9

                    @oliver-w-leibenguth
                    Schau mal hier hab ich ein Skript drin mit dem ich PNG von meinem Server für Vis verfügbar machen konnte.
                    Bei dir evtl. anstatt dem leeren Body "" den Part "user=xxxx&pwd=yyyy" übergeben (wenn es mit dem "Auth"-Header nicht geht)

                    ? 1 Reply Last reply
                    0
                    • BoronsbruderB Boronsbruder

                      @oliver-w-leibenguth
                      Schau mal hier hab ich ein Skript drin mit dem ich PNG von meinem Server für Vis verfügbar machen konnte.
                      Bei dir evtl. anstatt dem leeren Body "" den Part "user=xxxx&pwd=yyyy" übergeben (wenn es mit dem "Auth"-Header nicht geht)

                      ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by
                      #10

                      @boronsbruder Danke, ich schau' mir das mal an - soweit ich es verstehe 😅

                      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

                      533

                      Online

                      32.8k

                      Users

                      82.7k

                      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