Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

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

Vorheriges Thema - Nächstes Thema

cawe

@viegener: danke für deine Mühe!

ZitatBei Dir geht der Aufruf manchmal durch und manchmal kommt es zu den Blockaden und ich vermute ohne eine Änderung am System? Korrekt?

Korrekt. In einem Lifecycle und dann natürlich ohne Änderungen am System kommen manchmal Blockaden, manchmal gehen die Aufrufe durch. Mehrheitlich gehen Aufrufe durch.

Zitatssl-Einstellungen - mir ging es darum auszuprobieren, ob mit einer unpassenden ssl-Einstellung (nur SSLv3) auch die Blockaden auftreten, oder ob es dann einfach nicht zu einem Verbindungsaufbau kommt.

Hatte ich auch getestet, gleiches Ergebnis wie bei @essera. Fehlermeldung beim Verbindungsaufbau, keine Blockaden.

Zitat
Was für eine Plattform (Hw/Betriebssystem/perl) verwendest Du?

FHEM läuft auf einem Raspberry Pi3,
Raspbian GNU/Linux 8 (jessie),
Linux version 4.9.35-v7+,
This is perl 5, version 20, subversion 2 (v5.20.2) built for arm-linux-gnueabihf-thread-multi-64int

Nachtrag: Ich kann den Fehlerfall nicht mehr reproduzieren, ich bekomme kein Blockieren mehr. Veränderungen am System kann ich nicht ausschließen, ich hatte ja mit cpan ein update angestoßen und sehe jetzt kein Modul welches ich mit ssl in Verbindung bringen kann in der "outdated" Liste. Wie sieht es bei den anderen aus? Fehler noch da?

viegener

Zitat von: cawe am 19 August 2017, 17:57:36
Nachtrag: Ich kann den Fehlerfall nicht mehr reproduzieren, ich bekomme kein Blockieren mehr. Veränderungen am System kann ich nicht ausschließen, ich hatte ja mit cpan ein update angestoßen und sehe jetzt kein Modul welches ich mit ssl in Verbindung bringen kann in der "outdated" Liste. Wie sieht es bei den anderen aus? Fehler noch da?

Huch es wird immer mysteriöser - da bin ich mal gespannt wie es weitergeht
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

martin_p

Auch bei mir jetzt wieder ohne Hänger ....  :)

Linux ubuntu16home 4.4.0-91-generic #114-Ubuntu SMP Tue Aug 8 11:56:56 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-gnu-thread-multi

Fhem update gemacht.
global.sslVersion    TLSv12:!SSLv3
TelegramBot

Ich hatte gestern noch das Perl Modul "IO::Socket::SSL" auf 2.050 aktualisiert, weiterhin Blockaden - heute in der identischen Umgebung nicht mehr.

Ich würde annehmen, dass auf Seite Telegram Veränderungen gemacht wurden. Unklar bleibt natürlich, warum gewisse Fhem Installationen kaum/gar nicht betroffen waren.

-- Martin

macmattes

#1578
tatsache
ich glaub es nicht, hatte mein system mit viel frickelei, testerei und allen möglichen updates sowas von gequält und unbrauchbar gemacht, dann aus Frust komplett zurückgesetzt wieder auf den Stand von 14.8. und nur polling abgeschaltet.
hab jetzt polling wieder eingeschaltet und siehe da, bisher kein hänger

ich glaub ich bau mir ein notify um bei zu vielen errors, das polling rauszuhauen.

osx und fhem sind weiter auf dem alten stand, muss irgendwas vom 3.7.2017 (fhemversion) sein
da wird jetzt erstmal nix gefummelt

viegener

OK, das heisst ich kehre zu einer früheren Vermutung zurück, dass irgendwas auf der Telegram-Serverseite geändert wurde, dass jetzt dort auch wieder korrigiert wurde. Vielleicht haben die die Verbindungsversuche in Ihren Logs gesehen (wäre zumindest ja gutes Operating so etwas zu überwachen).

Trotzdem hinterlässt das ganze bei mir ein etwas ungutes Gefühl

Eine kurze Zusammenfassung vielleicht brauchen wir die ja später noch:

- Probleme traten ohne Änderung an Systemen Anfang dieser Woche auf
- Problem sind timeouts bei der Verbdindungsaufnahme für das Polling (und wohl nicht beim Senden).
- Symptom: ssl_start läuft in den HTTPUtils-timeout --> Fehlermeldung : Can't connect(2) to https://api.telegram.org:443:  SSL wants a read first
- Konfiguration von ssl / DNS / etc löst das Problem wohl nicht
- Tritt nur auf einem Teil der Systeme auf (vielleicht neueres Unix - Debian8 Jessie)


Und ab jetzt heisst es hoffen, dass das Problem wirklich beseitigt wurde
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

TiPpFeHlEr

Hi,

ich wollte TelegramBot benutzen, beim anlegen bekomme ich folgenden Fehler.
[code2017.08.20 19:35:32 5: Cmd: >define Telegram TelegramBot xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<
2017.08.20 19:35:32 5: Loading ./FHEM/50_TelegramBot.pm
2017.08.20 19:35:32 1: reload: Error:Modul 50_TelegramBot deactivated:
Can't locate JSON.pm in @INC (@INC contains: . /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl ./FHEM) at ./FHEM/50_TelegramBot.pm line 147.
BEGIN failed--compilation aborted at ./FHEM/50_TelegramBot.pm line 147.

2017.08.20 19:35:32 0: Can't locate JSON.pm in @INC (@INC contains: . /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl ./FHEM) at ./FHEM/50_TelegramBot.pm line 147.
BEGIN failed--compilation aborted at ./FHEM/50_TelegramBot.pm line 147.]


