Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

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

Vorheriges Thema - Nächstes Thema

viegener



@tiroso: Das passt, bin gerade aus dem Urlaub wiedergekommen. Ich kann das Problem nachvollziehen und es ist ein Fehler in meinem Modul, der bei der letzten Umstellung hereingekommen ist, Sorry dafür

Wird später heute noch ins SVN kommen und dann ab morgen per update verteilt. Bin gerade noch dabei ein anderes Problem bei den Kontakten und Umlauten zu lösen.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Neue Version ist im SVN mit folgenden Fixes:
- Bildbeschreibungen können wieder bei sendImage mitgesendet werden --> forum 455762
- Kontakte mit Umlauten werden jetzt auch korrekt nach Neustart gesetzt (generell für UTF-8-Zeichen)

ab morgen per update verfügbar
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

tiroso

Danke dir für die schnelle Reaktion und für das noch schnellere Hotfix. :)

Gesendet von meinem SM-G900F mit Tapatalk


scooty

Hallo,

habe ein Problem mit Nachrichten, die Umlaute enthalten, sie werden nicht verschickt, folgende Fehlermeldungen tauchen im Log auf:
2016.05.31 11:43:02.875 3: TelegramBot_Callback HSXX_TELEGRAM: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2016.05.31 11:43:02.876 3: TelegramBot_Callback HSXX_TELEGRAM: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg Andreas : Tür geöffnet!


Sende ich das ganze mit "Tuer geoeffnet!" als Text, funktioniert es.
Was könnte ich verbockt haben?

Als Version ist die
50_TelegramBot.pm      11548 2016-05-29 15:34:26Z viegener
im Einsatz.

Vielen Dank für jegliche Rückmeldung,
Andreas

