Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

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

Vorheriges Thema - Nächstes Thema

DS_Starter

ZitatEine finale Lösung ist das übrigens nicht.
Sehe ich auch so. Man müsste sich den Mechanismus in der HttpUtils bzw. SSL nochmal genauer anschauen. Vllt. hat Rudi auch eine Idee zur Ursache und einen praktikablen Weg zum Umgang damit.

Liebe Grüsse,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Frank_Huber

Ich lasse als Lösung das Polling aus.
Da ich von FHEM  nur sende und nicht empfange reicht mir das als Lösung völlig aus.

viegener

Habe das Problem jetzt auch einige Zeit beobachtet und es tritt regelmässig momentan alle 30 Minuten auf.
Eine Lösung im TelegramBot-Modul ist für mich nicht ersichtlich. Leider scheint das Problem auch nicht mehr von selber zu verschwinden und auch auf unterschiedlichen perlversionen aufzutreten.

Habe die Änderung der httputils bei mir jetzt auch mal eingebaut und warte auf die Ergebnisse. Danke an jmike für den Ansatz!

Vielleicht liest Rudi ja hier mit und kann nochmal in die httputils schauen, wie sich das Problem verhindern lässt.
Es gibt einen vermuteten Zusammenhang aus einem früeren perl-Thread zu SIGCHLD, das hat bei mir allerdings nichts geholfen.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

DS_Starter

Leider hat sich das Problem mit der gepatchten HttpUtils nicht ganz erledigt. Heute Abend ist diese Instanz wieder 2 mal hängengeblieben, wohingehend die Instanz ohne Polling sauber durchläuft.
Jetzt schalte ich das Polling auch auf der gepatchten Instanz nochmal aus um ganz sicher zu sein.

Das Ergebnis ist zwar schon besser als ohne Patch, aber noch nicht der Stein der Weisen.
Bin gespannt wie es bei euch aussieht.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

jmike

Zitat von: viegener am 18 September 2019, 23:47:55
...Eine Lösung im TelegramBot-Modul ist für mich nicht ersichtlich....

...Habe die Änderung der httputils bei mir jetzt auch mal eingebaut und warte auf die Ergebnisse. Danke an jmike für den Ansatz!...

Ich dachte da auch eher an der "Bedienung" der HttpUtils. Hab nicht weit genug gegraben aber eventuell hätte man den SSL_hostname ja über die "sslargs" modifizieren können.
Bin gespannt auf deine Beobachtungen.

Zitat von: DS_Starter am 18 September 2019, 23:56:09
Leider hat sich das Problem mit der gepatchten HttpUtils nicht ganz erledigt. Heute Abend ist diese Instanz wieder 2 mal hängengeblieben..


Bei mir leider ähnlich.
Hatte gestern Mittag die Änderung rückgängig gemacht um den Fehler zu reproduzieren und es dauerte auch nur knapp 60min bis das erste "ssl read" kam. Der erste kam um 14:27, eventuell deckt sich das ja mit euch irgendwie?

War mir der Sache dann sicher und hab den SSL_hostname wieder leer gemacht in den HttpUtils aber seit dem 6 "SSL wants a read" und 11 timeouts aufgetreten.

Vor dem reproduzieren gab es für 2 Tage keinen einzigen PollingLastError! Sehr merkwürdig...
Leider hat Telegram selber noch nicht auf meine Supportanfrage reagiert.

stera

Bei mir ist es leider auch so, dass es mit der Veränderung der httpUtils nicht funktioniert.

Habe vorerst das Polling für die Bots ausgestellt.

Grüße,
Stefan

DS_Starter

Kann nun bestätigen, dass das Abschalten des Pollings das Problem definitiv löst.
Nachdem ich gestern Abend das Polling der Testinstanz auch abgeschaltet habe, ist diese nun absolut stabil durchgelaufen.
Mal schauen ob ich am WE dazu komme mir weitere Gedanken darüber zu machen.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stera

Hallo Heiko,

hattest du schon Zeit gefunden bzw. gibt es Neuigkeiten?

Aktuell habe ich das Gefühl, dass sich das beruhigt hat?
Habe einen neuen Bot erstellt und in einem neuen Dockercontainer ein System aufgesetzt um das Pollen zu beobachten. Dort sieht es so aus, ob es keine Abstürze gab.

