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. Skriptumbau von Telegram zu Pushover

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    907

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Skriptumbau von Telegram zu Pushover

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
1 Beiträge 1 Kommentatoren 1.8k Aufrufe 2 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.
  • nurChrisN Offline
    nurChrisN Offline
    nurChris
    schrieb am zuletzt editiert von
    #1

    Hallo.

    Ich habe folgendes Skript welches ein snap meiner Überwachungskamera erstellt und es bei ausgelöstem trigger an telegram sendet.

    Das funktioniert sehr zuverlässig:

    // Telegram Bild senden
    
    var source_url = 'http://192.168.178.XXX/tmpfs/snap.jpg?usr=XXX&pwd=XXX', // Adresse der INSTAR-5907HD HOF Kamera
        dest_path = '/opt/iobroker/iobroker-data/snaps/'; // Hier werden die Snaps gespeichert auf dem RPI
    var Trigger = "javascript.0.Eigene_Datenpunkte.INFO.PostIstDa"/*Variablen.Test-Trigger*/; //Trigger (PostIstDaTrigger)
    var Nachricht = ""; // Nachricht, zu dem Bild wenn gewünscht
    
    var request = require('request');
    var fs      = require('fs');
    var picdate = formatDate(new Date(), "JJJJ-MM-TT SS-mm-ss")+'.jpg'; // Snap-Dateinamen
    
    // Bild an telegram schicken
    function sendImage (pfad) {
        setTimeout(function() {
            sendTo('telegram.0', pfad);
            log('Instar5907HD Hof snap per telegram verschickt');
        }, 1 * 5); // SENDE DELAY!(timeout) 1 x 5 ms
        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 + 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
            }
          }); 
        });
    }
    
    //Trigger
    on ({id: Trigger, val: true}, function () {
        saveImage();
    });
    
    

    Nun ist es möglich, dass auch Pushover Bilder sendet (siehe dazu https://forum.iobroker.net/viewtopic.php?f=21&t=13287&p=198193&hilit=Pushover+Attachments#p198193)

    JS ist völlig neu für mich, ich komme gerade so eben mit dem Grundprinzipien von Blockly klar und leider sind wohl deshalb all meine Versuche mein Skript dahingehend umzubauen gescheitert.

    Mit Copy&Paste und Trial and Error kam ich nicht ans Ziel, mein Skript sieht zuletzt so aus:

    // Pushover Bild senden
    
    var source_url = 'http://192.168.178.XXX/tmpfs/snap.jpg?usr=XXX&pwd=XXX', // Adresse der INSTAR-5907HD HOF Kamera
        dest_path = '/opt/iobroker/iobroker-data/snaps/'; // Hier werden die Snaps gespeichert auf dem RPI
    var Trigger = "javascript.0.Eigene_Datenpunkte.INFO.PostIstDa"/*Variablen.Test-Trigger*/; //Trigger (PostIstDaTrigger)
    var Nachricht = ""; // Nachricht, zu dem Bild wenn gewünscht
    
    var request = require('request');
    var fs      = require('fs');
    var picdate = formatDate(new Date(), "JJJJ-MM-TT SS-mm-ss")+'.jpg'; // Snap-Dateinamen
    
    // Bild an telegram schicken
    function sendImage (pfad) {
        setTimeout(function() {
           sendTo("pushover", {
         message: 'Dies ist eine Test-Nachricht', // mandatory - your text message
         title: 'ioBroker', // optional - your message's title, otherwise your app's name is used
         sound: 'magic', // optional - the name of one of the sounds supported by device clients to override the user's default sound choice
                      // pushover, bike, bugle, cashregister, classical, cosmic, falling,
                      // gamelan, incoming, intermission, magic, mechanical, pianobar, siren,
                      // spacealarm, tugboat, alien, climb, persistent, echo, updown, none
        priority: 0, // optional (-2, -1, 0, 1, 2)
                      // -2 to always send as a quiet notification,
                      // 1 to display as high-priority and bypass the user's quiet hours, or
                      // 2 to also require confirmation from the user
        file: '(dest_path + picdate)', // optional - attachment
      //token: 'API/KEY token', // optional - add other than configurated token to the call
      //url: , // optional - a supplementary URL to show with your message
      //url_title: , // optional - a title for your supplementary URL, otherwise just the URL is shown
      //device: , // optional - your user's device name to send the message directly to that device, rather than all of the user's devices
      //timestamp // optional - a Unix timestamp of your message's date and time to display to the user, rather than the time your message is received by our API
    });
        }, 1 * 5); // SENDE DELAY!(timeout) 1 x 5 ms
        sendTo("pushover.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 + 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();
    });
    
    

    Pushover sendet mit dem Skript noch die Nachricht "Dies ist eine Test-Nachricht" aber der snap, also das Bild wird nicht mitgesendet.

    Vielleicht hat einer der Profis hier Zeit und Muße mir da auszuhelfen, oder ist das zuviel verlangt? Ist ja schon etwas Code den man erstmal nachvollziehen muss.

    Viele Grüße

    Chris

    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

    726

    Online

    32.6k

    Benutzer

    82.2k

    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