PS: Hier noch das verbose 5 Log dazu:
2016.05.31 11:42:21.037 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:21.038 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:21.222 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:21.223 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:21.224 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:21.224 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:21.226 5: TelegramBot_Get HSXX_TELEGRAM: called
2016.05.31 11:42:21.226 5: TelegramBot_Get HSXX_TELEGRAM: Processing TelegramBot_Get( ? )
2016.05.31 11:42:21.923 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:21.924 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:21.925 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:21.925 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:21.927 5: TelegramBot_Get HSXX_TELEGRAM: called
2016.05.31 11:42:21.927 5: TelegramBot_Get HSXX_TELEGRAM: Processing TelegramBot_Get( ? )
2016.05.31 11:42:23.160 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:42:23.161 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:42:23.161 5: UpdatePoll HSXX_TELEGRAM: number of results 0
2016.05.31 11:42:23.162 5: TelegramBot_UpdatePoll HSXX_TELEGRAM: called
2016.05.31 11:42:23.162 4: TelegramBot_UpdatePoll HSXX_TELEGRAM: initiate polling with nonblockingGet with 5s
2016.05.31 11:42:23.168 4: TelegramBot_Callback HSXX_TELEGRAM: resulted in :SUCCESS: from Polling
2016.05.31 11:42:28.299 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:42:28.299 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:42:28.300 5: UpdatePoll HSXX_TELEGRAM: number of results 0
2016.05.31 11:42:28.300 5: TelegramBot_UpdatePoll HSXX_TELEGRAM: called
2016.05.31 11:42:28.300 4: TelegramBot_UpdatePoll HSXX_TELEGRAM: initiate polling with nonblockingGet with 5s
2016.05.31 11:42:28.306 4: TelegramBot_Callback HSXX_TELEGRAM: resulted in :SUCCESS: from Polling
2016.05.31 11:42:32.716 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:32.717 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( message )
2016.05.31 11:42:32.717 5: TelegramBot_Set HSXX_TELEGRAM: start send for cmd :message: and sendType :0:
2016.05.31 11:42:32.718 5: TelegramBot_SendIt HSXX_TELEGRAM: called
2016.05.31 11:42:32.718 5: TelegramBot_SendIt HSXX_TELEGRAM: try to send message to :Andreas: -:Tür geöffnet!: - :<undef>:
2016.05.31 11:42:32.719 4: TelegramBot_GetFullnameForContact # Contacts is 00000000:Andreas:@xxxxxxx: (Angaben sind anonymisiert!)
2016.05.31 11:42:32.719 4: TelegramBot_GetFullnameForContact # name is Andreas
2016.05.31 11:42:32.728 5: TelegramBot_Set HSXX_TELEGRAM: message done succesful:
2016.05.31 11:42:32.774 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:32.775 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:32.907 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:32.907 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:32.909 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:32.909 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:32.911 5: TelegramBot_Get HSXX_TELEGRAM: called
2016.05.31 11:42:32.911 5: TelegramBot_Get HSXX_TELEGRAM: Processing TelegramBot_Get( ? )
2016.05.31 11:42:33.437 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:42:33.438 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:42:33.439 5: UpdatePoll HSXX_TELEGRAM: number of results 0
2016.05.31 11:42:33.440 5: TelegramBot_UpdatePoll HSXX_TELEGRAM: called
2016.05.31 11:42:33.440 4: TelegramBot_UpdatePoll HSXX_TELEGRAM: initiate polling with nonblockingGet with 5s
2016.05.31 11:42:33.448 4: TelegramBot_Callback HSXX_TELEGRAM: resulted in :SUCCESS: from Polling
2016.05.31 11:42:33.970 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:33.971 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:33.974 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:33.974 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:33.977 5: TelegramBot_Get HSXX_TELEGRAM: called
2016.05.31 11:42:33.977 5: TelegramBot_Get HSXX_TELEGRAM: Processing TelegramBot_Get( ? )
2016.05.31 11:42:34.090 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:42:34.091 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:42:39.070 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:42:39.070 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:42:39.071 5: UpdatePoll HSXX_TELEGRAM: number of results 0
2016.05.31 11:42:39.072 5: TelegramBot_UpdatePoll HSXX_TELEGRAM: called
2016.05.31 11:42:39.072 4: TelegramBot_UpdatePoll HSXX_TELEGRAM: initiate polling with nonblockingGet with 5s
2016.05.31 11:42:39.079 4: TelegramBot_Callback HSXX_TELEGRAM: resulted in :SUCCESS: from Polling
2016.05.31 11:42:44.290 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:42:44.291 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:42:44.291 5: UpdatePoll HSXX_TELEGRAM: number of results 0
2016.05.31 11:42:44.292 5: TelegramBot_UpdatePoll HSXX_TELEGRAM: called
2016.05.31 11:42:44.292 4: TelegramBot_UpdatePoll HSXX_TELEGRAM: initiate polling with nonblockingGet with 5s
2016.05.31 11:42:44.309 4: TelegramBot_Callback HSXX_TELEGRAM: resulted in :SUCCESS: from Polling
2016.05.31 11:42:49.450 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:42:49.451 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:42:49.451 5: UpdatePoll HSXX_TELEGRAM: number of results 0
2016.05.31 11:42:49.452 5: TelegramBot_UpdatePoll HSXX_TELEGRAM: called
2016.05.31 11:42:49.452 4: TelegramBot_UpdatePoll HSXX_TELEGRAM: initiate polling with nonblockingGet with 5s
2016.05.31 11:42:49.457 4: TelegramBot_Callback HSXX_TELEGRAM: resulted in :SUCCESS: from Polling
2016.05.31 11:42:54.592 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:42:54.593 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:42:54.598 5: UpdatePoll HSXX_TELEGRAM: number of results 0
2016.05.31 11:42:54.599 5: TelegramBot_UpdatePoll HSXX_TELEGRAM: called
2016.05.31 11:42:54.600 4: TelegramBot_UpdatePoll HSXX_TELEGRAM: initiate polling with nonblockingGet with 5s
2016.05.31 11:42:54.608 4: TelegramBot_Callback HSXX_TELEGRAM: resulted in :SUCCESS: from Polling
2016.05.31 11:42:59.763 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:42:59.764 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:42:59.765 5: UpdatePoll HSXX_TELEGRAM: number of results 0
2016.05.31 11:42:59.766 5: TelegramBot_UpdatePoll HSXX_TELEGRAM: called
2016.05.31 11:42:59.767 4: TelegramBot_UpdatePoll HSXX_TELEGRAM: initiate polling with nonblockingGet with 5s
2016.05.31 11:42:59.782 4: TelegramBot_Callback HSXX_TELEGRAM: resulted in :SUCCESS: from Polling
2016.05.31 11:43:02.875 5: TelegramBot_Callback HSXX_TELEGRAM: called from SendIt
2016.05.31 11:43:02.875 3: TelegramBot_Callback HSXX_TELEGRAM: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2016.05.31 11:43:02.876 3: TelegramBot_Callback HSXX_TELEGRAM: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg Andreas : Tür geöffnet!
2016.05.31 11:43:02.950 4: TelegramBot_Set HSXX_TELEGRAM: called
2016.05.31 11:43:02.950 4: TelegramBot_Set HSXX_TELEGRAM: Processing TelegramBot_Set( ? )
2016.05.31 11:43:04.931 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:43:04.932 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:43:04.933 5: UpdatePoll HSXX_TELEGRAM: number of results 0
2016.05.31 11:43:04.934 5: TelegramBot_UpdatePoll HSXX_TELEGRAM: called
2016.05.31 11:43:04.935 4: TelegramBot_UpdatePoll HSXX_TELEGRAM: initiate polling with nonblockingGet with 5s
2016.05.31 11:43:04.943 4: TelegramBot_Callback HSXX_TELEGRAM: resulted in :SUCCESS: from Polling
2016.05.31 11:43:10.096 5: TelegramBot_Callback HSXX_TELEGRAM: called from Polling
2016.05.31 11:43:10.097 5: TelegramBot_ParseUpdate HSXX_TELEGRAM: data returned :{"ok":true,"result":[]}:
2016.05.31 11:43:10.098 5: UpdatePoll HSXX_TELEGRAM: number of results 0
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

