NEWS
Gleiches Problem - Telegram sendet keine Bilder, nur Link
-
@arteck gerne.
Das Blockly:das Skript:
schedule("* * * * *", async function () { sendTo("telegram.0", "send", { text: '192.168.1.124/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=iobroker&password=1obroker' }); });(aus einem Blockly)
https://forum.iobroker.net/assets/uploads/files/1660060307477-bildschirmfoto-2022-08-09-um-17.51.41.png@ing-michel ist doch alles richtig..
und wo verschickst du das Bild.. ich seh da nur ein Text der versendet wird
für ein Bild braucst bissel mehrconst fs = require('fs'); const axios = require('axios'); const bild = '/opt/iobroker/iobroker-data/kamerabild.jpg'; const camUrl = 'http://192.168.1.124/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=iobroker&password=1obroker'; schedule("* * * * *", async function () { sendImage(); }); async function sendImage() { const writer = fs.createWriteStream(bild); try { const response = await axios({ url: camUrl, method: 'get', responseType: 'stream' }) response.data.pipe(writer); return new Promise((resolve, reject) => { writer.on('finish', resolve => { sendTo('telegram.0', { text : bild, disable_notification: false }); }); }); } catch (err) { console.log('Kamera hat ein problem', true); } } -
@ing-michel Du sendest quasi den Text den Du da in der Meldung eingetragen hast...
Und was sollte da jetzt gesendet werden ??
Wenn da ein Bild gesendet werden soll dann fehlt da aber noch einiges...@djmarc75 Moin Marc,
diverse Anleitungen zeigen, dass Telegramm links automatisch erkennen soll; im Zusammenhang mit installiertem Text2Command.
z.B. hier: https://www.youtube.com/watch?v=Sb9zjer_vbo -
@ing-michel ist doch alles richtig..
und wo verschickst du das Bild.. ich seh da nur ein Text der versendet wird
für ein Bild braucst bissel mehrconst fs = require('fs'); const axios = require('axios'); const bild = '/opt/iobroker/iobroker-data/kamerabild.jpg'; const camUrl = 'http://192.168.1.124/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=iobroker&password=1obroker'; schedule("* * * * *", async function () { sendImage(); }); async function sendImage() { const writer = fs.createWriteStream(bild); try { const response = await axios({ url: camUrl, method: 'get', responseType: 'stream' }) response.data.pipe(writer); return new Promise((resolve, reject) => { writer.on('finish', resolve => { sendTo('telegram.0', { text : bild, disable_notification: false }); }); }); } catch (err) { console.log('Kamera hat ein problem', true); } }@arteck said in Gleiches Problem - Telegram sendet keine Bilder, nur Link:
Vielen Dank für das mundgerecht vorbereitete Skript. Das Bild muss also erst lokal gespeichert werden...
Ich werde testen und berichten.
EDIT: es funktioniert; Herzlichen Dank!
-
@ing-michel ist doch alles richtig..
und wo verschickst du das Bild.. ich seh da nur ein Text der versendet wird
für ein Bild braucst bissel mehrconst fs = require('fs'); const axios = require('axios'); const bild = '/opt/iobroker/iobroker-data/kamerabild.jpg'; const camUrl = 'http://192.168.1.124/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=iobroker&password=1obroker'; schedule("* * * * *", async function () { sendImage(); }); async function sendImage() { const writer = fs.createWriteStream(bild); try { const response = await axios({ url: camUrl, method: 'get', responseType: 'stream' }) response.data.pipe(writer); return new Promise((resolve, reject) => { writer.on('finish', resolve => { sendTo('telegram.0', { text : bild, disable_notification: false }); }); }); } catch (err) { console.log('Kamera hat ein problem', true); } }@arteck
Hi, ich würde das Bild auch gern im Vis anzeigen. Gebe ich den Pfad ein, funktioniert es jedoch nicht. Offenbar wird das jpg nicht mit den nötigen Rechten versehen, kann das sein?Auch wenn ich einen Speicherpfad innerhalb des Vis wähle funktioniert es nicht.🤔
-
@arteck gerne.
Das Blockly:das Skript:
schedule("* * * * *", async function () { sendTo("telegram.0", "send", { text: '192.168.1.124/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=iobroker&password=1obroker' }); });(aus einem Blockly)
https://forum.iobroker.net/assets/uploads/files/1660060307477-bildschirmfoto-2022-08-09-um-17.51.41.pngKann telegram die Bilder denn über das Netzwerk von der Kamera abrufen?
Müssen doch lokal zwischengespeichert werden oder?EDIT
Oh, stand ja schon weiter oben.... -
Kann telegram die Bilder denn über das Netzwerk von der Kamera abrufen?
Müssen doch lokal zwischengespeichert werden oder?EDIT
Oh, stand ja schon weiter oben....@david-g
Exakt. Das Bild wird zwischengespeichert. Aber dieses Zwischengespeicherte Bild möchte ich auch im Vis nutze.Aktuell liegt es /vis.0/eigeneBilder/kamerabild.jpg
Auch mit dem Pfad w/opt/iobroker/iobroker-data/files/vis.0/eigeneBilder/kamerabild.jpg
Wird es nicht angezeigt
-
@david-g
Exakt. Das Bild wird zwischengespeichert. Aber dieses Zwischengespeicherte Bild möchte ich auch im Vis nutze.Aktuell liegt es /vis.0/eigeneBilder/kamerabild.jpg
Auch mit dem Pfad w/opt/iobroker/iobroker-data/files/vis.0/eigeneBilder/kamerabild.jpg
Wird es nicht angezeigt
-
@david-g
Exakt. Das Bild wird zwischengespeichert. Aber dieses Zwischengespeicherte Bild möchte ich auch im Vis nutze.Aktuell liegt es /vis.0/eigeneBilder/kamerabild.jpg
Auch mit dem Pfad w/opt/iobroker/iobroker-data/files/vis.0/eigeneBilder/kamerabild.jpg
Wird es nicht angezeigt
Das ist ein Teil aus meinem Skript

<block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="@1th`+1]XUG`ZCTUFaE$" x="62.04432162426312" y="262.33426682894554"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="8}BHH},]]H[@}au9v(9{"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="exec" id="D}C)hM0-fx)Wqd=6B+Mj"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="#.^jc[0zE^[OiazhMF}l"> <field name="TEXT">wget -O /opt/iobroker/snapshot/bild.jpg 'http://192.168.99.44/snapshot.jpg?user=xxxx&pwd=xxxxx&strm=1'</field> </shadow> </value> <next> <block type="timeouts_settimeout" id="IHKuLLa5]oXbl$^9t|-F"> <field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="telegram" id="SqJ~@3mh/UY:D8rR:x[6"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="Khu{v^q4H$`GJD4x+%qG"> <field name="TEXT">/opt/iobroker/snapshot/bild.jpg</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> </block> -
@ing-michel die Antwort dazu steht z.b. hier
@peterfido sagte in Gleiches Problem - Telegram sendet keine Bilder, nur Link:
@ing-michel die Antwort dazu steht z.b. hier
dann brauche ich dir das ja nicht im anderen Thread zu verlinken :-)
-
@peterfido sagte in Gleiches Problem - Telegram sendet keine Bilder, nur Link:
@ing-michel die Antwort dazu steht z.b. hier
dann brauche ich dir das ja nicht im anderen Thread zu verlinken :-)
@homoran @peterfido
that's it!Danke Euch beiden!