Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Frage] Bild per telegram verschicken?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[Frage] Bild per telegram verschicken?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
93 Beiträge 31 Kommentatoren 33.8k Aufrufe 8 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.
  • P Offline
    P Offline
    pix
    schrieb am zuletzt editiert von
    #39

    Hallo,

    die Variante mit dem abgeschalteten Skript ist nur ein Weg nach Rom. Normalerweise braucht man keine Skripts zu deaktivieren (es gibt Ausnahmen).

    Aber jetzt zu deinem Fall:

    Da das Skript ja deaktiviert ist, kannst du darin natürlich keine Kommandos setzen, die es aufwecken sollen.

    Du musst ein weiteres Skript anlegen und darin mit einem Trigger den Datenpunkt scriptEnabled vom schlafenden Skript auf true setzen.

    Nehmen wir an das schlafen Skript heißt Bildspeicherung und liegt in javascript.0.common.

    Dann

    var idKlingel = "hm-rpc.0.Mxxxxx.1.PRESS_SHORT"/*Klingelsensor.PRESS_SHORT*/; // Homematic Klingelsensor
    var idSkript = 'javascript.0.common.Bildspeicherung.scriptEnabled'; // Skript, dass aktiviert werden soll
    
    on({id: idKlingel, 
          val: true}, 
    function(obj) { // on lauscht auf Klingelsignal, also ist der TRIGGER / AUSLÖSER
        setState(idSkript, true);
    }
    
    

    Du musst jetzt nur den Namen und den Pfad ggf. anpassen.

    Gruß

    Pix

    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      dtp
      schrieb am zuletzt editiert von
      #40

      Nur mal so nebenbei. Den https://www.doorpi.org/forum/ von motom001 kennt ihr?

      Ich habe DoorPi auf einem Raspi 3 samt Kamera-Modul im Briefkasten im Einsatz. Damit lasse ich mir dann per Telegram beim Klingeln und beim Einwurf von Post Bilder zusenden. https://www.doorpi.org/forum/thread/63-push-nachrichten-von-doorpi/?pageNo=1 habe ich die Konfiguration von Telegram kurz beschrieben. Mir persönlich gefällt es besser, dass diese Lösung autark von der HomeMatic und dem ioBroker ist, so dass ich auch bei einem Ausfall dieser beiden Systeme weiterhin meine Push-Nachrichten erhalte. Trotzdem ist eine sehr gute Intergration in die HomeMatic möglich.

      Bis dann,

      Thorsten

      ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Michmu
        schrieb am zuletzt editiert von
        #41

        Hi Pix,

        es hat geklappt.Danke für deine Mühe.Ich hoffe das Morgenfrüh der Postbote klingelt :lol:

        Ich musste nur Kleinigkeiten ändern.

        var idKlingel = "hm-rpc.0.MXXXXX.1.PRESS_SHORT"/*Klingelsensor.PRESS_SHORT*/; // Homematic Klingelsensor
        var idSkript = 'scriptEnabled.common.Webcambild'; // Skript, dass aktiviert werden soll
        
        on({id: idKlingel, 
              val: true}, 
        function(obj) { // on lauscht auf Klingelsignal, also ist der TRIGGER / AUSLÖSER
            setState(idSkript, true);
        });
        

        Danke und einen Schönen Abend noch!

        1 Antwort Letzte Antwort
        0
        • juergen2908J Offline
          juergen2908J Offline
          juergen2908
          schrieb am zuletzt editiert von
          #42

          Hallo,

          danke für das tolle Skript. Habe es bei mir für eine Kamera im Einsatz und es funktioniert einwandfrei.

          Ich wollt jetzt meine 2. Kamera einbinden(anderes Modell) Maginon HDC 25.

          Ich schaffe es nicht ein bild zu versenden, es wird zwar die image2.jpg erzeugt, aber die Datei ist nur 1 kb groß und wird von Telegramm nicht versendet.

          Wenn man aber die Datei(über FileZilla) sich lokal rüberkopiert und unbenennt(Dateiendung), also von jpg auf txt, dann sieht man einen XML Code, wo drinnen steht :401 Unauthorized, was für mich soviel heißt, es werden keine Benutzerdaten beim http Aufruf mitübergeben.

          Interessanterweise habe ich diese cam auch in der vis im Einsatz, dort funktioniert der aufruf, ohne das ich nochmal benutzer und Passwort eingeben muss.

          Hier das Skript

          /* Testskript BILDSPEICHERUNG
          
          todo: zum Umbenennen der Datei gilp-rename nutzen
          
          soll bei Aktion Webcam Bild speichern und per telegram senden
          Skript ist normalerweise inaktiv und wird zur per ScriptEnabled ausgelöst
          erstellt 30.03.2016
          16.04.2016 nahc Update des telegram Adapters durch Bluefox ist es jetzt einfacher, Dateien zu senden
          25.05.2016 download Funktion entfernt und durch request ersetzt
          */
          
          var source_url = 'http://USER:PW@192.xxx.xxx.xxx:80/snapshot.jpg?user=user&pwd=xxxxxxxx!', // Kamerabild zB http://kameraserver:9090/image1.jpg
              dest_path = '/opt/ipcam/';
          
          var request = require('request');
          var fs      = require('fs');
          
          // Bild an telegram schicken (immer Dienst 3)
          function sendImage (pfad) {
              setTimeout(function() {
                  sendTo('telegram', pfad);
                  log('Webcam Bild per telegram verschickt');
              }, 2 * 1000);
          }
          
          // Bild speichern
          function saveImage() {
              request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                  fs.writeFile(dest_path + 'image2.jpg', body, 'binary', function(err) {
          
                  if (err) {
                      log('Fehler beim Bild speichern: ' + err, 'warn');
                  } else {
                      log('Webcam Bild gespeichert');
                      sendImage(dest_path + 'image2.jpg');
                  }
                }); 
              });
          }
          
          // bei Skriptstart ausführen
          saveImage();
          
          // selbständig Skript wieder anhalten (nach 12s)
          setStateDelayed('javascript.' + instance +  '.scriptEnabled.' + name.slice(10), false, 12*1000);
          
          

          Hat vlt. irgendjemand eine Idee wo mein Fehler sein könnte?

          Bitte um Hilfe!

          LG

          1 Antwort Letzte Antwort
          0
          • juergen2908J Offline
            juergen2908J Offline
            juergen2908
            schrieb am zuletzt editiert von
            #43

            Gelöst:

            Nach Stundenlangem Probieren, bin ich draufgekommen, dass der URL nicht gestimmt hat, trotzdem aber am iPad und PC am Browser funktioniert hatte :roll:

            der richtige URL für die Maginon HDC 25 ist:

            http://192.xxx.xxx.xxx/snapshot.jpg?user=username&pwd=passwort
            
            

            LG

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              ralalla
              schrieb am zuletzt editiert von
              #44

              Habe auch noch ein Problem mit dem Bild versenden.

              Bisher lief alles. Jetzt habe ich einen 2. Pi als Host eingerichtet und dort hin Telegramm verschoben.

              Das Bild wird aber immer noch auf dem anderen Pi gesichert, so erhalte ich dann nie ein Bild sondern immer nur die Bezeichnung mit Pfad.

              Wie trage ich im Skript den Speicherort für das Bild ein so das es auf dem 2. Pi also dem Host gesichert wird ?

              ioBroker auf Intel NUC mit Proxmox / PiVCCU auf Pi3

              1 Antwort Letzte Antwort
              0
              • juergen2908J Offline
                juergen2908J Offline
                juergen2908
                schrieb am zuletzt editiert von
                #45

                Grüß Euch,

                Habe jetzt schon wieder das ähnliche Problem bei meiner AvTech Kamera.

                http://192.xxx.xxx.xxx/cgi-bin/guest/Video.cgi?media=JPEG 
                
                

                ….sollte ja ohne Benutzerabfrage funktionieren, es kommt aber immer das Fenster für Benutzer und Kennwort.

                Jemand eine Idee?

                LG

                1 Antwort Letzte Antwort
                0
                • bahnuhrB Offline
                  bahnuhrB Offline
                  bahnuhr
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #46

                  Ich meine irgendwo gelesen zu haben, dass du Benutzer und Kennwort mitgeben musst.


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  1 Antwort Letzte Antwort
                  0
                  • juergen2908J Offline
                    juergen2908J Offline
                    juergen2908
                    schrieb am zuletzt editiert von
                    #47

                    Hi,

                    ja, ich weiss aber den Parameter aber nicht :?

                    LG

                    1 Antwort Letzte Antwort
                    0
                    • bahnuhrB Offline
                      bahnuhrB Offline
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #48

                      Und genau aus diesem Grund hab ich nur Foscam gekauft.

                      Hier sind die codes öffentlich.

                      Außerdem wollte ich nur eine Fa. haben.

                      wg. app und einheitlicher Darstellung auf dem Handy (ist aber ein anderes Thema).

                      mfg


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • Mr. BurnsM Offline
                        Mr. BurnsM Offline
                        Mr. Burns
                        schrieb am zuletzt editiert von
                        #49

                        Hi zusammen,

                        Hab das Script etwas angepasst. Es funktioniert auch super! Aber, es gibt ja immer ein aber, ich bekomme immer einen Fehler im Log.

                        Es funktioniert aber…jemand ne Idee?

                        // Telegram Bild senden
                        
                        var source_url = 'http://192.XXX.XXX.XXX:XX/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=USER&pwd=PASSWORT', //Adresse der IpKamera
                            dest_path = '/opt/ipcam/';
                        var Trigger = "hm-rpc.1.LEQXXXXXXX.1.SENSOR"; //Trigger
                        var Nachricht = "Es hat an der Haustüre geklingelt"; // Nachricht, welche mit dem Bild gesendet wird
                        
                        var request = require('request');
                        var fs      = require('fs');
                        
                        // Bild an telegram schicken
                        function sendImage (pfad) {
                            setTimeout(function() {
                                sendTo('telegram.0', pfad);
                                sendTo("telegram.0", "send", { text: Nachricht});
                                log('Webcam Bild per telegram verschickt');
                            }, 2 * 1000);
                        }
                        
                        // Bild speichern
                        function saveImage() {
                            request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                                fs.writeFile(dest_path + 'image2.jpg', body, 'binary', function(err) {
                        
                                if (err) {
                                    log('Fehler beim Bild speichern: ' + err, 'warn');
                                } else {
                                    log('Webcam Bild gespeichert');
                                    sendImage(dest_path + 'image2.jpg');
                                }
                              }); 
                            });
                        }
                        
                        //Trigger
                        on ({id: Trigger, val: true}, function () {
                            saveImage();
                        });
                        

                        1040_bildschirmfoto_2017-02-20_um_20.08.35.png

                        1 Antwort Letzte Antwort
                        0
                        • Mr. BurnsM Offline
                          Mr. BurnsM Offline
                          Mr. Burns
                          schrieb am zuletzt editiert von
                          #50
                          // Telegram Bild senden
                          
                          var source_url = 'http://192.XXX.XXX.XXX:XX/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=USER&pwd=PASSWORT', //Adresse der IpKamera
                              dest_path = '/opt/ipcam/';
                          var Trigger = "hm-rpc.1.LEQXXXXXXX.1.SENSOR"; //Trigger
                          var Nachricht = "Es hat an der Haustüre geklingelt"; // Nachricht, welche mit dem Bild gesendet wird
                          
                          var request = require('request');
                          var fs      = require('fs');
                          
                          // Bild an telegram schicken
                          function sendImage (pfad) {
                              setTimeout(function() {
                                  sendTo('telegram.0', pfad);
                                  log('Webcam Bild per telegram verschickt');
                              }, 2 * 1000);
                              sendTo("telegram.0", Nachricht);    // <-- nach der Timeout funktion ausführen
                          }
                          
                          // Bild speichern
                          function saveImage() {
                              request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                                  fs.writeFile(dest_path + 'image2.jpg', body, 'binary', function(err) {
                          
                                  if (err) {
                                      log('Fehler beim Bild speichern: ' + err, 'warn');
                                  } else {
                                      log('Webcam Bild gespeichert');
                                      sendImage(dest_path + 'image2.jpg');
                                  }
                                }); 
                              });
                          }
                          
                          //Trigger
                          on ({id: Trigger, val: true}, function () {
                              saveImage();
                          });
                          
                          1 Antwort Letzte Antwort
                          0
                          • juergen2908J Offline
                            juergen2908J Offline
                            juergen2908
                            schrieb am zuletzt editiert von
                            #51

                            Hi,

                            möchte das bild vom ipcam Verzeichnis in einer View anzeigen, wie lautet der Pfad?

                            LG

                            1 Antwort Letzte Antwort
                            0
                            • chucky666C Offline
                              chucky666C Offline
                              chucky666
                              schrieb am zuletzt editiert von
                              #52

                              Hallo zusammen

                              Ich möchte nur bei Alarm ein Bild per Telegram haben .

                              Ich habe eine Instar 5709hd Kamera

                              Kann man sowas auch per Blocky lösen ?

                              Gesendet von iPad mit Tapatalk Pro

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                SigiMOE
                                schrieb am zuletzt editiert von
                                #53

                                @juergen2908:

                                Hi,

                                möchte das bild vom ipcam Verzeichnis in einer View anzeigen, wie lautet der Pfad?

                                LG `

                                ich vermute, hier wirst Du es finden…. :

                                dest_path = '/opt/ipcam/';

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  Superdad
                                  schrieb am zuletzt editiert von
                                  #54

                                  Trete jetzt schon eine Weile auf der Stelle.

                                  Habe bei var dest = '/surveillance/Ipcam/'; eingegeben.

                                  Bekomme aber als Fehlermeldung:

                                  20:10:45.760 [info] javascript.0 script.js.common.IPCam_Bild_telegram_2: TelegramBild.xaktionCam - start

                                  20:10:45.761 [info] javascript.0 script.js.common.IPCam_Bild_telegram_2: TelegramBild.xaktionCam - state = 1: Die Innentür wurde geöffnet

                                  20:10:45.835 [warn] javascript.0 script.js.common.IPCam_Bild_telegram_2: TelegramBild.xaktionCam - Fehler beim Bild: BildVorgarten.jpgspeichern

                                  20:10:51.756 [info] javascript.0 script.js.common.IPCam_Bild_telegram_2: TelegramBild.xaktionCam - Bild versendet/surveillance/Ipcam/BildVorgarten.jpg

                                  20:11:15.781 [info] javascript.0 script.js.common.IPCam_Bild_telegram_2: TelegramBild.xaktionCam - CopyFiles xBildpfad: /surveillance/Ipcam/BildVorgarten.jpg

                                  20:11:15.790 [info] javascript.0 script.js.common.IPCam_Bild_telegram_2: TelegramBild.xaktionCam - CopyFiles err: undefined

                                  20:11:15.791 [info] javascript.0 script.js.common.IPCam_Bild_telegram_2: TelegramBild.xaktionCam - CopyFiles ok

                                  Was mache ich verkehrt?

                                  In Telegram kommt auch nichts an. Wahrscheinlich weil kein Bild gespeichert wird, oder?

                                  Und kann mir bitte jemand erklären, warum das Script in common angelegt werden muss?

                                  CCU3

                                  iOBroker auf IntelNUC Proxmox

                                  1 Antwort Letzte Antwort
                                  0
                                  • A Offline
                                    A Offline
                                    AST64
                                    schrieb am zuletzt editiert von
                                    #55

                                    Ist zwar schon älter, aber ich bräuchte etwas Hilfe.

                                    Das Script wurde 1:1 übernommen angepasst und ich habe auch das Problem, dass kein Bild mitgesendet wird.

                                    Es wird ein Bild im dest_path gespeichert … definitiv

                                    Ich kann auch mit einem einfachen Trigger aus diesem Pfad ein Bild an Telegram versenden.

                                    Also die Pfadangaben sowie die Erzeugung des Bildes funktioniert.

                                    Aber im vollständigen Script wird nur die Nachricht versendet ... kein Bild.

                                    Im LOG steht drin, dass er das Bild an Telegram geschickt hat.

                                    04:26:59.718	[info]	javascript.0 Start javascript script.js.common.Skript1
                                    04:26:59.719	[info]	javascript.0 script.js.common.Skript1: registered 1 subscription and 0 schedules
                                    04:27:06.457	[info]	javascript.0 script.js.common.Skript1: Webcam Bild gespeichert
                                    04:27:08.463	[info]	javascript.0 script.js.common.Skript1: Webcam Bild per telegram verschickt
                                    

                                    Stehe ein bisschen auf dem Schlauch, hab auch schon mit den Timeouts gespielt 😞

                                    Vielen Dank schonmal

                                    Andreas

                                    1 Antwort Letzte Antwort
                                    0
                                    • kmxakK Offline
                                      kmxakK Offline
                                      kmxak
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #56

                                      Zeig doch mal dein Script.

                                      Und das Bild liegt wirklich im Pfad wie im Script angegeben?

                                      Gibt es ein größenlimit ggf?

                                      Gruß Alex

                                      1 Antwort Letzte Antwort
                                      0
                                      • A Offline
                                        A Offline
                                        AST64
                                        schrieb am zuletzt editiert von
                                        #57

                                        Kommando zurück …

                                        LÄUFT !!!! Prima.

                                        Und jetzt die Erklärung ...

                                        Während der Erstellung des Scripts in der Testphase wurde ein Bild erzeugt. Dieses Bild nutze ich zum überprüfen ... und es war auch ein Bild! ;-).

                                        Dies Bild konnte ich auch verschicken ...

                                        Als ich dann das gesamte Script in die Umgebung geschickt habe, wurde zwar wieder ein "Bild" erzeugt, aber dieses Mal habe ich es nicht mehr geprüft. Der Name war ja der Selbe ...

                                        Aus irgendeinem Grund war dieses Bild aber "Kaputt". Dies führe dazu, dass es auch nicht überschrieben werden konnte. Es wurde somit kein echtes Bild mehr gespeichert, sondern eben immer das kaputte File aufgerufen.

                                        Das passiert, weil das Script beim Speichern nur prüft, ob etwas gespeichert wurde. Habe mich also zu sehr auf das LOG verlassen.

                                        Ich werde eine Routine einbauen, welche beim Speichern immer ein neues File/Bild erzeugt. Damit kann ich dann auch eine History aufbauen.

                                        Vielen Dank für das Script ...

                                        1 Antwort Letzte Antwort
                                        0
                                        • A Offline
                                          A Offline
                                          AST64
                                          schrieb am zuletzt editiert von
                                          #58

                                          @kmxax

                                          Danke Alex … war schon sehr früh heute morgen, also "gestern". Bin eben erst erwacht!

                                          Ich denke, es wäre eine gute Idee, beim Speichern des Bilds den Namen des Timestamps oder eine fortlaufende Nummer zu vergeben und diese dann beim Versenden wieder aufzurufen. Ich bin schon länger raus aus dem Programmieren, also werde ich mich mal wieder einarbeiten!

                                          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

                                          344

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe