Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [erledigt, nicht gelöst] Bild von Webcam lokal speichern

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User last edited by 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?

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Guest last edited by 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.

        ? 1 Reply Last reply Reply Quote 0
        • ?
          A Former User @paul53 last edited by

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

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Guest last edited by 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
            
            ? 1 Reply Last reply Reply Quote 0
            • ?
              A Former User @paul53 last edited by

              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 Reply Quote 0
              • ?
                A Former User last edited by

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

                haselchen 1 Reply Last reply Reply Quote 0
                • haselchen
                  haselchen Most Active @Guest last edited by

                  @oliver-w-leibenguth

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

                  1 Reply Last reply Reply Quote 1
                  • ?
                    A Former User last edited by

                    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 🙂

                    Boronsbruder 1 Reply Last reply Reply Quote 0
                    • Boronsbruder
                      Boronsbruder @Guest last edited by

                      @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 Reply Quote 0
                      • ?
                        A Former User @Boronsbruder last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        400
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        4
                        10
                        338
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo