NEWS
[gelöst]Telegram Adapter Bilder verschicken
-
Hallo zusammen
Ich habe da mal eine Frage ob mir jemand einen Tip geben kann....
Ich habe folgendes Blockly erstelle und will gerne das gefundene Bild im Ordner verschicken.
Trage ich bei Telegram den direkten Pfad ein dann wird das Bild verschickt.
Benutze ich die Variable "help2" wird mir nur der Pfad und der Dateiname zugeschickt.
Irgendwie wird das "result" nicht verarbeitet.
Gibt es da noch ein Trick oder habe ich ein Denkfehler?
Grüße und besten Dank schon mal.
Marko -
@eisbaer721 das Konvertieren zu String muss im exec weg und bei "setze help2" angefügt werden.
-
@djmarc75 nein. Leider nicht. Es wird nur "/opt/iobroker/test/alarm.jpg" verschickt.
-
@eisbaer721 setz mal ein Debug, lass dir das result dort mal ausgeben und poste das Ergebnis.
-
Danke schon mal für deine Hilfe.
Es kommt bei result genau der Dateiname raus.
Das sieht alles gut aus. Ich habe schon viele Versionen getestet.
Irgendwie bekomm ich das result nicht so wirklich als Text formatiert damit es bei dem Telegramblock verarbeitet wird.
ich habe sogar schon probiert das Ergebnis als Datenpunkt zu speichert. Aber trotzdem verschickt
Telegram dann immer nur den Pfad. -
@eisbaer721 Also eigentlich braucht es die help2 Varianble nicht.
Ebenso kannst Du mal die Konvertierung komplett weglassen.
Bei mir funktioniert es nach folgendem Prinzip: -
@djmarc75
So geht es bei mir auch :
Nur sobald ich mit result arbeiten möchte aus den Exec-Block wird komischerweise nur der Pfad verschickt:
-
@eisbaer721 ob Du nochmal das Debug wie oben schon einfügen kannst und dann aber mal auf Loglevel Error setzen ?!
EDIT: dann nochmal Screenshot posten
-
Aber ich komme der Sache näher.....
Ich habe mal den Adapter Telegram auf Debug gesetzt und im Protokoll erkenne ich das er den Befehl ganz anders verarbeitet.Richtig : wenn ich bei Meldung ohne result arbeite.
2022-09-11 17:23:34.806 - debug: telegram.0 (340484) Received command "send": {"text":"/opt/iobroker/test/alarm.jpg"} 2022-09-11 17:23:34.807 - debug: telegram.0 (340484) Send photo to "*******": /opt/iobroker/test/alarm.jpg 2022-09-11 17:23:34.995 - debug: telegram.0 (340484) Request: {"message_id":15536,"from":{"id":*****,"is_bot":true,"first_name":"Iobroker","username":"*******"},"chat":{"id":*****,"first_name":"****","username":"******","type":"private"},"date":*******,"photo":[{"file_id":"AgACAgIAAxkDAAI8sGMd_XZ2IlPOBANUE10MSz7442iyAAK2vTEbmEjhSM0xhAJbWojHAQADAgADcwADKQQ","file_unique_id":"AQADtr0xG5hI4Uh4","file_size":1321,"width":90,"height":49},{"file_id":"AgACAgIAAxkDAAI8sGMd_XZ2IlPOBANUE10MSz7442iyAAK2vTEbmEjhSM0xhAJbWojHAQADAgADbQADKQQ","file_unique_id":"AQADtr0xG5hI4Uhy","file_size":19644,"width":320,"height":176},{"file_id":"AgACAgIAAxkDAAI8sGMd_XZ2IlPOBANUE10MSz7442iyAAK2vTEbmEjhSM0xhAJbWojHAQADAgADeAADKQQ","file_unique_id":"AQADtr0xG5hI4Uh9","file_size":63280,"width":640,"height":352}]} 2022-09-11 17:23:34.995 - debug: telegram.0 (340484) Photo sent
mit Result:
2022-09-11 17:29:51.536 - debug: telegram.0 (340484) Received command "send": {"text":"/opt/iobroker/test/alarm.jpg\n"} 2022-09-11 17:29:51.536 - debug: telegram.0 (340484) Send message to "*****": /opt/iobroker/test/alarm.jpg 2022-09-11 17:29:51.606 - debug: telegram.0 (340484) Request: {"message_id":15539,"from":{"id":*****,"is_bot":true,"first_name":"****","username":"******"},"chat":{"id":*******,"first_name":"*****","username":"*****","type":"private"},"date":1662910191,"text":"/opt/iobroker/test/alarm.jpg"} 2022-09-11 17:29:51.607 - debug: telegram.0 (340484) Message sent
Jetzt frage ich mir nur wieso in der {"text":"/opt/iobroker/test/alarm.jpg\n"} das \n drin ist und wo es her kommt. Muss irgendwie der Adapter erzeugen.
-
@eisbaer721 sagte in Telegram Adapter Bilder verschicken:
Aber ich komme der Sache näher.....
Ich habe mal den Adapter Telegram auf Debug gesetzt und im Protokollund ich frage mich warum Du da überhaupt was abfragst... ist in dem "Ding" was Du abfragst immer ein unterschiedliches JPG ? oder heisst das immer Alarm ?
Prinzipiell solltest Du mal den JS Adapter neu starten
-
@djmarc75 Dieses hier ist ja nur ein Teil vom Skript zum testen und ausprobieren.
Meine Kamera speichert die Videos und Fotos schön brav im Ordner auf mein NAS.
Ich möchte damit erreichen das wenn ein Alarm ausgelöst wurde und eine neue Datei gespeichert wurde mir diese letzte Datei per Telegram zum Handy geschickt wird.
Bevor ich das mit Videos teste wollte ich erstmal mit Fotos beginnen.
Den JS Adapter habe ich schon neu gestartet. -
@eisbaer721 sagte in Telegram Adapter Bilder verschicken:
diese letzte Datei per Telegram zum Handy geschickt wird
und diese letzte Datei heisst immer gleich ?Also "Alarm" ? Ich frag jetzt mal nach weil man dann den Trigger komplett anders setzen könnte und dann auch die Abfrage gezielter gestalten kann.
-
@djmarc75 nein. Die letzte Datei ist immer das Datum und die Uhrzeit der Aufnahme daher fand ich den Befehl so sehr logisch und einfach.
Dieses ist ja nur zum testen ob überhaupt auf diese Weise was verschickt wird.
Ich bin auch leider nicht der Java-skript experte.
Aber leider stört wohl dieses /n was der Telegram adapter erzeugt. -
@eisbaer721 sagte in Telegram Adapter Bilder verschicken:
dieses /n
dann setz doch das "erstelle Text aus" mit den 2 Zeilen (ls /opt...) doch einfach mal in eine Zeile...
Vll kommt der Zeilenumbruch wegen den 2 Zeilen ?! -
@eisbaer721 oder aber:
-
@djmarc75
Jau. Deine Idee war gut. Mit einem kleinen Fehler. Die -3 muss eine positive 2 sein.
Einfach die 2 letzten Stellen streichen im result dann ist auch das \n weg und es funktioniert.
Danke schön für deine Hilfe.
Einen schönen Abend noch.
Gruß
Marko -
@eisbaer721 sagte in Telegram Adapter Bilder verschicken:
Die -3 muss eine positive 2 sein
Ja, die letzen 2 streichen, so war der Plan.
Freut mich wenn ich Dir helfen konnte -