NEWS
Bild von Kamera per Pushover senden
-
Ich bin im Besitz einer hikam a7 die allerdings keinen snapshot kann.
Besteht die Möglichkeit mit einem Tool den stream abzugreifen und davon einen Snapshot zu machen um das Bild zu verschicken?
Jemand eine Idee? `
Auch nicht über ONVIF?
Ich nutze dafür https://github.com/futomi/node-onvif
-
Ich bin im Besitz einer hikam a7 die allerdings keinen snapshot kann.
Besteht die Möglichkeit mit einem Tool den stream abzugreifen und davon einen Snapshot zu machen um das Bild zu verschicken?
Jemand eine Idee? `
Auch nicht über ONVIF?
Ich nutze dafür https://github.com/futomi/node-onvif `
das kenn ich nicht, kann man das am rpi installieren?
-
das kenn ich nicht, kann man das am rpi installieren? `
Das ist ne javascript library. Natürlich..
Und ONVIF ist ein allgemeiner Standard für IP security Geräte.
-
@Brainbug:Deine Lösung nennt sich entprellen: viewtopic.php?p=219749&sid=a8441d41af5f … 6f#p219749 `
DANKE! So gefällt mir das besser. Auf die Lösung wäre ich allerdings nie selbst gekommen.
-
ich hab eine lösung mit ffmpeg bei mir seit 2 tagen am laufen..funktioniert wirklich gut ohne probleme
-
@Brainbug
Kannst Du mir nochmal helfen? Ich hab das Skript zwar jetzt aufgesetzt. Aber ich vermute irgendwas habe ich vermutlich mit dem Entpreller falsch gemacht. Denn es funktioniert jetzt offenbar gar nicht mehr. Den Fehler seh ich aber leider nicht…
-
Besser ist wenn du anstatt der Variable Entpreller einen eigenen Datenpunkt ( unter Objekte ) anlegst. Dann kannst du diesen mit true und false steuern und er ist immer Verfügbar.
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201902 ... ca4665.jpg">https://uploads.tapatalk-cdn.com/20190203/a91464e42a0f151c2f692e3bf6ca4665.jpg</link_text>" /> -
Hallo,
was müsste ich als Befehl eingeben um das Bild von meiner Kamera auf den Windows PC zu zu kopieren z.B. auf c;/, da iobroker unter Windows läuft?
-
das kenn ich nicht, kann man das am rpi installieren? `
Das ist ne javascript library. Natürlich..
Und ONVIF ist ein allgemeiner Standard für IP security Geräte.
-
@dan11hh Kannst du nochmal genau beschreiben was du gemacht hast?
Bei mir kommt die Message zwar an, aber das Bild wird nicht mit gesendet. Das Bild für korrekt abgelegt und ist vorhanden. Aber es wird nicht mit Pushover mit gesendet. -
Hallo zusammen,
ich habe gerade versucht, ein Bild von Motioneye bei Bewegungserkennung an Telegram zu senden.
Bein Script sieht folgendermaßen aus (so ähnlich wie bei euch):Unter Befehl haben ich folgenden Link von Motioneye eingefügt (so wie man ihn als Snapshot URL vorgegeben bekommt.
sudo wget -q -N -O /tmp/auffahrt.jpg http://[meine-IP]:8765/picture/3/current/?_username=admin&_signature=[meine Signature]
Wenn ich das Script ausführe, kommt folgende Meldung vom Telegram Adapter im Log:
cannot send photo [chatId - [mein Chat ID]]: Error: ETELEGRAM: 400 Bad Request: file must be non-empty
Scheinbar speichert ioBroker eine leere Datei ab. Im Temp Ordner ist die Datei auch unter dem Namen abgespeichert.
Hat jemand eine Idee, wie ich das lösen kann? Ist der Link falsch? Wie sieht der bei euch aus?
Viele Grüße von einem Newbie,
Mario -
Ich habe auch den selben Fehler
telegram.0 2019-05-04 21:46:31.701 error Cannot send photo [chatId - 802104283]: Error: ETELEGRAM: 400 Bad Request: file must be non-empty
Die jpg Datei ist da, aber hat keinen Inhalt.
FEHLER gefunden: Mein Passwort für die Kamera war falsch.
-
Mein Befehl sieht so aus:
wget --output-document /opt/iobroker/ipcam/alarm.jpg 'http://user:password@192.168.178.178/Streaming/channels/1/picture'
-
@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