Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

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

Vorheriges Thema - Nächstes Thema

hauwech

Kaum geschrieben, schon passiert.
Ich hänge das Log als file dran, weil da viele Zeichen drin sind, die HTML in einem Codeblock nicht verdauen kann.
Die DNS Fehler: Meine Vodafone Kabelverbindung war heute morgen kurz unterbrochen.
Der Test am Ende: Ich habe vom Handy eine test-Nachricht an den Bot geschickt.
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

viegener

@hauwech: Ok, ich schaue mir das mal an, es sieht so aus, also ob ich eine version erzeugen muss bei der ich sehen kann, von wo diese Kontakte kommen. Erstens will ich verhindern, dass das weiter passiert aber zusätzlich ist das auch etwas wo für Du wissen solltest wer da an Deinem Bot "rumhackt"
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

hauwech

Was mich wundert ist, daß ich offenbar der Einzige bin mit diesem Problem. Ich bin drüber gestolpert, als ich das fhem.log durchgeblättert habe auf der Suche nach was Anderem. Da sind mir die massiven Event-Blöcke aufgefallen. Ich habe den fhem Bot schon einige Jahre ohne Probleme laufen, bisher war noch nie was.
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

viegener

Zitat von: hauwech am 29 Oktober 2020, 13:25:34
Was mich wundert ist, daß ich offenbar der Einzige bin mit diesem Problem. Ich bin drüber gestolpert, als ich das fhem.log durchgeblättert habe auf der Suche nach was Anderem. Da sind mir die massiven Event-Blöcke aufgefallen. Ich habe den fhem Bot schon einige Jahre ohne Probleme laufen, bisher war noch nie was.

Ich habe in github eine Version hinterlegt, die bei neuen Kontakten den Ursprung mit logged (wen es sich um neue Kontakte handelt) - Vielleicht kannst Du diese Version ausprobieren. Denn aus dem Code ist das Verhalten noch nicht erklärbar.

Achso: hast Du das Attribut: allowChannels gesetzt?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

hauwech

Danke  :)
Ich hab die Version nun bei mir im Einsatz und sie ist ziemlich geschwätzig. Allerdings landen alle events im fhem.log, nicht im myTeleBot log. Kann ich das eigentlich umbiegen? Sonst wird das bis morgen wohl ein ziemlich großes Log.
allowChannels war nicht gesetzt, das habe ich jetzt auf "0" gestellt.
Möglicherweise muß ich jetzt bis morgen warten, mein tägliches contact update war heute schon durch  ;D

Ergänzung: Das logging scheint am polling timeout zu hängen, das steht bei mir auf 20. Soll ich das mal temporär hochdrehen?
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

viegener

Zitat von: hauwech am 30 Oktober 2020, 13:04:27
Danke  :)
Ich hab die Version nun bei mir im Einsatz und sie ist ziemlich geschwätzig. Allerdings landen alle events im fhem.log, nicht im myTeleBot log. Kann ich das eigentlich umbiegen? Sonst wird das bis morgen wohl ein ziemlich großes Log.
allowChannels war nicht gesetzt, das habe ich jetzt auf "0" gestellt.
Möglicherweise muß ich jetzt bis morgen warten, mein tägliches contact update war heute schon durch  ;D

Ergänzung: Das logging scheint am polling timeout zu hängen, das steht bei mir auf 20. Soll ich das mal temporär hochdrehen?

Geschwätzig sollte sie nur bei verbose level oberhalb von 3 sein.

Es sind auch nicht die Events die in fhem.log landen (also keine Readingsupdates etc) sondern nur die spezifischen log-Ausgaben. Wenn da bei Level 3 viel zu Kontakten im Log steht, dann ist wirklich viel los auf Deinem bot...

Allowchannels nicht gesetzt und 0 ist gleichwertig

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

hauwech

Ich hatte ja verbose auf 5 gesetzt. Wenn es Dir mit "3" auch was hilft, kann ich verbose runterdrehen auf 3.
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

otto

Hallo,
bekomme beim senden :
set telebot cmdSend { taillog("/opt/fhem/log/Seriell.log",2)}
den Fehler:

sentMsgResult  Callback returned error :Bad Request: strings must be encoded in UTF-8:

