NEWS
Pushover und file: mitschicken
-
Das Script soll ein Kamerabild bei Auslösung über pushover senden.
Leider wird das Bild nur als Pfad gesendet und nicht als Bild.Kann sich das mal bitte wer ansehen wo ich da meinen Denkfehler habe?
INFO: In der function "sendPushover" mit "file: dest_path", kommt gar kein pushover mehr durch.var timer; var request; var message = "CAM Aktion erkannt" // Netatmo Datenpunkt auf Änderung prüfen on('netatmo.0.Mein-Haus.LastEventData.LastEventId', function (obj) { // max. alle 30 sec if (!timer) { timer = setTimeout(function () { timer = null; }, 30000); } saveImage(); }); function saveImage() { var fs = require('fs'); var source_url; // Datum und Zeit var today = new Date(); var d = new Date(); var mm = d.getMonth() + 1; var dd = d.getDate(); var yy = d.getFullYear(); // Doppelpunkte im string druch - ersetzen var timestamp = today.toLocaleTimeString().replace(/:/g,"-"); // Zielpfad + Dateiname var dest_path = '/opt/iobroker/iobroker-data/files/webcam/' + 'image-' + dd + '-' + mm + '-' + yy + '-' + timestamp + '.jpg' ; log(dest_path); //---- aktuelle URL für Bild holen. -------------------------------------- // LastEventId selektieren var LastEventId = getState("netatmo.0.Mein-Haus.LastEventData.LastEventId").val; // Fuer Event CamId fuer LastEvendId selektieren var id_path = 'netatmo.0.Mein-Haus.Events.' + LastEventId + '.camera_id'; var CamId = getState(id_path).val; // CAM IDs selektieren var CAM1 = getState("netatmo.0.Mein-Haus.Vorplatz.info.id").val; var CAM2 = getState("netatmo.0.Mein-Haus.Wohnzimmer.info.id").val; // Welche CAM hat angeschlagen if (CamId === CAM1) { source_url = getState("netatmo.0.Mein-Haus.Vorplatz.live.picture").val; } else if (CamId === CAM2) { source_url = getState("netatmo.0.Mein-Haus.Wohnzimmer.live.picture").val; } else { log('keine CAM erkannt'); source_url = 0; } if (source_url) { request.get({url: source_url, encoding: 'binary'}, function (err, response, body) { fs.writeFile(dest_path, body, 'binary', function(err) { if (err) { setTimeout(function() { sendPushover('Fehler beim Bild speichern!'); }, 2000); } else { setTimeout(function() { sendPushover(dest_path); }, 2000); } }); }); } } // Bild oder Text über Pushover senden function sendPushover (fname) { try { sendTo('pushover.0', { title: fname, message: message, //file: dest_path, //disable_notification: true }); } catch(err) { if (err.code != "ENOENT") log(err); } setTimeout(function() { }, 3000); }
-
Das folgende Skript hat sehr ähnliche Funktionen (dort wird ein Bild gesendet per Email).
Eventuell gibt es analogien:https://forum.iobroker.net/topic/29461/aufruf-welche-guten-javascripts-setzt-ihr-ein/25
-
Danke, ich hab es umgeschrieben von einem Telegramm Script.
Nur das das bei Pushover anscheinend anders funktioniert hab ich nicht gedacht.
Beim Mail ist es wieder anders.Gibt es niemanden der das mit Pushover schon realisiert hat?
Liebe Grüße Erich
-
Hallo,
da werden sie geholfen:
https://github.com/ioBroker/ioBroker.pushover/issues/5#issuecomment-443413012
-
danke für die info. das hab ich installiert, aber es ist meines Erachtens ein scriptfehler vorhanden. Ich finde ihn leider nicht.