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

  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.
  • 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 Online
      bahnuhrB Online
      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 Online
              chucky666C Online
              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
                          • A Offline
                            A Offline
                            AST64
                            schrieb am zuletzt editiert von
                            #59

                            So::::

                            Ich lese nun die Zeit aus, formatiere sie und speichere das Bild.

                            Hier wird nun jedesmal ein neues Bild erzeugt, welches letztlich auf der Platte auch identifiziert werden kann.

                            Sieht dann so aus: 2017-07-23 15-02-08.jpg

                            // Telegram Bild senden
                            
                            var source_url = 'http://192.168.xxx.xx/snapshot.cgi?user=xxxxx&pwd=xxxxx', //Adresse der IpKamera
                                dest_path = '/Users/mm-ccu-vu/SnapShots/'; // Bei mir der Pfad in einem Ordner des MacMini
                            var Trigger = "hm-rpc.1.NEQ1513396.17.STATE"; //Trigger (Testweise mit einem Schalter der Aussenbeleuchtung)
                            var Nachricht = "Es hat geklingelt"; // Nachricht, zu dem Bild 
                            
                            var request = require('request');
                            var fs      = require('fs');
                            var picdate = formatDate(new Date(), "JJJJ-MM-TT SS-mm-ss")+'.jpg'; // DAS HABE ICH ERGÄNZT
                            
                            // Bild an telegram schicken
                            function sendImage (pfad) {
                                setTimeout(function() {
                                    sendTo('telegram', pfad);
                                    log('Webcam Bild per telegram verschickt');
                                }, 2 * 1000);
                                sendTo("telegram", 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 + picdate, body, 'binary', function(err) { // Hier wird der erzeugte Namen (picdate) mit dem Pfad zum Speichern übergeben!
                            
                                    if (err) {
                                        log('Fehler beim Bild speichern: ' + err, 'warn');
                                    } else {
                                        log('Webcam Bild gespeichert');
                                        sendImage(dest_path + picdate); // Hier hole ich mir den erzeugten Namen rein
                                        //sendImage(dest_path + 'image2.jpg'); // So war es vorher!
                                    }
                                  }); 
                                });
                            }
                            
                            //Trigger
                            on ({id: Trigger, val: true}, function () {
                                saveImage();
                            });
                            
                            

                            Danke

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

                              Mal ne Frage.

                              Mit Telegram 4.2 wurde ja das Senden von sich selbst zerstörenden Bildern eingeführt. Ist euch da schon eine Möglichkeit bekannt, das auch per Bot zu realisieren? Also z.B., dass sich ein Bild nach 6 Stunden selbst löscht?

                              Gruß,

                              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
                              • A Offline
                                A Offline
                                AST64
                                schrieb am zuletzt editiert von
                                #61

                                Werde mich mal damit beschäftigen ;). Kann aber dauern…

                                Ich hätte aber auch noch mal eine frage in die Community.

                                Mit meinem angepassten Script, werden ja nun die Screenshots wunderbar gespeichert. Sowohl ein Screenshot mit eigenen Namen (Datum/Uhrzeit) pro Auslösung der Cam in einen Ordner, als auch ein Screenshot mit immer den gleichen Namen (screenshot.jpg) zu Anzeige des letzten Auslösebildes.

                                Hierdurch entstehen aber extrem viele Schreibprozesse auf der SD Karte.

                                Nun habe ich schon mehrere Male gelesen, dass die SD Karten das nicht mögen und dadurch kaput gehen können.

                                Stimmt das? Teure hochwertige Class 10 Karten kommen damit nicht klar?

                                Wie macht ihr das denn? SSD oder HDD an den Raspi oder eher USB?

                                Danke Andreas

                                1 Antwort Letzte Antwort
                                0
                                • E Offline
                                  E Offline
                                  ebu
                                  schrieb am zuletzt editiert von
                                  #62

                                  Hallo, das script funktioniert prima - danke.

                                  Eine kurze Frage an die javascript Experten: Ich möchte gern eine Verzögerung von einer Sekunde einbauen im Script, da

                                  ich einen Bewegungsmelder dazugeschaltet habe und die Kamera das Bild erst später speichern und senden soll.

                                  Wie mach ich das? :)

                                  1 Antwort Letzte Antwort
                                  0
                                  • D Offline
                                    D Offline
                                    Dice19
                                    schrieb am zuletzt editiert von
                                    #63

                                    HI,

                                    habe mir das unten angehängte Script genommen und meine Kameras und Sensoren eingefügt.

                                    Habe die selben Links von den Kameras genommen die ich auch in der Visualisierung habe.

                                    Das Script startet ohne Fehlermeldung!!

                                    Wenn ich dann einen Sensor auslöse paassiert in der Log Datei :

                                    16:52:35.495 [info] javascript.0 script.js.common.Haus.Bild_Klingel: TelegramBild.xaktionCam - start

                                    16:52:35.496 [info] javascript.0 script.js.common.Haus.Bild_Klingel: TelegramBild.xaktionCam - state = 1: Garten Bewegungsmelder ausgelöst

                                    16:56:29.137 [info] javascript.0 script.js.common.Haus.Bild_Klingel: TelegramBild.xaktionCam - start

                                    16:56:29.138 [info] javascript.0 script.js.common.Haus.Bild_Klingel: TelegramBild.xaktionCam - state = 1: Garten Bewegungsmelder ausgelöst

                                    Bekomme die Meldung aufm Handy aber es kommt kein Bild hinterher.

                                    Wenn ich den Sensor erneut auslöse, das selbe. Meldung kommt ohne Bild.

                                    Es kommt aber keinerlei Fehlermeldung, auch in der Log von iobroker.admin erscheint keine Fehlermeldung.

                                    Jemand einen Tipp für mich was ich ändern muss??

                                    Danke

                                    Tobias

                                    ! @thomassch:
                                    ! > Hi,

                                    nachdem ich ein wenig mit Cam Bildern und telegramm experimentiert habe, möchte ich Euch das Script gerne mal zur Verfügung stellen.

                                    Damit versende ich über Telegramm im Falle einer Sensorauslösung Einzel oder bei Alarm auch alle Webcam Bilder.

                                    Damit das funktioniert, sollte Eure instar Cam im Webbrowser über folgenden Aufruf ein Bild anzeigen:

                                    http://ip-der-cam/tmpfs/snap.jpg?usr=admin&pwd=instar
                                    

                                    Das Verschicken funktioniert über das speichern eines JPG Files in IOBroker, dazu wird die Funktion "download" verwendet.

                                    Ich habe ein wenig gebraucht rauszufinden, dass es eine extra JavaScript Funktion ist, die erst über das iobroker Terminal vorher manuell installiert werden muss.

                                    (bin halt noch nicht so geübt und Anfänger in Java)

                                    Dazu im IOBorker die Tablasche Terminal aufmachen und das eingeben:

                                    npm install download
                                    

                                    Danach bei Script Einstellungen "download" mit reinnehmen:

                                    Screenshot at Mai 16 14-18-56.png

                                    Anschließend das Script übernehmen und ein wenig an Eure Cams anpassen.

                                    Im Script noch die IPs der Webcam anpassen bzw. beim Versenden aller WebCams dann die Anzahl der Cam Aufrufe anpassen.

                                    // Script: TelegramBild
                                    // Script: Bild und Text per Telegram verschicken, wenn ein Sensor auslöst
                                    // Script: 15.05.2016
                                    // Autor: thomassch
                                    // Grundidee: http://forum.iobroker.net/viewtopic.php?f=21&t=2609&p=24557&hilit=telegram#p24557
                                    
                                    // IPCams: Instar 5907HD / 6012HD
                                    
                                    var logging = true;
                                    var Download = require('download');  // Modul Download muss in Javascript-Einstellungen vorhanden sein
                                    var dest = '/images/';
                                    var foto_urlFlur   = "http://192.168.2.1/tmpfs/snap.jpg?usr=admin&pwd=instar"; // IP Webcam Snapshot Innen Flur
                                    var foto_urlGarage = "http://192.168.2.2/tmpfs/snap.jpg?usr=admin&pwd=instar"; // IP Webcam Snapshot Garage
                                    var foto_urlGarten = "http://192.168.2.3/tmpfs/snap.jpg?usr=admin&pwd=instar"; // IP Webcam Snapshot Kellertür
                                    var foto_urlWohn   = "http://192.168.2.4/tmpfs/snap.jpg?usr=admin&pwd=instar"; // IP Webcam Snapshot Wohnzimmer
                                    var txtaction = "..."; // Telegram Text
                                    
                                    if (logging) log("TelegramBild - Script start", "info");
                                    
                                    // Funktion zum Versenden einer Meldung und Bild über Telegramm
                                    // myObj   : Auslöseobjekt
                                    // myText  : wird im Telegramm als Objekttext (Klartext) angezeigt
                                    // txtTrue : wird bei auslösen = 1 im Telegram angezeigt
                                    // txtFalse: wird bei auslösen = 0 im Telegram angezeigt (hier nicht verwendet)
                                    // txtOrt  : Übergabe der WebCam Adresse
                                    // txtBild : lokaler Name für das Bild dass dann versendet wird
                                    
                                    // EInzelbild verschicken
                                    function xaktionCam(myObj, myText, txtTrue, txtFalse, txtOrt, txtBild)
                                    {
                                        if (logging) log("TelegramBild.xaktionCam - start", "info");
                                        if (myObj.newState.val === true) {
                                            txtaction = txtTrue;
                                    
                                            // erst mal Text
                                            var myTel = myText + " " + txtaction;
                                            if (logging) log("TelegramBild.xaktionCam - state = 1: " + myTel, "info");
                                            setState("telegram.0.communicate.response", myTel);
                                    
                                            // dann Bild verschicken
                                            new Download({mode: '777'}).get(txtOrt).dest(dest).rename(txtBild+".jpg").run()
                                            setTimeout(function(){
                                                sendTo('telegram.0', dest+txtBild+'.jpg');
                                                if (logging)  log("TelegramBild.xaktionCam - Bild versendet" + dest+txtBild+'.jpg', "info");
                                            }, 6000); // 6 sek warten bevor man das JPG verschickt
                                        }
                                    
                                    }
                                    
                                    // Alle Cams aufnehmen und verschicken
                                    function xaktionCamAlle(myObj, myText)
                                    {
                                      if (logging) log("xaktionCamAlle - start", "info");
                                      if (myObj.newState.val === true) {
                                    
                                          // erst mal Text
                                          var myTel = myText;
                                          if (logging) log("TelegramBild.xaktionCamAlle - state = 1: " + myTel, "info");
                                          setState("telegram.0.communicate.response", myTel);
                                    
                                          // dann Bild verschicken
                                          new Download({mode: '777'}).get(foto_urlFlur).dest(dest).rename("BildAlarmFlur"+".jpg").run()
                                          new Download({mode: '777'}).get(foto_urlGarage).dest(dest).rename("BildAlarmGarage"+".jpg").run()
                                          new Download({mode: '777'}).get(foto_urlGarten).dest(dest).rename("BildAlarmGarten"+".jpg").run()
                                          new Download({mode: '777'}).get(foto_urlWohn).dest(dest).rename("BildAlarmWohnzimmer"+".jpg").run()
                                    
                                          setTimeout(
                                            function()
                                            {
                                              sendTo('telegram.0', dest+"BildAlarmFlur"+'.jpg');
                                              sendTo('telegram.0', dest+"BildAlarmGarage"+'.jpg');
                                              sendTo('telegram.0', dest+"BildAlarmGarten"+'.jpg');
                                              sendTo('telegram.0', dest+"BildAlarmWohnzimmer"+'.jpg');
                                            }, 20000); // 20 sek warten bevor man das JPG verschickt
                                      }
                                    }
                                    
                                    // Auslöser
                                    on({id: "hm-rpc.0.LEQ1469465.1.STATE",          val: true}, function(obj) { xaktionCam(obj, "Die Innentür wurde "       ,"geöffnet",""      , foto_urlFlur  , "BildFlur"); }); // Innentür
                                    on({id: "hm-rpc.0.MEQ0100446.1.MOTION",         val: true}, function(obj) { xaktionCam(obj, "Garten Bewegungsmelder "   ,"ausgelöst",""     , foto_urlGarten, "BildGarten"); }); // Garten
                                    on({id: "hm-rpc.0.MEQ0656769.1.PRESS_SHORT",    val: true}, function(obj) { xaktionCam(obj, "Klingelsensor "            ,"es klingelt",""   , foto_urlGarage, "BildKlingel"); }); // Klingelsensor
                                    on({id: "hm-rpc.0.MEQ0812040.1.STATE",          val: true}, function(obj) { xaktionCam(obj, "Garagentor "               ,"wird geöffnet","" , foto_urlGarage, "BildGaragentor"); }); // Garagentor
                                    on({id: "hm-rpc.0.MEQ1408344.1.STATE",          val: true}, function(obj) { xaktionCam(obj, "Waschraum Tür "            ,"wird geöffnet","" , foto_urlGarage, "BildWaschRaumTuer"); }); // Waschraumtüre
                                    
                                    // AlarmEreignis
                                    on({id: "hm-rega.0.3047",  change:"ne"},                    function(obj) { xaktionCamAlle(obj, "!!! xxxx Alarm","ausgelöst xxxx !!!"); });
                                    on({id: "hm-rega.0.1790",  change:"ne"},                    function(obj) { xaktionCamAlle(obj, "!!! Voralarm","ausgelöst!!!"); });
                                    

                                    Jetzt fehlt mir eigentlich noch folgende Funktion:

                                    1. Ich würde gerne die aktuell gemachten Bilder und auch die letzten 10 Bilder speichern und auf einer Vis Seite anzeigen

                                    2. Eventuell bei Alarm für 10 Minuten, alle 15 sek Bilder erstellen und die ablegen - allerdings dann nicht auf IOBroker, sondern z.B. auf die Dropbox oder lokale NAS bei mir

                                    3. mit dem Telegram auch gleich einen Link auf die Vis Webseite schicken

                                    Vielleicht weiß jemand wie ich mit Javascript das JPG das ich gespeichert habe, gleich mal kopieren kann auf ein lokales Netzlaufwerk ???

                                    Gruss

                                    Thomas `

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

                                      Hallo,

                                      ich beschäftige mich auch gerade mit einer Ansicht im VIS. Habe mich entschlossen auf dem NAS mit SQL/PHP ein externes Programm für BilderGallery zu implementieren und dies dann mit einem iFrame ins VIS zu holen.

                                      Habe noch nichts fertiges, aber wenn es soweit ist kann ich es gerne mal posten.

                                      Die Cams würden dann alle direkt ins NAS speichern, anhand der IP und der DATE/TIME Infos dann sortiert abgelegt werden.

                                      Dank ImageMagic dann auch als Thumbnail zu sehen sein. Mit Videos würde ich genauso machen. Bin aber noch am ausprobieren, mit welchem Programm …

                                      Dies nur als Idee!!!

                                      Andreas

                                      1 Antwort Letzte Antwort
                                      0
                                      • D Offline
                                        D Offline
                                        Dice19
                                        schrieb am zuletzt editiert von
                                        #65

                                        Ich hab auch parallel die Fotos auf einem NAS.

                                        Nur es funktioniert ja anscheinend auch mit Telegramm das darüber das Bild aktuell abgerufen wird und verschickt wird.

                                        Die verschiedenen Benachrichtigungen kommen ja, nur das Bild fehlt eben…......

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

                                          So habe ich es drin und so gehts bei mir auch ohne Probleme.

                                          var source_url = 'http://xxx.xxx.xxx.xx/snapshot.cgi?user=xxxx&pwd=xxxxx; //Adresse der IpKamera mit User und Password
                                          dest_path = '/opt/iobroker/iobroker-data/files/eigene/'; // schreibrechte gesetzt. sollte aber eher ausgelagert werden!!
                                          
                                          //var Trigger = "id = script.js.Bewegung_Einfahrt.state"; // Testtrigger
                                          
                                          var Trigger = "hm-rpc.0.MEQ0692925.1.MOTION"; //Bewegungsmelder als Trigger
                                          var Nachricht = "Bewegung in der Einfahrt wurde erkannt"; // Nachricht, welche mit dem Bild gesendet wird
                                          var request = require('request');
                                          var fs      = require('fs');
                                          
                                          // aktuelles Bild speichern
                                          function saveImage() {
                                              request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                                          
                                                  fs.writeFile(dest_path + 'snapshot.jpg', body, 'binary', function(err) {
                                                  if (err) {
                                                      log('Fehler beim Bild SnapShot Single speichern: ' + err, 'warn');
                                                  } else {
                                                      log('Webcam Bild gespeichert');
                                                      sendImage(dest_path + 'snapshot.jpg');
                                                  }
                                                  }); 
                                              });
                                          }
                                          
                                          // Bild an Telegram schicken
                                          function sendImage(pfad) {
                                          
                                              setTimeout(function() {
                                                  sendTo('telegram', pfad);
                                                  log('Webcam Bild per telegram verschickt');
                                              }, 1500);
                                          
                                              sendTo("telegram", Nachricht);
                                          }
                                          
                                          on({id: 'script.js.Bewegung_Einfahrt', val: true}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            saveImage();
                                          });
                                          

                                          Habe noch ein zweites Script, welches erst den Timestamp nimmt und dann das Bild (Bildname + Timestamp) auf dem Server ablegt … für Historie!

                                          Das Problem ist die Anzeige im VIS. Man kann ja nur einen Namen für das IMG Widget nehmen, also wird auch immer nur ein Bild gespeichert, nämlich das aktuellste. Für alle anderen habe ich, wie erwähnt eine Gallery auf dem Webserver NAS eingerichtet und hole diese per iFrame.

                                          Du musst den dest_path:_server noch oben in die var reinschrieben.

                                          dest_path_server = xxx.xxx.xxx.xx/xyz .....
                                          var datum = new Date();
                                          var zeit = datum.getTime();
                                          var picdate = formatDate(new Date(), "JJJJ-MM-TT SS-mm-ss")+'.jpg';
                                          
                                          // Bild speichern als Timestamp fürs Archiv
                                              function saveScreenshots() {
                                              request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {        
                                                  fs.writeFile(dest_path_server + new Date() +".jpg", body, 'binary', function(err) {
                                                  if (err) {
                                                      log('Fehler beim Screenshots speichern: ' + err, 'warn');
                                                  } else {
                                                      log('Screenshots gespeichert');
                                                  }
                                               }); 
                                          });
                                          }
                                          
                                          

                                          Check nochmal die Klammern ;-) Mein Script ist verdammt lang ! Müsste aber passen.

                                          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

                                          762

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