NEWS
Das Versenden eine JPEG via Telegram funktioniert nicht...
-
Hallo,
ich möchte von meiner IPcam einen Screenshot per Telegram versenden. Das Speichern des Screenshots mit
wget --output-document /opt/iobroker/ipcam/alarm.jpg "http://admin:XXXX@192.168.0.74/cgi-bin/snapshot.cgi?"
funktioniert auch problemlos. Was leider noch nicht funktioniert ist das Versenden des Bildes. Versendung von Text ist kein Problem. Sind hier noch Einstellung seitens Telegram notwendig?
Komme bei dem Thema irgendwie nicht weiter und vielleicht hat ja jemand noch einen Hinweis?ioBroker auf Debian 11
Node.js V14.18.3
NPM 6.14.15
Telegram Adapter v1.11.1 -
@nathandrake sagte in Das Versenden eine JPEG via Telegram funktioniert nicht...:
Was leider noch nicht funktioniert ist das Versenden des Bildes.
ich habe keine Ahnung ob und wie das geht.
Hier verschickst du in meinen Augen nur den Pfad -
probier es mal so. ich lasse mir ein Bild von meiner Kamera schicken wenn ich wissen will, ob sie wirklich offen ist
-
per Script geht es so:
function Telegram_Bild (ip, cam, vUser) { //Bild senden mit Telegram var request = require('request'); var fs = require('fs'); request.get({url: 'http://192.168.243.' + ip + ':88//cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxx&pwd=xxx', encoding: 'binary'}, function (err, response, body) { fs.writeFile('/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) { if (err) { console.error(err); } else { log('Snapshot sent '+ ip); sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam}); } }); }); }
url und Variablen: ip, cam, vUser musst du natürlich anpassen bzw. weglassen wenn du diese nicht brauchst.
-
@frana120500 danke für deine Hilfestellung.
So wie du es machst, mache ich es ja quasi auch. Einfach den Pfadnamen mit dem .jpg angeben, und senden. So ist es ja auch in vielen anderen Beiträgen zu sehen. Bei mir passiert auf Telegram aber rein gar nichts.
Wenn ich das .jpg aus dem Ordner lösche, dann wird der Pfad mit dem Dateinamen als Text gesendet. -
@homoran ja, das hatte ich zunächst auch gedacht. Aber in vielen anderen Beiträgen wird es genau so vorgeschlagen. Und da funktioniert es wohl. Mal sehen, ich bin da hartnäckig und irgendwann wird es funktionieren
-
@nathandrake sagte in Das Versenden eine JPEG via Telegram funktioniert nicht...:
funktioniert auch problemlos
sicher?
geprüft wie groß die Datei ist, bzw lässt sich dieses Bild öffnen?
(ich hatte da auch mal Probleme, Bild war zwar als Datei vorhanden, jedoch ohne Inhalt)möglicherweise auch Kamera abhängig, hab z.b. eine Cam, bei dieser funktioniert der exec block nicht, musste dafür den Befehl abgewandelt in eine javascript Funktion packen, erst dann wurde das Bild verschickt
-
@crunchip ja, das Versenden mit Texten funktioniert zu 100%.
Das Foto hat hat 1920x1080 Pixel und ist 345 kB groß und lässt sich auch öffnen. Ob das für Telegram ein Problem, weiß ich nicht. Aber vielleicht ein guter Hinweis -
@nathandrake sagte in Das Versenden eine JPEG via Telegram funktioniert nicht...:
ist 345 kB groß und lässt sich auch öffnen. Ob das für Telegram ein Problem, weiß ich nicht
ok, wenn das Bild vorhanden und sich öffnen lässt, passt das schon mal, dann sollte auch eine telegram Nachricht mit dem Bild versendet werden, sofern in javascript
-
@crunchip
ja, die Häkchen habe ich auch gesetzt. Habe auch nochmal die Bildqualität bei der Kamera für den Screenshot weiter nach unten geschraubt. Leider keiner Veränderung. Das Bild wird schön brav in /opt/iobroker/ipcam/ abgelegt. Vielleicht muss ich doch mal das Versenden mit Javascript ausprobieren. Vielleicht macht das ein Unterschied.
-
@nathandrake sagte in Das Versenden eine JPEG via Telegram funktioniert nicht...:
Das Bild wird schön brav in /opt/iobroker/ipcam/ abgelegt
und der user iobroker hat Zugriff darauf?
-
@homoran sagte
und der user iobroker hat Zugriff darauf?
Bin jetzt kein Linux Spezialist, aber laut der Dateieigenschaft hat die Gruppe "iobroker" lesenden und schreibenden Zugriff.
Upps, für den Ordern aber nur "Root" -
@nathandrake sagte in Das Versenden eine JPEG via Telegram funktioniert nicht...:
für den Ordern aber nur "Root"
wie kommt denn root dahin??
Warum predigen wir immer nicht als root zu arbeiten -
@homoran habe den Unterordner /ipcam vorhin als root angelegt. Wie bekomme ich es hin, dass der Ordner nur für die Gruppe "iobroker" lesenden und schreibenden Zugriff hat?
-
@nathandrake sagte in Das Versenden eine JPEG via Telegram funktioniert nicht...:
habe den Unterordner /ipcam vorhin als root angelegt.
Und warum wird da als root rumgehampelt?
sudo chown iobroker:iobroker /Pfad/zum/verfummelten/verzeichnis
Und log dich verdammt noch eins nicht als root ein, wenn du keine Ahnung hast!
-
@thomas-braun
ja, danke. Das "verfummelte Verzeichnis" hat jetzt die Berechtigungen für die Gruppe iobroker. Hat leider mein Problem aber noch nicht gelöst. Vielleicht hast du da noch eine Idee, bevor ich hier durch mein "rumgehampel" noch mehr verkehrt mache? -
Wie sehen die Rechte an dem Verzeichnis jetzt aus?
-
@thomas-braun
sieht momentan so aus....
/opt/iobroker/ipcam/
-
Was ist das?
ls -la /pfad/zum/verzeichnis
wird benötigt, keine Screenshots von irgendwelchen GUIs.
-
@thomas-braun
dann einen Screenshot von der Konsole...