Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. ioBroker Windows Kamerabild Blockly

    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

    ioBroker Windows Kamerabild Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      el_malto last edited by el_malto

      Moin,

      ich habe ioBroker zum testen mal auf Windows 10 inistalliert. Nun will ich mir mein Kamera Bild via Telegram schicken lassen. Leider bekomme ich es nicht hin, dass Kamerabild zu speichern. Unter Linux ging es noch mit dem Befehl:

      wget -q -N -O /opt/iobroker/klingel.jpg "http://192.168.0.20:8080/livefeed?oid=1&size=1280x720"
      

      klingel.JPG
      Das funktioniert so nun nicht mehr weil wget nicht installiert ist. Wie werden die Befehle von den Baustein unter Windows ausgeführt? In der Eingabeaufforderung (command prompt bzw. cmd)? PowerShell?
      Wenn ich das

      powershell -command "& { iwr http://192.168.0.20:8080/livefeed?oid=1&size=1280x720 -OutFile klingel.jpg }"
      

      direkt in cmd eingebe oder das

      Invoke-WebRequest -Uri "http://192.168.0.20:8080/livefeed?oid=1&size=1280x720" -OutFile "C:\klingel.jpg"
      

      in PowerShell funktioniert das und das Bild wird gespeichert. Wenn ich den Befehl in Blockly einsetze geht es nicht.

      Kann mir da jemand weiter helfen?

      1 Reply Last reply Reply Quote 0
      • J
        J.C.H. last edited by

        Hallo, habe leider genau das gleiche Problem. Ich fürchte das ist aussichtslos. Habe schon versucht Wget auf Windows zum laufen bringen. Funktioniert aber trotzdem nicht

        J 1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active last edited by bahnuhr

          Per Script geht es auf Win so:

              //Bild senden mit Telegram
                  request.get({url: 'http://192.168.243.156:88//cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxx&pwd=xxxxx', encoding: 'binary'}, function (err, response, body) {
                      fs.writeFile("c:/tmp/snap.jpg", body, 'binary', function(err) {
                      if (err) {
                          console.error(err);
                      } else {
                          console.log('Snapshot sent');
                          sendTo('telegram.0', {text: 'c:/tmp/snap.jpg', caption: 'Haustür: Es klingelt.'});
                      }
                    }); 
                  });
          

          Vielleicht hilfst.

          surfer09 1 Reply Last reply Reply Quote 0
          • J
            J.C.H. @J.C.H. last edited by J.C.H.

            @J-C-H said in ioBroker Windows Kamerabild Blockly:

            Hallo, habe leider genau das gleiche Problem. Ich fürchte das ist aussichtslos. Habe schon versucht Wget auf Windows zum laufen bringen. Funktioniert aber trotzdem nicht

            Hab die Lösung gefunden 😉
            Zuerst wget installieren, anschließend den Ordner wo ioBroker installiert ist unter Einstellungen -> Sicherheit für Jeden Vollzugriff zuteilen.
            Im ioBroker im exec Block dann [wget http://XXX.XXX.... .jpg -O "C:\PFAD\DATEINAME.jpg"] eintragen.
            Im Telegramm Block dann ["C:\PFAD\DATEINAME.jpg"] den Pfad wo die Datei gespeichert wurde.

            So hat es bei mir funktioniert

            1 Reply Last reply Reply Quote 1
            • surfer09
              surfer09 @bahnuhr last edited by

              @bahnuhr sagte in ioBroker Windows Kamerabild Blockly:

              Per Script geht es auf Win so:

                  //Bild senden mit Telegram
                      request.get({url: 'http://192.168.243.156:88//cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxx&pwd=xxxxx', encoding: 'binary'}, function (err, response, body) {
                          fs.writeFile("c:/tmp/snap.jpg", body, 'binary', function(err) {
                          if (err) {
                              console.error(err);
                          } else {
                              console.log('Snapshot sent');
                              sendTo('telegram.0', {text: 'c:/tmp/snap.jpg', caption: 'Haustür: Es klingelt.'});
                          }
                        }); 
                      });
              

              Vielleicht hilfst.

              Also ich stehe gerade vor der gleichen Herausforderung mit Windows und bekomme es auch nicht hin. Nicht einmal mit deinem Skript. Ich habe dem Ordner C:\temp Vollzugriff für "jeder" erteilt, aber es passoert einfach nichts wenn ich das Skript starte. Nicht einmal ein LOG Eintrag.

              1 Reply Last reply Reply Quote 0
              • Hartmut Dittmer
                Hartmut Dittmer last edited by

                Re: ioBroker Windows Kamerabild Blockly

                Hallo, ich kann mit iobroker unter Windows kein Bild abspeichern. Das Problem wurde vor ein paar Jahren schon mal diskutiert und nicht endgültig gelöst.
                Kann mir da jemand helfen?
                Ich habe mittlerweile eine Batch-Datei,die genau das macht, brauche nur noch ein Blockly, welches diese Batch Datei aus iobroker antriggert und sie arbeiten lässt

                Samson71 1 Reply Last reply Reply Quote 0
                • Samson71
                  Samson71 Global Moderator @Hartmut Dittmer last edited by

                  @hartmut-dittmer
                  Ich habe das mal an den von Dir verlinkten Post angehängt.

                  1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active last edited by

                    Da hier uralte Threads mit längst abgekündigten Bibliotheken (request) und unnötigen Befehlen (exec + wget) geteilt werden, hier ein kurzes Update:

                    Mittlerweile gibt es httpGet direkt in Blockly. Zusammen mit dem ioBroker-Dateisystem kann man das ohne exec und Scripts realisieren. Entweder direkt per JavaScript:

                    on({ id: 'alias.0.aussen.Klingel.PRESS', val: true }, async (obj) => {
                      httpGet('http://192.168.243.156:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxx&pwd=xxxxx', { timeout: 5000, responseType: 'arraybuffer' }, async (err, response) => {
                        sendTo('telegram', 'send', {
                          text: createTempFile('kamera.jpg', response.data),
                          user: '...',
                        });
                      });
                    });
                    

                    oder wie gesagt direkt per Blockly.

                    Screenshot 2025-06-25 at 12.02.59.png

                    Beispiele gibts dazu genüge im ioBroker-Master-Kurs (mit ausführlicher Erklärung).

                    Siehe auch https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httpget

                    haus-automatisierung 1 Reply Last reply Reply Quote 0
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @haus-automatisierung last edited by

                      Alternativ könnte man natürlich auch das Kamerabild dauerhaft Speichern und mit einem Trigger auf jedes neue Bild oder eine Änderung reagieren:

                      Screenshot 2025-06-25 at 12.05.12.png

                      Screenshot 2025-06-25 at 12.06.32.png

                      Beispiele gibts dazu genüge im ioBroker-Master-Kurs (mit ausführlicher Erklärung).

                      Hartmut Dittmer 1 Reply Last reply Reply Quote 0
                      • Hartmut Dittmer
                        Hartmut Dittmer @haus-automatisierung last edited by

                        @haus-automatisierung
                        Moin und vielen Dank, es funktioniert perfekt👍
                        Auf Anhieb mit dem temporären Pfad und auch das dauerhafte Abspeichern. Letzteres benutze ich jetzt, um per telegramm oder pushover ein Bild zu schicken, wenn der BWM am Tor auslöst.
                        Hier wird das Bild immer wieder neu überschrieben und dann verschickt. Könnte ich es nicht auch hinbekommen, dass jedes neues Bild abgespeichert wird mit neuem Namen (Zeitstempel)? Im Idealfall für jeden Tag in einen neuen Ordner?

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        864
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        blockly exec javascript blockly windows
                        7
                        10
                        995
                        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