Schöne Grüße,
Stefan


jmike

Ich hatte noch mein OpenSSL aktualisiert und seit dem (2 Tage) kein SSL_WANT_READ mehr gehabt.
Nachts um 3 gab es jeweils 1 timeout, aber sonst geht alles.

Anscheinend Zufall ;)

DS_Starter

Moin,

ich hatte leider noch keine Gelegenheit mich näher damit zu beschäftigen.
Aber ich schalte das Polling auch mal wieder ein zum Test. Updates habe ich in der Zwischenzeit keine gemacht.
Mal Schauen.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Seit heute früh bis jetzt ist die Instanz wieder problemlos mit dem Polling durchgelaufen. Der Spuk scheint tatsächlich weg zu sein.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

viegener

Danke für Eure Analysen und Workarounds, leider ist die Ursache ja nicht wirklich klar geworden, aber auch bei mir scheint das Problem inzwischen nicht mehr aufzutreten.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

andies

Guten Abend, ich habe eine Frage. Wenn ich einen Befehl von Telegram an FHEM sende, beispielsweise durch

\bus

um einen Busfahrplan abzuholen, erscheint natürlich dieser Befehl selbst in der Telegramzeile (siehe Anhang). Besteht die Möglichkeit, diese Zeile durch einen FHEM-Befehl löschen zu lassen?

Bei den Mitteilungen, die mir FHEM selbst sendet, habe ich das geschafft. Diese werden nach elf Stunden entfernt und das läuft ganz gut:

defmod TelegramBot_loeschen notify TelegramBot:sentMsgResult:.SUCCESS {if ((ReadingsVal("Profil", "housemode", "normal") eq "normal") and (ReadingsVal("TelegramBot","sentMsgId", 0)>0)) {fhem("defmod TelegramBot_loeschen_".ReadingsVal("TelegramBot","sentMsgId", 0)." at +11:00:00 set TelegramBot msgDelete ".ReadingsVal("TelegramBot", "sentMsgId", 0))} }
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

viegener

Zitat von: andies am 17 November 2019, 20:39:18
Guten Abend, ich habe eine Frage. Wenn ich einen Befehl von Telegram an FHEM sende, beispielsweise durch

\bus

um einen Busfahrplan abzuholen, erscheint natürlich dieser Befehl selbst in der Telegramzeile (siehe Anhang). Besteht die Möglichkeit, diese Zeile durch einen FHEM-Befehl löschen zu lassen?

Bei den Mitteilungen, die mir FHEM selbst sendet, habe ich das geschafft. Diese werden nach elf Stunden entfernt und das läuft ganz gut:

defmod TelegramBot_loeschen notify TelegramBot:sentMsgResult:.SUCCESS {if ((ReadingsVal("Profil", "housemode", "normal") eq "normal") and (ReadingsVal("TelegramBot","sentMsgId", 0)>0)) {fhem("defmod TelegramBot_loeschen_".ReadingsVal("TelegramBot","sentMsgId", 0)." at +11:00:00 set TelegramBot msgDelete ".ReadingsVal("TelegramBot", "sentMsgId", 0))} }


Wenn Du Dir die msgId der empfangenen Nachricht merkst, kannst Du auch diese mir msgDelete löschen

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

andies

Ich verstehe da ein Detail nicht. Ich habe eine Nachricht gesendet (siehe Anhang), aber es sind zwei messages im Modul:


     2019-11-18 07:13:15   msgChat         Andreas
     2019-11-18 07:13:15   msgChatId       340579883
     2019-11-18 07:13:15   msgFileId       
     2019-11-18 07:13:15   msgId           10815
     2019-11-18 07:13:15   msgPeer         Andreas
     2019-11-18 07:13:15   msgPeerId       340579883
     2019-11-18 07:13:15   msgReplyMsgId   
     2019-11-18 07:13:15   msgText         /b
     2019-11-18 07:13:15   prevMsgChat     Andreas
     2019-11-18 07:13:15   prevMsgFileId   
     2019-11-18 07:13:15   prevMsgId       10809
     2019-11-18 07:13:15   prevMsgPeer     Andreas
     2019-11-18 07:13:15   prevMsgPeerId   340579883
     2019-11-18 07:13:15   prevMsgReplyMsgId
     2019-11-18 07:13:15   prevMsgText     /bus

Was passiert da?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann