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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
10 Beiträge 4 Kommentatoren 375 Aufrufe 2 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.
  • ? Offline
    ? Offline
    Ein ehemaliger Benutzer
    schrieb am zuletzt editiert von Ein ehemaliger Benutzer
    #1

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

    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 Antwort Letzte Antwort
    0
    • ? Ein ehemaliger Benutzer

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

      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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von
              #6

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

              haselchenH 1 Antwort Letzte Antwort
              0
              • ? Ein ehemaliger Benutzer

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

                haselchenH Offline
                haselchenH Offline
                haselchen
                Most Active
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                1
                • ? Offline
                  ? Offline
                  Ein ehemaliger Benutzer
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • ? Ein ehemaliger Benutzer

                    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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      Ein ehemaliger Benutzer
                      schrieb am zuletzt editiert von
                      #10

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

                      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

                      723

                      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