Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

Begonnen von viegener, 20 Juni 2015, 18:59:41

Vorheriges Thema - Nächstes Thema

Himbi777

Zitat von: knopf_piano am 31 Mai 2016, 21:56:29
Falls ich jetzt - wie vorher immer funktionierte - die message per funktion in eine $var schreibe und folgenden Aufruf dann tätige
set bot message $var
Originalaufruf innerhalb at
fhem("set myBot message $preamble$finalMsgText");;\
erhalte ich die Fehlermeldung
"sentMsgResult NonBlockingGet timed out on read from <hidden> after 30s"

Dieses Problem konnte ich beheben, indem ich hier die Variable $var noch folgendes angehangen habe.  ."."
War natürlich bei ca. 20 verschiedenen Telegram_Bot Aufrufen etwas Arbeit.

Was bei mir auch noch aufgefallen ist, in meiner Anwendung der Unwetterzetrale, werden (gerade jetzt bei den vielen Unwetterwarnungen) mehrere Meldungen in kurzer Zeit an mehrere Empfänger geschickt, hier werden ebenso Meldungen mit der Fehlermeldung  "sentMsgResult NonBlockingGet timed out on read from <hidden> after 30s"  quittiert und nicht veersendet, obwohl der Aufruf dazu immer gleich ist.

Gruß Himbi777
Raspberry Pi4, OMV, FHEM, FHEM-App // Tasmota-Geräte, Zigbee2Tasmota,

knopf_piano

Hi viegener,
ist es eigentlich auch möglich, Sonderzeichen/literals
U+27F2 oder \xe2\x9f\xb2
auf den Bot zu schicken?
Ist nicht dringend, würde nur die Lesbarkeit für mein Kalendercheck aus dem thread hier erhöhen
https://forum.fhem.de/index.php/topic,53207.0.html
zotac nano mit proxmox und ganz viel zeug drauf

andre07

Ich versuche gerade den code hier im Thread von Reinerlein zum laufen zu bringen
:msgText:.received.voice.* { my $url = fhem("get $NAME urlForFile ".ReadingsVal($NAME, 'msgFileId', ''));
  my $fileName = "${NAME}_$1" if ($url =~ m/.*\/(.*)/);
  my $newFileName = "$1.mp3" if ($fileName =~ m/(.*)\..*/);

  writeFile('/mnt/SonosSpeak/'.$fileName, get($url));
  qx(/usr/bin/avconv -i /mnt/SonosSpeak/$fileName /mnt/SonosSpeak/$newFileName);
  fhem('set '.ReadingsVal($NAME, 'currentSpeakPlayer', 'tmperror').' PlayURITemp \\\\192.168.178.108/SonosSpeak/'.$newFileName.' '.ReadingsVal($NAME, 'currentSpeakVolume', 5));
}


Bekomme dann aber das hier im log zurückgeliefert

