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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    154

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    12
    1
    566

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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 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 Online
        bahnuhrB Online
        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 Online
          bahnuhrB Online
          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.8k

                      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