Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Screenshot per Telegram oder Pushover versenden

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Screenshot per Telegram oder Pushover versenden

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

      Hallo liebe Forengemeinde,

      ich würde gerne soabld es klingelt das ein Screenshot versendet wird. Habe es mit Telegramm und Pushover versucht. Pushmitteilungen werden versendet doch leider kein Bild.

      Betriebssystem ist Windows 10

      Kamera Snapshot http://192.168.178.40/cgi-bin/snapshot.cgi?stream=0

      Vielen Dank im Voraus.

      Blockly Code

      
      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable type="timeout" id="timeout">timeout</variable>
          <variable type="timeout" id="timeout1">timeout1</variable>
        </variables>
        <block type="on_ext" id="/%6jfUR|]NpMM$}m=4oj" x="87" y="-713">
          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
          <field name="CONDITION">true</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="2~SzzXiLW$2dWh0Rd=m5">
              <field name="oid">hm-rpc.0.QEQ0889232.1.PRESS_SHORT</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="telegram" id="O)W4(_qg*KS)KD+[i[hf">
              <field name="INSTANCE">.0</field>
              <field name="LOG"></field>
              <field name="SILENT">FALSE</field>
              <field name="PARSEMODE">default</field>
              <value name="MESSAGE">
                <shadow type="text" id="Y9*@/}DK}qH@qB$xpS8/">
                  <field name="TEXT">hallo</field>
                </shadow>
              </value>
              <next>
                <block type="procedures_callnoreturn" id="DnF9TAl0.q.3ygACGS~C">
                  <mutation name="foto senden"></mutation>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="procedures_defnoreturn" id="~pPk?PHjzu0{iCY*^,Mh" x="563" y="-612">
          <field name="NAME">foto senden</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          <statement name="STACK">
            <block type="timeouts_settimeout" id="%parHE%U;Jg[8keop7B#">
              <field name="NAME">timeout</field>
              <field name="DELAY">1000</field>
              <field name="UNIT">ms</field>
              <statement name="STATEMENT">
                <block type="exec" id=")s4eqoL)+rnTyhSAl1/f">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                  <field name="WITH_STATEMENT">FALSE</field>
                  <field name="LOG"></field>
                  <value name="COMMAND">
                    <shadow type="text" id="x`Y6eq`nky[SMncjoLv.">
                      <field name="TEXT">wget --output-document /C:\iobroker/ipcam/alarm.jpg 'http://192.168.178.40/cgi-bin/snapshot.cgi'</field>
                    </shadow>
                  </value>
                  <next>
                    <block type="timeouts_settimeout" id="%@nkC[RH(?Ec:@AGgZ:,">
                      <field name="NAME">timeout1</field>
                      <field name="DELAY">1000</field>
                      <field name="UNIT">ms</field>
                      <statement name="STATEMENT">
                        <block type="telegram" id="d38k#q#az~Oi^iSLuj9.">
                          <field name="INSTANCE">.0</field>
                          <field name="LOG"></field>
                          <field name="SILENT">FALSE</field>
                          <field name="PARSEMODE">default</field>
                          <value name="MESSAGE">
                            <shadow type="text" id="at(q2i6A623??3sky7BI">
                              <field name="TEXT">c:\iobroker/ipcam/alarm.jpg</field>
                            </shadow>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      
      
      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @Darkmann2000 last edited by MCU

        @Darkmann2000 sagte in Screenshot per Telegram oder Pushover versenden:

        wget --output-document /C:\iobroker/ipcam/alarm.jpg 'http://192.168.178.40/cgi-bin/snapshot.cgi'

        Beispiele:
        wget --output-document /media/fritzbox/snapshot.png 'http://192.168.XXX.XXX/capture'

        Für Deinen Fall:

        wget --output-document c:/iobroker/ipcam/alarm.jpg 'http://192.168.178.40/cgi-bin/snapshot.cgi?stream=0'

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

          @MCU
          Wget funktioniert auf win10 nicht.

          Ich sende euch nachher ein Script.

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

            So, nun das Script:

            var request = require('request');
            var fs      = require('fs');
                request.get({url: 'http://192.168.243.' + ip + ':88//cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxx&pwd=xxx', encoding: 'binary'}, function (err, response, body) {
                    fs.writeFile('opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) {
                    if (err) {
                        console.error(err);
                    } else {
                        log('Snapshot sent '+ ip);
                        sendTo('telegram.0', {user: vUser, text: 'opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam});
                    }
                  }); 
                });
            

            Http, Pfad musst du natürlich anpassen.

            mfg
            Dieter

            D 1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active last edited by

              einmal hätte auch gereicht

              https://forum.iobroker.net/topic/38676/screenshot-per-telegram-oder-pushover-verschicken

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

                @arteck sagte in Screenshot per Telegram oder Pushover versenden:

                einmal hätte auch gereicht

                die sind halt immer so ungeduldig; die Leute von heute.

                -kann ich aber auch 😉

                D 1 Reply Last reply Reply Quote 0
                • D
                  Darkmann2000 @bahnuhr last edited by Darkmann2000

                  Hallo zusammen,

                  ich danke euch vielmals für die Hilfe.

                  Eigentlich wollte ich das nur einmal posten, habe aber geshen das ich zu erst unter Skripten/Logik erstellt habe. Danach habe ich es noch einmal unter Skripten/Logik/Blockly erstellt, wo es meiner Meinung auch hin gehört.

                  Sorry das war nicht extra!

                  Eine kleine bitte an den Admin, den doppelten Thread zu löschen.

                  Vielen Dank im Voraus.

                  1 Reply Last reply Reply Quote 0
                  • D
                    Darkmann2000 @bahnuhr last edited by

                    @bahnuhr

                    Hallo Dieter,
                    vielen Dank für das Skript.

                    Kamera Link http://192.168.178.40/cgi-bin/snapshot.cgi?stream=0

                    Dein Skript habe ich wie folgt geändert:

                    var request = require('request');
                    
                    var fs      = require('fs');
                    
                        request.get({url: 'http://192.168.178.40/cgi-bin/snapshot.cgi?stream=0', encoding: 'binary'}, function (err, response, body) {
                    
                            fs.writeFile('opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) {
                    
                            if (err) {
                    
                                console.error(err);
                    
                            } else {
                    
                                log('Snapshot sent '+ ip);
                    
                                sendTo('telegram.0', {user: vUser, text: 'opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam});
                    
                            }
                    
                          }); 
                    
                        });
                    
                    

                    Bekomme folgene Fehlermeldung im Log:
                    6c4309aa-bad4-4b16-ba78-0cca74fe6a83-grafik.png

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MCU @Darkmann2000 last edited by MCU

                      @Darkmann2000 sagte in Screenshot per Telegram oder Pushover versenden:

                      snap' + ip + '.jpg'

                      ip ist hier ein Variable. Einfach löschen: .../snap.jpg

                      -> 'opt/iobroker/iobroker-data/tmp/snap.jpg' (Im Writefile und sendTo) und log('Snapshot sent ');
                      oder
                      var ip = '192_168_178_40'; setzen

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        Darkmann2000 @MCU last edited by

                        @MCU

                        Danke für die schnelle Rückmeldung.

                        Stimmt das Skript jetzt so? Oder habe ich zuviel geändert. Bekomme jetzt folgenede Fehlermeldung.

                        95e0c792-fcca-4a5c-b06b-980e0cf4814b-grafik.png

                        var request = require('request');
                        
                        var fs      = require('fs');
                        
                            request.get({url: 'http://192.168.178.40/cgi-bin/snapshot.cgi?stream=0', encoding: 'binary'}, function (err, response, body) {
                        
                                fs.writeFile('opt/iobroker/iobroker-data/tmp/snap.jpg' , body, 'binary', function(err) {
                        
                                if (err) {
                        
                                    console.error(err);
                        
                                } else {
                        
                                    log('Snapshot sent ');
                        
                                    sendTo('telegram.0', {user: vUser, text: 'opt/iobroker/iobroker-data/tmp/snap.jpg' , caption: cam});
                        
                                }
                        
                              }); 
                        
                            });
                        
                        
                        
                        M 1 Reply Last reply Reply Quote 0
                        • bahnuhr
                          bahnuhr Forum Testing Most Active last edited by bahnuhr

                          vUser ist auch eine Variable.

                          Diese musst du setzen oder deinen Namen mit "..." hin schreiben.

                          z.B.
                          user: "Dieter"

                          Natürlich deinen Namen der im telegram Adapter gelistet ist.

                          1 Reply Last reply Reply Quote 0
                          • M
                            MCU @Darkmann2000 last edited by

                            @Darkmann2000 sagte in Screenshot per Telegram oder Pushover versenden:

                            user: vUser, text: 'opt/iobroker/iobroker-data/tmp/snap.jpg' , caption: cam}

                            vUser und cam sind auch variablen

                            vUser ersetzen mit "DeinTelegram Name"
                            cam ersetzen mit "Kamera-Bild"

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              Darkmann2000 @MCU last edited by Darkmann2000

                              @MCU @bahnuhr
                              43a9c59b-cd6e-4a91-8a0c-a99e34a7fff0-grafik.png

                              Ich habe vom Skript schreiben keine Ahnung, das ist mein Problem. 🙂

                              Mir würde auch ein Script reichen wo nur das Bild auf der Festplatte Lokal gespeichert wird.

                              Über Blockly habe ich das Skript am laufen. Habe zum testen ein Bild in dem Ordner hinterlegt. Das wird auch per Telegramm versendet. Nur ich bekomme kein Aktuelles Bild von der Kamera Lokal gespeichert.

                              2f2b9c2e-a0e5-4ac9-951a-3b2e468db44b-grafik.png

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MCU @Darkmann2000 last edited by

                                @Darkmann2000
                                eabd9d18-4bc4-4f89-b25e-38c572893ee7-image.png
                                {user: '', text: 'opt...........', caption: 'Kamera Bild'});

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Darkmann2000 @MCU last edited by

                                  Es funktioniert.

                                  Vielen lieben dank an euch.

                                  Lieben Gruß

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  736
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  blockly
                                  4
                                  15
                                  1049
                                  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