2016.06.06 20:21:34 3: sonos_telegrambot return value: Unknown command {, try help.
Unknown command my, try help.
Unknown command my, try help.
Unknown command writeFile('/mnt/SonosSpeak/'.$fileName,, try help.
Unknown command qx(/usr/bin/avconv, try help.
Unknown command fhem('set, try help.
Unknown command }

Wenn ich ${NAME}_$1 abändere in $NAME schreibt er mir zwar eine Datei legt es aber nicht als mp3 ab.
avconv ist installiert
Andre

Merlin1

Ich versuche grad SendPhoto/Image zum Laufen zu bekommen.
Erst hatte ich nur eine Fehlermeldung, dann habe ich die Testversion installiert.
Jetzt bekomme ich viel Debug im Log und folgenden Fehler:

--TelegramBot_boundary-x0123--:
2016.06.06 23:06:30 3: TelegramBot_Callback merlin1bot: resulted in :Callback returned error:IMAGE_PROCESS_FAILED:: from SendIt
2016.06.06 23:06:30 3: TelegramBot_Callback merlin1bot: Reached max retries (ret: Callback returned error:IMAGE_PROCESS_FAILED:) for msg xxx : /opt/fhem/www/snapshots/Cam2_snapshot.jpg

System und Raspberry sind sonst alle auf dem aktuellen Stand.

viegener

Zitat von: Merlin1 am 06 Juni 2016, 23:16:21
Ich versuche grad SendPhoto/Image zum Laufen zu bekommen.
Erst hatte ich nur eine Fehlermeldung, dann habe ich die Testversion installiert.
Jetzt bekomme ich viel Debug im Log und folgenden Fehler:

--TelegramBot_boundary-x0123--:
2016.06.06 23:06:30 3: TelegramBot_Callback merlin1bot: resulted in :Callback returned error:IMAGE_PROCESS_FAILED:: from SendIt
2016.06.06 23:06:30 3: TelegramBot_Callback merlin1bot: Reached max retries (ret: Callback returned error:IMAGE_PROCESS_FAILED:) for msg xxx : /opt/fhem/www/snapshots/Cam2_snapshot.jpg

System und Raspberry sind sonst alle auf dem aktuellen Stand.


Bitte nicht die Testversion installieren, wenn Du kein Problem mit Umlauten hast. Die Fehlermeldung kommt bei der Testversion für Bilder.
Welche Fehlermeldung kam denn vorher?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Merlin1

Zitat von: viegener am 07 Juni 2016, 01:29:33

Bitte nicht die Testversion installieren, wenn Du kein Problem mit Umlauten hast. Die Fehlermeldung kommt bei der Testversion für Bilder.
Welche Fehlermeldung kam denn vorher?
Im Last Error " NonBlockingGet timed out on read from after 30s "

Ich habe dann eine alte Version installiert, damit ich mit dem Skript vorankomme. Version 1.5. und da lief es auf Anhieb.

andre07

; war der übeltäter aber wie das so ist bei copy paste übersieht man leicht mal was
Ansonsten tolles Modul macht mir vieles einfacher......

viegener

Zitat von: knopf_piano am 05 Juni 2016, 18:04:40
Hi viegener,
ist es eigentlich auch möglich, Sonderzeichen/literals
U+27F2 oder \xe2\x9f\xb2
auf den Bot zu schicken?
Ist nicht dringend, würde nur die Lesbarkeit für mein Kalendercheck aus dem thread hier erhöhen
https://forum.fhem.de/index.php/topic,53207.0.html

Bisher gibt es das nicht, ich nehme das mal auf meine Todoliste, ist aber momentan etwas knapp ich versuche immer noch rauszufinden was momentan die Probleme mit Umlauten auslöst.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

knopf_piano

kein streß damit.
Das ist ja nicht so wichtig, freut mich aber, wenn du's als Idee mit aufnimmst.
Grüße!
zotac nano mit proxmox und ganz viel zeug drauf

Ralli

Ich habe nach dem Update auf die Version 11548 2016-05-29 15:34:26Z viegener das folgende Problem:


2016.06.08 18:08:35 3: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2016.06.08 18:08:35 3: TelegramBot_Callback Telegram: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg Ralli : ÜEA: Garagentor Benachrichtigung


Es liegt am Ü. Nehme ich das Ü aus der zu sendenden Nachricht raus, klappt's.
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240420) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

viegener

Danke für Eure Geduld, leider bin ich aber mit der Ursache für das Problem beim Versenden von Umlauten noch nicht wirklich auf den Grund gekommen. Status:
- Mit der Aktuellen Version aus dem SVN geht das problemlos bei mir
- Mit der testversion geht es ebenfalls bei mir und auch bei einigen anderen (in zumindest einem Fall sorgt es aber für Fehlkonvertierung von Zeichen) --> trotzdem ist es nur eine Testversion und sollte nur dazu dienen das Problem näher einzukreisen

Aktueller Plan, die gesamt Behandlung der Nachrichten sowohl von telegram als auch aus fhem nochmals durchgehen und die gesamte Behandlung von unicode codierungen neu machen. Das dauert aber leider noch etwas.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

PeterS

Hallo viegener
Die Version 11395 läuft bei mir stabil.
Die Version 11548 steigt regelmäßig mit NonBlockingGet timed out on read from <hidden> after 65s aus.

Laut API lassen sich auch Nachrichten als html versenden (Fettschrift).
Dein Modul unterstützt das aber nicht, oder ?

Gruß Peter

scooty

Zitat von: viegener am 09 Juni 2016, 00:49:04
Aktueller Plan, die gesamt Behandlung der Nachrichten sowohl von telegram als auch aus fhem nochmals durchgehen und die gesamte Behandlung von unicode codierungen neu machen. Das dauert aber leider noch etwas.
Kein Thema, ist ja auch eher ein "kosmetisches" Problem, ohne Umlaute funktioniert es ja hervorragend.
Und überhaupt: vielen Dank für's Kümmern.  :)

Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol

Otto

Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

marvin78

Steht unter dem Video.

Es gibt hier im Forum auch noch einige gute Beispiele, wie sowas zu machen ist. chatbot wäre ein Stichwort.