NEWS
Bild von Kamera per Pushover senden
-
@Brainbug said in Bild von Kamera per Pushover senden:
Ich hab das jetzt mal getestet. Mit dem Code aus dem Beitrag habe ich ein JS Script angelegt. file Pfad an deine gespeicherte Datei anpassen!
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: '/opt/iobroker/alarm.jpg', // 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 });
Anstatt den Block pushover nimmst du dann steuere und wählst dort unter Javascript usw bis zum Objekt des Script und steuerst mit wahr. Ein paar ms später steuerst du es wieder mit false. Und vor dem versenden noch ein Timeout damit das Bild auch komplett gespeichert wird. Speichern und gleich versenden geht nicht. Und ein paar Sekunden später wird das Bild mit pushover gesendet.
6779_pushover.jpgHi, ich versuche mich auch gerade am Bilder via pushover versenden.
Das Bild meiner IP Kamera kann ich schon mal mittels:code_text ```wget --output-document /opt/iobroker/temp/cam/alarm.jpg 'http://192.XXX.X.XXX/tmpfs/snap.jpg?usr=user&pwd=passwort'`````` code_text
im richtigen Verzeichnis speichern.
Zum Versenden verwende ich das oben aufgeführte javascript.
Mein iobroker läuft auf einer Synology DS unter Docker. Ich habe mein Verzeichnis zum Bilder speichern und versenden in der Docker Konsole erzeugt mit dem Befehl:code_text ```mkdir -p /opt/iobroker/temp/cam/``` code_text
Daher gehe ich davon aus, dass auch der Pfad korrekt ist:
code_text ```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: '/opt/iobroker/temp/cam/alarm.jpg', // 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 });``` code_text
Kann mir jemand sagen was ich falsch mache? Ich hab schon versucht die Rechte der Ordner auf der DS aufzulockern, aber das hat auch nicht geholfen…und das speichern des Bildes in dem Verzeichnis klappt ja auch…und der Text der Nachricht kommt an, nur eben ohne Bild.
Danke schon mal.
-
Ich habe es wirklich lange mit allen möglichen Varianten per Pushover versucht und letztendlich aufgegeben.
Meine Bilder werden per mail versendet.
Das funktioniert jedenfalls sehr zuverlässig.sendTo('phantomjs.0', 'send', { url: 'http://192.168.xxx.xxx:8765/picture/2/current/?_username=xxxxx&_signature=52634d7b92e34c0b5c865eeb8e3d5935741934ad', output: 'picture.png', // default value width: 800, // default value height: 600, // default value timeout: 2000, // default value zoom: 1, // default value 'clip-top': 0, // default value 'clip-left': 0, // default value 'clip-width': 800, // default value is equal to width 'clip-height': 600, // default value is equal to height 'scroll-top': 0, // default value 'scroll-left': 0, // default value online: true // default value }, function (result) { if (result.error) { console.error(JSON.stringify(result.error)); } if (result.stderr) { console.error(result.stderr); } if (result.stdout) { console.log(result.stdout); } console.log(result.output); }); timeout = setTimeout(function () { sendTo("email", "send", { text: '', to: 'xxdddxxx@xxxxmail.com', subject: 'Klingel', attachments:[ {path: '/opt/iobroker/node_modules/iobroker.phantomjs/picture.png', cid: "file1"}, ] }); }, 5000); timeout = setTimeout(function () { sendTo("email", "send", { text: '', to: 'xxdddxxx@xxxxmail.com', subject: 'Klingel', attachments:[ {path: '/opt/iobroker/node_modules/iobroker.phantomjs/picture.png', cid: "file1"}, ] }); }, 5000);
Was ich aktuell noch versuche (aber ohne viel Zeit zu investieren) das ein paar Sekunden nach dem Klingeln ein weiteres Bild verschickt wird. Aber da mache ich irgendwas bei der Zeitschleife falsch.
-
Kann mir jemand sagen was ich falsch mache?
Hast du das Bild schonmal per Explorer auf deinen Rechner kopiert und öffnet es sich dort? Ist der Timeout eingebaut damit das Bild auch gespeichert wird bevor es versendet wird?
-
@Brainbug
Ja das Bild wird vom Explorer geöffnet. Im Pfad liegt auch schon ein Bild mit dem Namen zum testen. Ich drücke dann immer nur kurz die Play Taste am Javaskript, also ohne nochmal ein Bild zu speichern.
Hab auch schon wie woanders erwähnt in der Konsole pushover-notifications auf 1.2.0 gebracht... leider alles ohne Erfolg.Bin kurz davor das Ganze via zPNP-Homematic zu machen, da klappt es. Würde dafür ein virtuellen Schalter anlegen und per Iobroker triggern. Direkt über Iobroker wäre es mir aber am liebsten...
-
Dann weiß ich auch nicht weiter... Eins vielleicht, kannst du das Verzeichnis mal mit iobroker anlegen anstatt in der Konsole? Vielleicht hat dein Konsolen User andere Rechte als iobroker? Also das Verzeichnis komplett löschen und per exec Blockly mkdir -p /opt/iobroker/temp/cam/
-
@Brainbug
hat leider auch nicht funktioniert. Jetzt steht zwar der Ordner auf der Berechtigung von "root" aber es funktioniert immer noch nicht.
Hab auch mal eine niedrigere Auflösung getestet, aber auch ohne Erfolg. Sehr schade. Ich komme halt mit Blockly viel besser zurecht als mit der Logik von Homematic Programmen. Aber dann muss es halt so gehen bis es dann hoffentlich irgendwann implementiert ist. Danke für die Hilfe und schönes Wochenende noch. -
Hallo zusammen,
bei mir wird zwar ein Bild abgelegt aber nicht versendet. Es wird immer nur der LINGk an sich gesendet aber nicht das Bild.
Wenn ich mir die JAVA Version anschaue, steht da bei euch auch etwas von File, bei mir nicht....
Hat sich da was geändert und wie bekomme ich jetzt mein Bild auf´s Handy?Danke
-
@Brainbug Ich komme hier mal ganz spät dazu Ist es möglich, variablen zu nutzen , die ich dann vorher im Blockly belege? Dann wäre das Script universeller einsetzbar.
-
@nerg
Könntest du mir nochmals genauer erklären was du möchtest
Und hast du gesehen das man das Script auch als Blockly erstellen kann:
https://github.com/ioBroker/ioBroker.pushover/issues/5#issuecomment-641392733 -
@Brainbug ich meine globale, scriptübergreifende Variablen. Das geht aber vermutlich nur über selbsterstellte Objekte.
-
Hallo zusammen. Ich hoffe einer von euch kann mir weiterhelfen.
Ich bekomme es hin, dass mir per Telegram und / oder Pushover ein Bild geschickt wird.
Allerdings wird bei neuem Klingeln das Bild nicht aktualisiert, er schickt mir immer das gleiche, alte Bild vom allerersten Mal.
Hat jemand eine Idee?
Hier die Blockly Scripte Kamera Foto verschicken:
Der lange Befehl aus dem "exec" Block ist wie folgt: sudo wget -q -O /opt/iobroker/ipcam/alarm.jpg 'http://benutzername:passwort@172.16.2.210/record/current.jpg'
DANKE für eure Hilfe.
-
den link von der cam mal im browser getestet, ob da alles passt ?
dann versuch mal : wget -O /opt/iobroker/ipcam/alarm.jpg 'http://benutzername:passwort@172.16.2.210/record/current.jpg'
UPDATE: Witzig .... jetzt geht es bei mir selbst nicht mehr
UPDATE vom UPDATE: mein ordner hatte offenbar keine schreibrechte ... nun geht es wieder mit dem Befehl oben
-
der Pushover Block kann offenbar keine Files versenden, hast du den Beitrag hier mal ordentlich gelesen ? Du musst dir mit einem zweiten Skript behelfen, welches du starten und wieder stoppen musst
-
@cinimod Danke für deine Hilfe! Nun hat es bei mir geklappt und zwar ausschließlich mit wget --output-document [Kameralink]
Keine Ahnung warum, aber so geht es sogar mit beiden Adaptern, sprich Telegram als auch Pushover -
aber du benutzt den Pushover Block zum senden? mit "file" als Attribut ?
-
@cinimod Oben ist nur Telegram zu sehen, aber mit dem Pushover Block funktioniert es auch so:
-
Das scheint bei mir nicht zu funktionieren
Nachricht, Betreff, usw. ... alles klein Problem ... das File will er aber so nicht senden.UPDATE: war mein Fehler, geht jetzt !!
Danke für die Info, ist viel übersichtlicher als mit nem zweiten Skript zu arbeiten
-
@cinimod
setze ein delay zwischen erstellung und senden von 200ms, dann gehts