NEWS
[gelöst]Telegram versendet kein Bild
-
@glasfaser sagte in Telegram versendet kein Bild:
kann nicht sein ...
uh... bei mir kommt mit dem Skript aber auch der Fehler !
-
@glasfaser
Habe ich gemacht
Leider ohne Erfolg@DJMarc75
Reboot hat leider auch nicht geholfen -
-
@glasfaser
Die Datei wird auch angelegt aber nicht versendet -
-
@glasfaser
Da bekomme ich keine Fehler im Log ober es kommt auch nichts anjavascript.0 2022-10-31 19:13:57.243 info script.js.Test01: Snapshot sent javascript.0 2022-10-31 19:13:56.992 info script.js.Test01: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2022-10-31 19:13:56.989 info Start javascript script.js.Test01
-
User eventuell gesperrt ... schau mal in der APP in dem Telegram Account
-
@glasfaser sagte in Telegram versendet kein Bild:
User eventuell gesperrt ... schau mal in der APP in dem Telegram Account
Nein
Ein Normaler Text kommt an -
Meint ihr nicht, dass man mal strukturierter da dran gehen müsste.
-
Prüfen ob Bild gespeichert wird (und nicht nur eine leere Hülle) von der cam
Ich benutze das gleiche Script wie @Glasfaser
Also mit fs.write -
Prüfen ob irgendein Bild (was schon gespeichert ist) versendet wird per telegram
-
Beide Teile zusammen fügen.
-
-
@bahnuhr
@Glasfaser
Ich habe jetzt mal das Blockly gelöscht
Dann neu erstellt und nur den Telegram Block eingefügt
Dann kommt das Bild an
Wenn ich nun den wget Block wieder hinzufüge bekomme ich wieder den FehlerEDIT:
Warum auch immer
Ich habe mal meine ID aus dem Telegramadapter gelöscht und bin dann dem Bot neu beigetrettenJetzt geht es
-
@wszene sagte in Telegram versendet kein Bild:
Jetzt geht es
Das versteht aber jetzt auch keiner.
Was hast du denn jetzt anders gemacht.
Komisch. -
@Wszene
..... und welches Skript funktioniert jetzt !? -
@bahnuhr
Nicht alles so wie vorher
@glasfaser
Das Blockly
Dein JS leider immer noch nicht -
@wszene
Und Achtung.
Caption ging bei Bild versenden mit blockly nicht.
Nur mit JS.Zumindest war es einmal so.
-
@wszene sagte in Telegram versendet kein Bild:
Das Blockly
Dann stell dies doch einmal hier ein.
Damit andere bei Bedarf vielleicht drüber stolpern. -
OK Hier meine Lösung
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="AufBildWarten">AufBildWarten</variable> <variable type="timeout" id="timeout2">timeout2</variable> </variables> <block type="control" id="y:Yo$BD0R7HXpmh0?%dX" x="138" y="-88"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.01_Kameras.Outdoor_Kueche.Bewegung_erkannt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="$Qo(*v8X:U3Llb]B2(Cy"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on" id="`BRg0nHs|bAb{C=lMOx7"> <field name="OID">0_userdata.0.01_Kameras.Outdoor_Kueche.Bewegung_erkannt</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="exec" id="JUF$);$vM^C/hqZU6F;+"> <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="!=R9Uc2`cGx3PO1O}sgE"> <field name="TEXT">wget --output-document /opt/iobroker/motioneye/kueche/kueche.jpg 'http://IPADRESSE/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=123456789&user=USERNAME&password=USERPASSWORD'</field> </shadow> </value> <next> <block type="timeouts_settimeout" id="+Nr%sPOIn1~*2n-fpBrm"> <field name="NAME">AufBildWarten</field> <field name="DELAY">1500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="telegram" id="8vlNIepskckOpGWI*dm#"> <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="lSYO@0ZUnM/d9_rsZA6="> <field name="TEXT">/opt/iobroker/motioneye/kueche/kueche.jpg</field> </shadow> </value> </block> </statement> <next> <block type="timeouts_settimeout" id="17*9b]kn@f%+^qe]eKk8"> <field name="NAME">timeout2</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="e*-|(=$$WOsXlb7RU7H3"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.01_Kameras.Outdoor_Kueche.Bewegung_erkannt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="5#/hf=e%tbKe-vN~Bg1+"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
Wegen dem Warten - das man man weglassen wenn:
Das ganze Senden einfach in den Ergebnis-Block packt. Der wird erst ausgeführt wen der Exec-befehl fertig ist.
Nebenbei könnte man auch Rückgabewerte bzw. den Fehlercode prüfen:Die 3 Variablen mit den entsprechenden Namen einfach anlegen
Anmerkung: Ich speichere meine Bilder lieber im
/tmp/
Verzeichnis -
@bananajoe
Viele Dank das ist eine sehr gute Idee
Was ich nur noch nicht verstehe sind die Variablen in deinem Debug-Block
Mit was lasse ich diese befüllen -
Du musst die Variablen nur anlegen - mit den genauen Namen
Die kommen dann vom exec Block bzw werden vom exec Block geschrieben -
@wszene die werden automatisch befüllt.
Im Prinzip rufst du ja ein Programm auf der Befehlszeile auf.In
result
steht dann was das Programm an Text ausgibt, beiecho Hallo Welt
alsoHallo Welt
Entspricht auch1>
bei Textumleitungen falls dir das etwas sagt.Zudem gibt jedes Programm einen Fehlercode zurück. Klappt ein Befehl so ist das in der Regel eine
0
,
jeder andere Wert heißt das es einen Fehler gab. Dieser Wert steht inerror
Zusätzlich kann ein Programm ja auch Fehlermeldungen als Text ausgeben, das kann ein eigener "Kanal" sein, bei einer Textumleitung wäre das
2>
. Das steht instderr