knopf_piano

#679
Hab gleiches Problem, dass Nachrichten nicht verschickt werden.
Wenn ich per at z.B. periodisch verschicke
set bot message test
klappt das
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"

übrigens auch kein Versenden mehr, wenn ich per bot einen state eines dummys verwende:

fhem("set myBot message Garagentür hinten ist noch offen!\n[Datum:state]-[Zeit:state]");;\


Ich hab keine Änderung an meiner cfg durchgeführt,
fhem-update am 30.05. gemacht


EDIT
lass ich die Umlaute raus geht's..., hat also nix mit Variablen etc zu tun. Meine Variable enhält immer ein "Ä", somit klappt das Versenden nicht. Also gleiche Beobachtung wie scooty
zotac nano mit proxmox und ganz viel zeug drauf

viegener

Zitat von: knopf_piano am 31 Mai 2016, 21:56:29

fhem-update am 30.05. gemacht

EDIT
lass ich die Umlaute raus geht's..., hat also nix mit Variablen etc zu tun. Meine Variable enhält immer ein "Ä", somit klappt das Versenden nicht. Also gleiche Beobachtung wie scooty

@knopf_piano, scooty: Das muss ich mir anschauen, warum Umlaute über perl momentan nicht funktionieren. Perl ist etwas speziell bezueglich encodings/zeichensätzen in strings und Ja genau dort habe ich in letzter Zeit auch fixes eingebaut, allerdings konnte ich es bisher bei mir nicht nachstellen.

Zusatzfrage: Könnt Ihr etwas zu Plattform (PI / Linux? welche version/etc) und verwendeter perl-version sagen?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

knopf_piano