(aber das was er senden soll sieht man schon darunter)

Habe das Modul ECMD zum lesen der Seriellen Schnittstelle und das speichert mir den Log,
wie kann ich das so hinbiegen das es in UTF-8 speichert ,oder Telegramm es auch so schickt?

Gruß otto
Fhem 1 wire Adapter mit FT232RL&DS2480B Raspberry PI HMLAN HM485LAN HM-LC-Sw4-PCB   HMW-IO-12-SW7-DR Funkhandsender
FRITZ!Powerline 546E

MadMax-FHEM

Zitat von: otto am 31 Oktober 2020, 07:46:08
Hallo,
bekomme beim senden :
set telebot cmdSend { taillog("/opt/fhem/log/Seriell.log",2)}
den Fehler:
sentMsgResult  Callback returned error :Bad Request: strings must be encoded in UTF-8:
(aber das was er senden soll sieht man schon darunter)

Habe das Modul ECMD zum lesen der Seriellen Schnittstelle und das speichert mir den Log,
wie kann ich das so hinbiegen das es in UTF-8 speichert ,oder Telegramm es auch so schickt?

Gruß otto

Warum verlinkst du nicht wenigstens zum Thread wo die Vorgeschichte inkl. der von dir verwendeten Funktion "taillog" zu finden ist...

Ich glaube nicht, dass mit den hier geposteten Angaben viel anzufangen ist...

https://forum.fhem.de/index.php/topic,86508.msg1094990.html#msg1094990

Wie wäre es (darüber hinaus) mit einer Kopie der Fehlermeldung aus dem Log...
...bzw. die Logausgabe in quotes oder code Tags zu packen... ;)

Und vielleicht einen Ausschmitt der Logdatei die du schicken willst (in code Tags)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

otto

Hallo das steht im, Log:
20.10.31 10:28:49 3: TelegramBot_Callback teleBot: resulted in Callback returned error :Bad Request: strings must be encoded in UTF-8: from SendIt
2020.10.31 10:28:49 3: TelegramBot_Callback teleBot: No retry for (ret: Callback returned error :Bad Request: strings must be encoded in UTF-8:) for msg 824647502 : 2020-10-31_07:32:16 Seriell UNKNOWNCODE  ZENTRALE ZUR�CKSETZEN (FBF)

(MadMax-Fhem ...du hast mich auf dem Kieker :)  )


Gruß Otto
Fhem 1 wire Adapter mit FT232RL&DS2480B Raspberry PI HMLAN HM485LAN HM-LC-Sw4-PCB   HMW-IO-12-SW7-DR Funkhandsender
FRITZ!Powerline 546E

MadMax-FHEM

Wie wär's mit (für uns) angenehmer Formatierung, z.B. code-Tags (wie geschrieben), danke.
(geht auch nachträglich)

Und (wie ebenfalls geschrieben) Ausschnitte des Logs, das du zu verschicken versuchst...

Bzw. ist da wohl ein 'ü' im Text...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

hauwech

Zwischenstand:
Heute hatte ich noch kein contacts update, vielleicht machen die am Feiertag nix  ;D
Log läuft weiter mit verbose 5.
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

viegener

Zitat von: otto am 31 Oktober 2020, 10:30:05
Hallo das steht im, Log:
20.10.31 10:28:49 3: TelegramBot_Callback teleBot: resulted in Callback returned error :Bad Request: strings must be encoded in UTF-8: from SendIt
2020.10.31 10:28:49 3: TelegramBot_Callback teleBot: No retry for (ret: Callback returned error :Bad Request: strings must be encoded in UTF-8:) for msg 824647502 : 2020-10-31_07:32:16 Seriell UNKNOWNCODE  ZENTRALE ZUR�CKSETZEN (FBF)


Gruß Otto

MMmh - im Prinzip heisst das was auch in der Meldung steht, also wird eine Nachricht versandt in der inkorrekte Zeichen also Zeichen aus einer anderen Codierung enthalten sind. Telegram erfordert alle Zeichen als UTF-8 UNicode-Darstellung. Ich vermute mal die Zeichen kommen in irgendeiner "wilden" Windows-Codierung.