was habe ich falsch gemacht oder wo liegt der Fehler

mfg maik

viegener

Die Fehlermeldung sagt es doch relativ eindeutig :

Can't locate JSON.pm in @INC

Wie in der Commandref beschrieben:

This module requires the perl JSON module.
Please install the module (e.g. with sudo apt-get install libjson-perl) or the correct method for the underlying platform/system.


ich  denke aber auch die Suchfunktion hätte geholfen..
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

dtavb

Hoi,

das liest sich ja wie ein Krimi :)
Ok, vielen lieben Dank viegener für die Unterstützung.
Dann aktiviere ich auch wieder polling.

Zur Vollständigkeit auch noch meine Daten:
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

This is perl 5, version 24, subversion 1 (v5.24.1)


fhem.pl:14854/2017-08-06


Grüsse
fhem:pi3&kvm, z-wave, it-funk, milight, zigbee, wifi, bt & presence, geo-tracking, alexa, esp.
Monitoring: ELK(syslog), grafana (grafik), netdata (ermittlung)
Security: haproxy (access), ossec (überall), snort (access), opnsense (fw)
Geplant: KVM-Cluster

andies

Wie so viele hier bin ich auf der Suche nach einer Möglichkeit, Chats zu löschen. Die API erlaubt das bekanntermaßen nicht. Mein Einsatz ist aber so (und ich glaube, bei vielen der Fragenden auch), dass ich mir regelmäßig immer die gleichen Inhalte zusenden lassen will, beispielsweise Grafiken von Temperaturen etc, und dieses Zusenden dient der Überwachung. Dafür brauche ich dann aber nur die aktuellen Daten, nicht die aus den vergangenen Monaten.

Daher meine Frage: Wäre es nicht möglich, dass man eine feste Anzahl von konkreten Messages definiert und beim Senden nicht mehr neue Messages kreiert, sondern die bestehende Anzahl konkretere Messages editiert? Dann würde mE den meisten geholfen sein.

Nun ist es mit solchen Posts wie meinen so: Einer hat eine Idee (doof oder auch nicht) und bittet andere, sie auszuführen. Schon mal ein goldiger Einstieg... Leider habe ich von Programmierung sehr wenig bis keine Ahnung. Wenn ich einen Link bekomme, wo ich was nachlesen kann, würde ich das gern versuchen. Ich weiß nur nicht, ob meine Idee völliger Blödsinn ist oder eine Chance auf Realisierbarkeit besitzt.

<EDIT> Also ich glaube, dass das grundsätzlich geht. Ich habe einen msgEdit-Befehl benutzt, wie er in den Screenshots im Anhang angegeben ist. Damit kann man einen Eintrag in Telegram (anscheinend auch Bilder, das habe ich jetzt auf die schnelle nicht geprüft) ändern. Dabei ändert sich allerdings die Uhrzeit, die da angeben wurde, nicht. Aber für die meisten dürfte das kein Problem sein, muss man halt die Uhrzeit mitsenden. Der Nachteil: Das wird alles mit der Hand programmiert werden müssen. Da es sich aber sowieso um sehr individuelle Lösungen handelt, dürfte das kein Problem sein. Ich probiere mal, mit FHEM-Bordmitteln auch Grafiken zu editieren.

<EDIT2> Das geht anscheinend nicht so einfach,
TelegramBot_Callback TelegramBot: No retry for (ret: Callback returned error :Bad Request: message can't be edited:) for msg @andies : weg damit
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

andies

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

mrbreil

Habe ein etwas ähnliches Problem. Ich möchte mir per Telegram eine Art Pincode Abfrage gestalten, leider stehen die richtigen aber auch die falschen Codes dann im Verlauf. Kann man die nicht irgendwie anhand der "msgId" löschen. Oder hat vielleicht jemand etwas ähnliches realisiert?

Gruß Christian

andies

Wenn es Text ist, scheint man das editieren zu können. Das steht mW sogar in der commandref. Bei Bildern sieht es aber anders aus.


Gesendet von iPad mit Tapatalk Pro
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

mrbreil

my $msgId = ReadingsVal("teleBot", "msgId", "");
fhem "set teleBot msgEdit $msgId ****";


Habe ich schon probiert, klappt aber leider nicht.

TelegramBot_Callback teleBot: No retry for (ret: Callback returned error :Bad Request: message can't be edited:) for msg 242711327 : ****

andies

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

rr725

hm... ich bräuchte einmal einen kleinen tipp....

telegram auf raspberry, handy und tablet installiert. funktioniert einwandfrei. nachrichten vom raspberry verschickt kommen überall an
verschicke ich vom handy z.b.  "Doit set Lampe an" an den raspberry wird die lampe eingeschaltet.

nun wollte ich einmal mit IFTTT spielen und von IFTTT die Lampe ein/auschalten lassen.
im angelegtem ifttt applet habe ich die bedingungen angelegt, allderdings kann ich dort nur "private chat with @IFTTT" angeben, b.z.w. es wird vorgegeben.
wie bekomme ich es denn hin das ich von ifttt den raspberry "anschreiben" kan b.z.w. dort der befehl angkommt !?
vielen, vielen dank.....