NEWS
Telegram Bild direkt schicken, ohne Zwischenspeichern
-
@coyote ich glaube du musst den link übergeben als text nicht das fs objekt
entsprechende code im adapter ist da:
https://github.com/iobroker-community-adapters/ioBroker.telegram/blob/b94deeea6c2afdb9f37c8f05eb9b4d88e01ca4f2/main.js#L602bsp:
sendTo('telegram.0', { chatId : getState('telegram.0.communicate.requestChatId'/*User ID of last received request*/).val, text : "https://cdn.prod.www.spiegel.de/images/371e5371-21a1-4e98-818d-fa44aa58bf7a_w872_r1.77_fpx50_fpy22.jpg", type: 'photo' });
-
@Ralla66 best.jpg wird immer bei Objekterkennung überschrieben. Gebe ich diesen Pfad im Browser ein, ist ja das Bild da.
Daher verstehe ich nicht, warum er sagt "no such file or directory", das Bild ist definitv vorhanden -
@coyote vielleicht hat dein iobroker keine lese rechte?
-
@Nahasapee hm, ist ein Argument. Jetzt ist die Frage, wie gebe ich ioBroker lese Rechte, falls es daran liegt
-
@coyote
das ist wohl eher das hier:
da es ja eh auf dem anderen Rechner hinterlegt ist
Direkt von der Cam geht ja. -
@coyote chmod o+r MyFile
-
@Nahasapee @Ralla66 aber egal von welchem Gerät im Netzwerk ich diese URL aufrufe, bekomme ich das Bild angezeigt, zumindest im Browser
-
@coyote
ja ok, dann teste Telegramm,
leg das Bild ab wo Telgramm läuft und rufe das ab im Browser und mit Telegramm. -
@coyote hast du den code oben versucht von mir? ich kann das bild ohne zwischenspeichern verschicken!
-
@Ralla66 wenn ich es so wie im ersten Post (letzter Code Tag) abrufe und zwar nicht direkt die URL der Cam, sondern die URL mit Endung /best.jpg, dann als "cambild.jpg" unter einem Verzeichnis in ioBroker speichere und das wiederum mit Telegram verschicke, geht es ohne Probleme
-
@Nahasapee werde ich morgen mal testen, vllt geht das
-
@Nahasapee geht leider auch nicht.
telegram.0 2020-12-08 05:56:03.874 error (20198) Cannot send photo [chatId - 182393659]: Error: ETELEGRAM: 400 Bad Request: wrong file identifier/HTTP URL specified
-
@coyote zeig Mal dein code
-
@Nahasapee mehr ist es nicht
sendTo('telegram.0', { text : "http://192.168.XX.XX:5000/garage/car/best.jpg", type: 'photo' });
-
@coyote blöde Frage aber für die xx schreibst du schon die richtige IP Adresse rein ?
-
@Nahasapee natürlich
EDIT: Gleicher Fehler kommt im Log, wenn der Webserver abgeschaltet ist. Seltsam.
Macht es einen Unterschied, weil der im Webserver im Docker läuft?
Ich verstehs eben nicht, weil ich diese URL ja von überall im Netzwerk erreichen kann -
@coyote gehts denn wenn du , wie ich oben von Spiegel.de nen Bild ziehst? ne Firewall hängt aber nicht noch dazwischen die eventuell blockt?
.... oder mal direkt von deinem Broker:
sendTo('telegram.0', { chatId : getState('telegram.0.communicate.requestChatId'/*User ID of last received request*/).val, text : " https://192.168.178.60:8081/img/no-image.png", type: 'photo' });
-
@Nahasapee sagte in Telegram Bild direkt schicken, ohne Zwischenspeichern:
ich merk gerade das letzte geht bei mir auch nicht, mit spiegel aber schon....vielleicht kommt er mit den ports nicht klar
-
@Nahasapee ich glaub der telegram dienst veruscht das bild wenn es per http adresse rein kommt selber abzuholen und kommt logischerweise nicht ins netzwerk rein, vermutlich musst du es dir doch vorm verschicken lokal abspeichern und dann halt wieder löschen.
-
@Nahasapee hm ok, wenn du es ja jetzt auch ausprobiert hast und es auch nicht geht, ist es eben so... Ja genau, lokal speichern und dann schicken ist ja kein Problem, das geht.
Wie gesagt, dachte eben, da das Bild ja schon vorhanden ist, könnte ich es direkt weiterleiten