Das umkodieren von Text in perl ist immer ein wenig try-and-error - aber grundsätzlich geht es eher um das Modul, das diese Logeinträge erzeugt.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

hauwech

Update: Eine gute und eine schlechte Nachricht.
Die Gute: Es gab bisher kein Contacts Update mehr.
Die Schlechte: Der Bot geht gar nicht mehr. Wenn ich versuche, von fhem aus eine Nachricht zu senden, bekomme ich:
2020.11.01 09:27:02.838 5: TelegramBot_Set myTeleBot: called
2020.11.01 09:27:02.840 4: TelegramBot_Set myTeleBot: Processing TelegramBot_Set( message )
2020.11.01 09:27:02.842 5: TelegramBot_Set myTeleBot: start send for cmd :message: and sendType :0:
2020.11.01 09:27:02.843 5: TelegramBot_SendIt myTeleBot: called
2020.11.01 09:27:02.845 5: TelegramBot_SendIt myTeleBot: try to send message to :Hauwech: -:Überschrift - Test: - add :<undef>: - replyid :<undef>::    options ::
2020.11.01 09:27:02.847 4: TelegramBot_GetFullnameForContact # Contacts is <undef>
2020.11.01 09:27:02.848 3: TelegramBot_SendIt myTeleBot: Failed with :FAILED peer not found :Hauwech::
2020.11.01 09:27:02.849 5: TelegramBot_Callback myTeleBot: called from SendIt
2020.11.01 09:27:02.850 3: TelegramBot_Callback myTeleBot: resulted in NonBlockingGet: returned FAILED peer not found :Hauwech: from SendIt
2020.11.01 09:27:02.871 5: TelegramBot_Set myTeleBot: called
2020.11.01 09:27:02.874 5: TelegramBot_Set myTeleBot: called
2020.11.01 09:27:02.876 5: TelegramBot_Callback myTeleBot: - Ende > Control back to FHEM
2020.11.01 09:27:02.877 5: TelegramBot_Set myTeleBot: message failed with :FAILED peer not found :Hauwech::
2020.11.01 09:27:02.878 3: set myTeleBot message @Hauwech Überschrift - Test : FAILED peer not found :Hauwech:
2020.11.01 09:27:15.007 5: TelegramBot_Callback myTeleBot: called from Polling
2020.11.01 09:27:15.012 5: TelegramBot_Callback myTeleBot: data returned :{"ok":true,"result":[]}:
2020.11.01 09:27:15.014 5: TelegramBot_Deepencode myTeleBot: encoded a String from :1: to :1:
2020.11.01 09:27:15.016 5: TelegramBot_Deepencode myTeleBot: found an ARRAY
2020.11.01 09:27:15.018 5: TelegramBot_Deepencode myTeleBot: found a HASH
2020.11.01 09:27:15.020 5: TelegramBot_Callback myTeleBot: after encoding
2020.11.01 09:27:15.021 5: TelegramBot_Callback myTeleBot: polling returned result? 0
2020.11.01 09:27:15.023 5: UpdatePoll myTeleBot: number of results 0
2020.11.01 09:27:15.025 5: TelegramBot_UpdatePoll myTeleBot: called
2020.11.01 09:27:15.026 5: TelegramBot_UpdatePoll myTeleBot: - Initiate non blocking polling - With callback set
2020.11.01 09:27:15.028 5: TelegramBot_readToken: Read Telegram API token from file
2020.11.01 09:27:15.030 4: TelegramBot_UpdatePoll myTeleBot: initiate polling with nonblockingGet with 20s
2020.11.01 09:27:15.032 5: TelegramBot_UpdatePoll myTeleBot: - Ende > next polling started
2020.11.01 09:27:15.034 4: TelegramBot_Callback myTeleBot: resulted in SUCCESS from Polling
2020.11.01 09:27:15.035 5: TelegramBot_Callback myTeleBot: - Ende > Control back to FHEM


Die Contacts sind aber eigentlich da (hier anonymisiert):