Ich hab BananaPi R1 mit aktuelles bananian-linux, perl 5.20.
Wenn ich die identische Kiste über pushnotifier abschicke klappt's, mit telegram aktuell leider nicht.
zotac nano mit proxmox und ganz viel zeug drauf

scooty

Raspberry Pi 2 Model B
(uname -a): Linux 4.4.11-v7+ #888 SMP Mon May 23 20:10:33 BST 2016 armv7l GNU/Linux
(cat /etc/issue.net): Raspbian GNU/Linux 7
Perl: v5.14.2

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

viegener

Ich versuche immer noch den Fehler nachzuvollziehen, leider tritt das Problem bei mir nicht auf und auch die Informationen zu perl/OS helfen mir bisher nicht. Deshalb mal die Frage, was passiert denn, wenn Ihr folgendes ausprobiert?

{ my $msg="äöüßß-1";; fhem("set TYPE=TelegramBot msg $msg") }

Bei mir geht auch diese Nachricht problemlos durch, genauso wie der Inhalt eines Dummy-States mit Umlauten.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

knopf_piano

{ my $msg="äöüßß-1";; fhem("set TYPE=TelegramBot msg $msg") }
Kein Empfang
{ my $msg="aa";; fhem("set TYPE=TelegramBot msg $msg") }
wird empfangen
zotac nano mit proxmox und ganz viel zeug drauf

viegener

Ich kann das Problem bei mir immer noch nicht nachvollziehen. Ich bekomme eine Fehlermeldung, wenn ich im Browser das encoding (von unicode / UTF-8) auf etwas anderes (z.B. Western) umschalte und dann den Codeschnipsel von oben im Browser als FHEM-Kommando eingebe.

Allerdings ist die Fehlermeldung dann:
sentLastResult   Callback returned error:Bad Request: Message text must be encoded in utf-8:

Deshalb muss ich leider weiterfragen: Was steht denn nach dem Fehler bei Euch in sentLastResult bzw. sentMsgResult?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

knopf_piano

erst dauert's...
im Reading "sentMsgResult" steht "WAITING" für ca 15s.
anschließend steht
sentMsgResult: NonBlockingGet timed out on read from after 30s
sentMsgText: äöüßß-1

message kommt nicht an
zotac nano mit proxmox und ganz viel zeug drauf

viegener

Mmmmh, ratlos...

Hat es denn vorher funktioniert und wisst Ihr noch welche Version vorher in Betrieb war?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

knopf_piano

Zitat von: viegener am 01 Juni 2016, 22:02:20
Mmmmh, ratlos...

Hat es denn vorher funktioniert und wisst Ihr noch welche Version vorher in Betrieb war?
Letzte woche gings noch. Möglich, dass die letzte änderung das bewirkt. Das hab ich jedoch schon versucht zu revidieren mit der vorherigen aus dem restoredir, kein erfolg. fhem.pl hat sich evtl auch geändert, hab ich jetzt nicht weiter geschaut, ist aber ne überlegung.
Ich möcht halt vermeiden für alle botmsg ein substitute anzuschieben. evtl errden sich noch andere auf das problem melden, scooty hat das problem ja auch :-\
Danke für unterstützung übrigens!
zotac nano mit proxmox und ganz viel zeug drauf

viegener

Leider komme ich bisher nicht weiter ich habe auch andere Änderungen im SVN angeschaut und keinen Zusammenhang gesehen.

Anbei mal eine Version mit Debugausgaben (landen im FHEM-Log). Es wäre toll wenn einer von Euch mal diese Version installieren (gegen original austauschen und FHEM neustarten) könnte, den perl-Code von oben mit den Umlauten ausführen und dann mal die Debug_ausgaben aus dem log hier posten würde.

Achso am liebsten wäre es mir natürlich wenn das ganze mit verbose 5 auf dem Bot laufen würde und die entpsrechenden logs auch dabeiwären...
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können