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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Existierende einzelne Kamera Bilder per Telegram verschicken

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    6
    1
    55

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Existierende einzelne Kamera Bilder per Telegram verschicken

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
12 Beiträge 7 Kommentatoren 2.5k Aufrufe 4 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.
  • D Offline
    D Offline
    digitalnaive
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich hab folgenden Knoten im Kopf. Meine Türklingel zeichnet auf Anfrage einen Snapshot der integrierten Kamera auf und schreibt jeden einzelnen Screenshot mit eigener Zeichenfolge weg.

    Wie kann ich jetzt sicherstellen, dass ich mir per Blockly Script in dem Moment wo jemand klingelt per Telegram einen ausgelösten Snapshot zuschicken lassen kann?

    Wie schaffe ich es, dass ich das individuell abgelegte Bild abgreifen kann? Gibt es da evtl eine Mechanik wie ich mit einem weiteren Trigger dieses Bild zu einem einheitlichen Namen umbenennen kann, damit ich dieses File dann immer wieder per Skript verwenden könnte?

    Also aus zb. /opt/iobroker/node_modules/iobroker.ring/snapshot/snapshot11600062_1597046484979.jpg
    ein
    /opt/iobroker/node_modules/iobroker.ring/snapshot/snapshot_aktuell.jpg machen.

    M M 2 Antworten Letzte Antwort
    0
    • bahnuhrB Offline
      bahnuhrB Offline
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      per Script die neueste Datei in einem Verzeichnis ermitteln
      (ist nicht von mir)

      // letzte Datei (lt. Datum/Uhrzeit) in einem Verzeichnis ermitteln
      var path = require('path');
      var fs = require('fs');
      
      var getMostRecent = function (dir, cb) {
         var dir = path.resolve(dir);
         var files = fs.readdir(dir, function (err, files) {
         	var sorted = files.map(function(v) {
         		var filepath = path.resolve(dir, v);
         		return {
         			name:v,
         			time:fs.statSync(filepath).mtime.getTime()
         		}; 
         	})
         	.sort(function(a, b) { return b.time - a.time; })
         	.map(function(v) { return v.name; });
      
         	if (sorted.length > 0) {
         		cb(null, sorted[0]);
         	} else {
         		cb('Y U NO have files in this dir?');
         	}
         })
      }
      getMostRecent('c:/iobroker/cache', function (err, recent) {
         if (err) console.error(err);
         console.log(recent);
      });
      

      Und dann per telegram versenden.

      P.S.:
      bei blockly bin ich raus.


      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
      • D digitalnaive

        Hallo zusammen,

        ich hab folgenden Knoten im Kopf. Meine Türklingel zeichnet auf Anfrage einen Snapshot der integrierten Kamera auf und schreibt jeden einzelnen Screenshot mit eigener Zeichenfolge weg.

        Wie kann ich jetzt sicherstellen, dass ich mir per Blockly Script in dem Moment wo jemand klingelt per Telegram einen ausgelösten Snapshot zuschicken lassen kann?

        Wie schaffe ich es, dass ich das individuell abgelegte Bild abgreifen kann? Gibt es da evtl eine Mechanik wie ich mit einem weiteren Trigger dieses Bild zu einem einheitlichen Namen umbenennen kann, damit ich dieses File dann immer wieder per Skript verwenden könnte?

        Also aus zb. /opt/iobroker/node_modules/iobroker.ring/snapshot/snapshot11600062_1597046484979.jpg
        ein
        /opt/iobroker/node_modules/iobroker.ring/snapshot/snapshot_aktuell.jpg machen.

        M Offline
        M Offline
        mrzee
        schrieb am zuletzt editiert von
        #3

        @digitalnaive

        Auf was für einer Basis läuft denn dein iobroker? Ich habe es bei mir mittels wget und der Snapshot-Funktion des Kamerastreams gelöst. Ich schreibe immer nur eine Datei weg und schicke sie dann per Telegram

        D 1 Antwort Letzte Antwort
        0
        • M mrzee

          @digitalnaive

          Auf was für einer Basis läuft denn dein iobroker? Ich habe es bei mir mittels wget und der Snapshot-Funktion des Kamerastreams gelöst. Ich schreibe immer nur eine Datei weg und schicke sie dann per Telegram

          D Offline
          D Offline
          digitalnaive
          schrieb am zuletzt editiert von
          #4

          @mrzee Du meinst mit Basis vermutlich das OS? Ist Linux Server.

          Ich muss ein Bild via Button erst explizit triggern um es dann verwenden zu können.

          75de9a95-fba3-404b-8ebe-05ced338f079-image.png

          bahnuhrB M 2 Antworten Letzte Antwort
          0
          • bahnuhrB Offline
            bahnuhrB Offline
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #5

            @digitalnaive

            Hast du meine Lösung ausprobiert ?


            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
            • D digitalnaive

              @mrzee Du meinst mit Basis vermutlich das OS? Ist Linux Server.

              Ich muss ein Bild via Button erst explizit triggern um es dann verwenden zu können.

              75de9a95-fba3-404b-8ebe-05ced338f079-image.png

              bahnuhrB Offline
              bahnuhrB Offline
              bahnuhr
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #6

              @digitalnaive sagte in Existierende einzelne Kamera Bilder per Telegram verschicken:

              Ich muss ein Bild via Button erst explizit triggern

              versteh ich nicht.
              oben steht doch, dass es gespeichert wird!


              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

              D 1 Antwort Letzte Antwort
              0
              • D digitalnaive

                @mrzee Du meinst mit Basis vermutlich das OS? Ist Linux Server.

                Ich muss ein Bild via Button erst explizit triggern um es dann verwenden zu können.

                75de9a95-fba3-404b-8ebe-05ced338f079-image.png

                M Offline
                M Offline
                mrzee
                schrieb am zuletzt editiert von
                #7

                @digitalnaive
                So ganz komm ich auch gerade nicht mit, aber ich ahne, dass du eine RING Kamera verwendest? Über den Adapter hast du doch den Trigger? Das ist doch alles da?
                Also musst du doch nur herausfinden, wie du die letzte Datei im verzeichnis findest und kannst die dann weiterverwenden.
                Dazu kannst du entweder das script oben nehmen oder du schaust mal hier: https://forum.iobroker.net/topic/25422/dateinamen-in-ordner-herausfinden-und-anzeigen/5

                Und dann mittels Linux Bordmittel innerhalb des Scripts wegschreiben und anschließend per telegram versenden.

                PS: Ich verstehe nicht, warum man einen iobroker verwendet, wenn man dann auf cloudbasierte lösungen wie RING zurückgreift. Mit lokal betriebenen Kameras und Klingel hättest du es erheblich einfacher.

                1 Antwort Letzte Antwort
                0
                • D digitalnaive

                  Hallo zusammen,

                  ich hab folgenden Knoten im Kopf. Meine Türklingel zeichnet auf Anfrage einen Snapshot der integrierten Kamera auf und schreibt jeden einzelnen Screenshot mit eigener Zeichenfolge weg.

                  Wie kann ich jetzt sicherstellen, dass ich mir per Blockly Script in dem Moment wo jemand klingelt per Telegram einen ausgelösten Snapshot zuschicken lassen kann?

                  Wie schaffe ich es, dass ich das individuell abgelegte Bild abgreifen kann? Gibt es da evtl eine Mechanik wie ich mit einem weiteren Trigger dieses Bild zu einem einheitlichen Namen umbenennen kann, damit ich dieses File dann immer wieder per Skript verwenden könnte?

                  Also aus zb. /opt/iobroker/node_modules/iobroker.ring/snapshot/snapshot11600062_1597046484979.jpg
                  ein
                  /opt/iobroker/node_modules/iobroker.ring/snapshot/snapshot_aktuell.jpg machen.

                  M Online
                  M Online
                  MCU
                  schrieb am zuletzt editiert von
                  #8

                  @digitalnaive
                  Letzte Datei in einem Verzeichnis ermitteln mit exec-Befehl.

                  iobroker-telegram-letzte-Datei-ermitteln.PNG

                  Bild verschicken mit Telegram

                  iobroker-telegram-Bild verschicken.PNG

                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  1 Antwort Letzte Antwort
                  0
                  • bahnuhrB bahnuhr

                    @digitalnaive sagte in Existierende einzelne Kamera Bilder per Telegram verschicken:

                    Ich muss ein Bild via Button erst explizit triggern

                    versteh ich nicht.
                    oben steht doch, dass es gespeichert wird!

                    D Offline
                    D Offline
                    digitalnaive
                    schrieb am zuletzt editiert von
                    #9

                    @bahnuhr Ja aber um eine Speicherung zu erzwingen, muss ich mit dem State bzw diesem Button eine Speicherung auslösen. Erst dann wird es im Ordner abgelegt.

                    Ich bin jetzt zwischenzeitlich noch über eine andere Lösung gestolpert.

                    Ich verwende einfach im Blockly Wert vom Object ID (Snapshot_file). Das pusht ebenfalls die zuvor erzeugte Datei.

                    Und @mrzee, ich habe wie sicherlich die meisten hier, mit sehr wenig Grundwissen angefangen, hatte schon einige Produkte und bin dann erst auf ioBroker gestoßen. Da schmeißt man nicht mal eben jegliche vorherige Hardware weg.

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      Mr.Oz
                      schrieb am zuletzt editiert von
                      #10

                      Habe vor langer Zeit ein Script gefunden. Läuft wie ein Uhrwerk :)
                      Das Script ist von @Uhula

                      Beim Klingeln wird ein Bild erstellt und per Telegram versendet.

                      
                      // -------------------------------------------------------------------------
                      // Dieses Script überwaht den Zustand eines Bewegungsmelders und speichert bei
                      // Aktivierung ein Bild einer Überwachnungskamera in einem Vereichnis und sendet
                      // dieses via Telegram.0-Adapter. Nach 10 Sek wird ein weiteres Bild erstellt und
                      // gesendet.
                      // Die Speicherung der Bilder erfolgt als "Stack", d.h. das aktuellste Bild bekommt
                      // immer den Suffix "0" und es werden n Bilder mit den Suffixen 1..n-1 vorgehalten
                      // Uhula 2017.11
                      // -------------------------------------------------------------------------
                      // -------------------------------------------------------------------------
                      // Konfiguration
                      // -------------------------------------------------------------------------
                      // Objekt-ID des Bewegungsmelders
                      const oidKlinkelShelly = "shelly.0.xxx.Relay0.Switch";
                      // URL zur Kamera umn ein Image (jpg) zu erhalten
                      const cam_url = "http://192.168.xx.xxx/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=password";
                      // Pfadangabe für die Speicherung der Bilder, der Pfad muss existieren
                      const dest_path = '/opt/iobroker/iobroker-data/files/temp/';
                      // Anzahl der Bilder, die vorgehalten werden sollen
                      const imageCountMax = 8;
                      // Prefix für die Bildnamen
                      const imageNamePre = "Eingang";
                      
                      // -------------------------------------------------------------------------
                      // Scriptteil
                      // -------------------------------------------------------------------------
                      var request = require('request');
                      var fs = require('fs');
                      
                      // Bild an telegram schicken
                      function sendImage (path) {
                         try {
                         var stats = fs.statSync(path);
                         //var msg = formatDate(stats.birthtime,"DD.MM hh:mm:ss") + " Es hat geklingelt" // + path.substring(path.lastIndexOf('/')+1);
                         var msg = formatDate(Date.now(),"DD.MM hh:mm:ss") + " Es hat geklingelt" // + path.substring(path.lastIndexOf('/')+1);
                         sendTo('telegram.0', {
                         text: path,
                         caption: msg,
                         disable_notification: true
                         });
                         }
                         catch(err) { if (err.code != "ENOENT") log(err); }
                      }
                      
                      // löscht eine Datei synchron (wartet auf das Ergebnis)
                      function fsUnlinkSync(path) {
                         try {
                         var stats = fs.statSync(path);
                         try { fs.unlinkSync(path); }
                         catch(err) { if (err.code != "ENOENT") log(err); }
                         }
                         catch(err) { if (err.code != "ENOENT") log(err); }
                      }
                      
                      // benennt eine Datei synchron um (wartet auf das Ergebnis)
                      function fsRenameSync(oldPath, newPath) {
                         try {
                         var stats = fs.statSync(oldPath);
                         try { fs.renameSync(oldPath, newPath); }
                         catch(err) { if (err.code != "ENOENT") log(err); }
                         }
                         catch(err) { if (err.code != "ENOENT") log(err); }
                      }
                      
                      // Bild speichern und senden
                      function saveImage() {
                         // Bild imageCountMax-1 löschen
                         fsUnlinkSync( dest_path + imageNamePre + (imageCountMax-1) + ".jpg" );
                         // Bilder 0..imageCountMax-2 umbenennen
                         //for (var i=imageCountMax-2; i >= 0; i-- ) {
                         //fsRenameSync(dest_path + imageNamePre + i + ".jpg", dest_path + imageNamePre + (i+1) + ".jpg");
                         //}
                         // Bild 0 löschen
                         var fname = imageNamePre + "0.jpg";
                         fsUnlinkSync( fname );
                         // Bild holen und speichern
                         request.get({url: cam_url, encoding: 'binary'}, function (err, response, body) {
                         fs.writeFile(dest_path + fname, body, 'binary', function(err) {
                         if (err) {
                         log('Fehler beim Bild speichern: ' + err, 'warn');
                         } else {
                         // dem Filesystem 2 Sek Zeit zum Speichern lassen
                         setTimeout(function() { sendImage(dest_path + fname); }, 2000);
                         }
                         });
                         });
                      }
                      // sofort ein Bild senden und nach 10 Sek erneut
                      function onEvent() {
                         saveImage();
                         //setTimeout(function() { saveImage(); }, 10 * 1000);
                      }
                      
                      // Ereignisroutine
                         //on({id: oidKlinkelShelly, val: true}, function (obj) {
                         on({id: "shelly.0.SHSW-1#25A7FE#1.Relay0.Switch"/*Switch*/, change: "ne"}, function (obj){
                         if (getState("shelly.0.SHSW-1#25A7FE#1.Relay0.Switch").val == true) {
                             onEvent( obj );
                         } else {
                             console.log('Schreibt nicht');
                         }
                      
                      });
                      // manuelle Ausführung (Test)
                      

                      1 Antwort Letzte Antwort
                      0
                      • K Offline
                        K Offline
                        kukoratsch
                        schrieb am zuletzt editiert von kukoratsch
                        #11

                        Gelöscht

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • K kukoratsch

                          Gelöscht

                          HomoranH Offline
                          HomoranH Offline
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von Homoran
                          #12

                          @kukoratsch sagte in Existierende einzelne Kamera Bilder per Telegram verschicken:

                          Für Hilfe wäre ich dankbar.

                          zu dem Thema

                          @kukoratsch sagte in Existierende einzelne Kamera Bilder per Telegram verschicken:

                          please use httpGet

                          gibt es inzwischen gefühlt hundert Threads mit Beispielen.
                          häng dich da an einen ran, hat mit diesem Thread nichts zu tun

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          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

                          347

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          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