Internals:
   FAILS      0
   FUUID      5c4ad613-f33f-af18-429b-091f1730c17ddcf9
   NAME       myTeleBot
   NR         540
   OLD_POLLING 41
   POLLING    41
   SNAME      myTeleBot
   STATE      Polling
   TYPE       TelegramBot
   UPDATER    0
   WAIT       0
   me         xxxxxxxxx:MeinKontakt:@Mein_bot
   offset_id  882532281
   sentLastResult NonBlockingGet: returned FAILED peer not found :Hauwech:
   sentMsgId 
   sentMsgOptions
   sentMsgPeer
   sentMsgPeerId
   sentMsgResult NonBlockingGet: returned FAILED peer not found :Hauwech:
   sourceVersion $Id: 50_TelegramBot.pm 22708 2020-09-01 15:51:38Z viegener $
   Contacts:
     233011864  xxxxxxxxx:MeinKontakt:@Mein_bot
   HU_DO_PARAMS:
     data       
     header     agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
     hideurl    1
     loglevel   4
     method     GET
     timeout    30
     url       
     hash:
   HU_UPD_PARAMS:
     FD         93
     NAME       
     addr       https://api.telegram.org:443
     auth       0
     buf       
     code       200
     compress   1
     displayurl <hidden>
     header     agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
     hideurl    1
     host       api.telegram.org
     hu_blocking 0
     hu_filecount 40
     hu_port    443
     hu_portSfx
     isPolling  update
     loglevel   4
     method     GET
     offset     882532281
     path       /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx limit=5&timeout=20
     protocol   https
     redirects  0
     timeout    45
     url        https://api.telegram.org/botxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/getUpdates?offset=882532281&limit=5&timeout=20
     hash:
     sslargs:
   READINGS:
     2020-11-01 09:07:11   Contacts        xxxxxxxxx:MeinKontakt:@Mein_bot xxxxxxxxx:Kontakt2:xxxxxxxxxx
     2020-11-01 00:00:18   PollingErrCount 0
     2020-10-31 22:48:30   PollingLastError Callback returned error :Bad Gateway:
     2020-10-29 09:44:56   msgChat         Hauwech
     2020-10-29 09:44:56   msgChatId       58167406
     2020-10-29 09:44:56   msgFileId       
     2020-10-29 09:44:56   msgId           60856
     2020-10-29 09:44:56   msgPeer         Hauwech
     2020-10-29 09:44:56   msgPeerId       58167406
     2020-10-29 09:44:56   msgReplyMsgId   
     2020-10-29 09:44:56   msgText         Test
     2020-10-29 09:44:56   prevMsgChat     Muftadhi_3115_01
     2020-10-29 09:44:56   prevMsgFileId   
     2020-10-29 09:44:56   prevMsgId       6357
     2020-10-29 09:44:56   prevMsgPeer     Muftadhi_3115_01
     2020-10-29 09:44:56   prevMsgPeerId   155786865
     2020-10-29 09:44:56   prevMsgReplyMsgId
     2020-10-29 09:44:56   prevMsgText     /start
     2020-11-01 09:27:02   sentMsgId       
     2020-11-01 09:27:02   sentMsgPeerId   
     2020-11-01 09:27:02   sentMsgResult   NonBlockingGet: returned FAILED peer not found :Hauwech:
   inlinechats:
   sentQueue:
Attributes:
   alias      myTeleBot
   allowChannels 0
   allowUnknownContacts 0
   defaultPeer Hauwech
   group      Connectors
   pollingTimeout 20
   room       Technikraum
   verbose    5


Ich habe den bot resettet und die Contacts "richtig" (nicht mit setreading) mit einer message am Handy Client vom User an den Bot eingetragen (vorher allowUnknownContacts auf "1" gesetzt).
Jetzt läufts wieder. Mal sehen, ob jetzt irgendwann immer noch neue contacts reinkommen (allowUnknownContacts wieder auf 0).

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

hauwech

Gerade wieder - jetzt mit Name:
2020.11.01 11:56:10.407 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.409 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.410 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.411 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.412 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.592 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.594 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.596 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.599 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.606 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.724 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.727 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.728 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.729 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.731 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.844 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.845 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked
2020.11.01 11:56:10.847 3: TelegramBot myTeleBot: Message from unknown Contact (id:938711943: name:Brandon Williams:) blocked

Meine Contacts sind aber noch sauber  :)
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS