Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

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

Vorheriges Thema - Nächstes Thema

viegener

Zitat von: Heatseeker am 14 Februar 2021, 10:31:04
Moin,

ich bin von einem RPI auf andere Hardware unter Debian umgestiegen und soweit klappt nun auch alles bis auf eine komische Sache bei Telegram:

Ich kann Nachrichten Senden, aber das Pollen funktioniert nicht. FHEM hängt sich weg ausser ich schallte das "pollingTimeout = 0", also aus.

Wenn ich pollen einschalte bekomme ich:

NonBlockingGet: returned <hidden>: empty answer received

ich konnte mit diesem Code nix im Netz finden.
Jemand eine Idee?

Grüße
Heatseeker

Habe ich erstmal gar keine Erklärung.

Was heißt denn ,,fhem hängt sich weg"?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Heatseeker


heinzfo

Hallo

Wenn ich meine favorites mit dem cmdFavorites abhole dann steht vor den Buttons immer folgendes:
TelegramBot FHEM : 1712345678
Favoriten

Kann man das unterdrücken und nur die Buttons anzeigen lassen?
Siehe Anhang.

favorites

/[-Heizung AZ 23.0 ]=set HeizungAz desired-temp 23.0;
/[-Heizung AZ 19.0 ]=set HeizungAz desired-temp 19.0;
/[-Heizung SZ 22.0 ]=set HeizungSz desired-temp 22.0;
/[-Heizung SZ 19.0 ]=set HeizungSz desired-temp 19.0;
/[-Licht on ]={fhem "set WohnzimmerBeleuchtung scene home"};
/[-Licht off ]={fhem "set WohnzimmerBeleuchtung scene out"};
/[-Screen on ]=set LenovoYoga2Pro Screen on;
/[-Screen off ]=set LenovoYoga2Pro Screen off;
/[-Tischlamge on ]=set Schreibtischlampe on;
/[-Tischlamge off ]=set Schreibtischlampe off;
/[-PC ein ]=set KellerVierKanalSchalter_Sw_03 on-for-timer 0.5;


Grüße
Heinz

viegener

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

heinzfo

Danke!

Das hat funktioniert.

Kann man das ganz ausblenden, auch die reurns "Favoriten beendet" bei Abbruch und das "-" nachdem ein cmd gesendet wurde?

Grüße
Heinz

viegener

Zitat von: heinzfo am 18 Februar 2021, 22:04:14
Danke!

Das hat funktioniert.

Kann man das ganz ausblenden, auch die reurns "Favoriten beendet" bei Abbruch und das "-" nachdem ein cmd gesendet wurde?

Grüße
Heinz

Nein das geht bisher nicht
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

SamNitro

Hey, wie hast du das hinbekommen das der nur den Text anzeigt und nicht komplett den ganzen befehl?

Bei mir steht
/cmd1 =/Schiebetor = set EnO_schiebetor_taster on

favorites sieht so bei mir aus
Schiebetor=set EnO_schiebetor_taster on

/[-Schiebetor]=set EnO_schiebetor_taster on;
funktioniert leider nicht
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

heinzfo

Aus der Commandref.

The description for an alias can also be prefixed with a '-'. In this case the favorite command/alias will not be shown in the favorite menu. This case only works for inline keyboard favorite menus.

Du musst das attr favoritesInline auf 1 setzen.

Grüße
Heinz

SamNitro

Ah okay, ich benutze eigentlich nur das "favorite menu".
Danke.

LG Patrick
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

heinzfo

Hallo

Ein Umlaut im "attr textResponseConfirm Soll der Befehl ausgeführt werden?" wird bei der Antwort nicht richtig umgesetzt,.
Kann ich das ändern?

Ergebniss in Telegram auf dem Smartphone.
Soll der Befehl ausgeführt werden?

Grüße
Heinz



Heatseeker

Moin,

ich habe nochmal wegen meinem Polling Problem

NonBlockingGet: returned <hidden>: empty answer received
rumprobiert aber noch zu keiner Lösung gekommen.

Erste idee war, dass meine neue FHEM instanz auf einer Blacklist stand, da ich kurzzzeitig die alte und die neue FHEM Version parallel laufen hatte. Deshalb habe ich mir einen neuen API Token generiert und den Bot bei FHEM definiert. Ergebnis wie zuvor...

Zweite Idee: Privacy Mode auf diesable und Joingroup mal auf enable, aber auch das bringt nix... bin etwas ratlos wie ich da noch weiter komme...

viegener

Zitat von: heinzfo am 19 Februar 2021, 14:42:56
Hallo

Ein Umlaut im "attr textResponseConfirm Soll der Befehl ausgeführt werden?" wird bei der Antwort nicht richtig umgesetzt,.
Kann ich das ändern?

Ergebniss in Telegram auf dem Smartphone.
Soll der Befehl ausgeführt werden?

Grüße
Heinz

Ich vermute, dass dann die Kodierung der Umlaute vielleicht nicht richtig ist m Attribut - vielleicht noch mla in der Web-Oberfläche direkt eingeben?

Normalerweise sollte das problemlos funktionieren, wenn die richtige Codierung im Attribut steht, allerdings hat perl so seine ganz eigene Auffassung von unicode oder nicht hat.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Zitat von: Heatseeker am 21 Februar 2021, 10:16:52
Moin,

ich habe nochmal wegen meinem Polling Problem

NonBlockingGet: returned <hidden>: empty answer received
rumprobiert aber noch zu keiner Lösung gekommen.

Erste idee war, dass meine neue FHEM instanz auf einer Blacklist stand, da ich kurzzzeitig die alte und die neue FHEM Version parallel laufen hatte. Deshalb habe ich mir einen neuen API Token generiert und den Bot bei FHEM definiert. Ergebnis wie zuvor...

Zweite Idee: Privacy Mode auf diesable und Joingroup mal auf enable, aber auch das bringt nix... bin etwas ratlos wie ich da noch weiter komme...

Da alles auf Deiner alten Installation funktioniert hat nur jetzt mit anderem OS und anderer Hardware nicht läuft - ist das sehr schwierig aus der Entfernung zu helfen. Für mich deutet die Meldung darauf hin, dass durch einen Systemtimeout auf der Netzwerkverbindung die Verbindung geschlossen wird. Beim Polling wird ja relativ lange die Verbindung gehalten während beim Senden von Nachrichten ja direkt eine Antwort kommt.

Ein Ansatz könnte sein, mal pollingtimeout auf wenige Sekunden zu setzen ? Ab wieviel Sekunden geht es nicht mehr?
Ausserdem wäre es sinnvoll zu überprüfen ob ein get update funktioniert.
...

Im Code gibt es zwei Möglichkeiten wie diese Meldung zustande kommen kann - Die Antwort ist komplett leer vom Telegram Server oder sie enthält keinen http code und ist damit ungültig.

Im Prinzip wäre es aber wichtig auch mal in Systemlogs zu schauen, ob da irgendein Mechanismus die Verbindung schliesst?
Gibt es irgendwelche Proxies dazwischen? Hat sich sonst an der Infrastruktur geändert?

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

Heatseeker

#2593
Hi,

Danke für deine Gedanken!
Also ich kann das PollingTimeout auf 10 setzten, da wird FHEM schon sehr langsam. Aber geh geht auf Polling, es kommen aber trotzdem keine Massages durch.

An die Netzwerkverbindung habe ich auch schon gedacht, aber die hat sich nicht wesentlich geändert.
Ich habe eine IPFire Firewall, aber da sind keine Firewallregeln die auf den alten Server gingen und nun auf den neuen gehen müssten. Auch auf der IDS Blocklist taucht nichts auf.
Was mir noch einfällt: seit kurzem habe ich einen PiHole laufen... da muss ich mal schauen. Welcher Server soll den kontaktiert werden?

Update: Gerade mal den Pihole umgangen und neu gestartet, keine Veränderung, schade...

Grüße
Heatseeker

viegener

Zitat von: Heatseeker am 21 Februar 2021, 21:09:26
Hi,

Danke für deine Gedanken!
Also ich kann das PollingTimeout auf 10 setzten, da wird FHEM schon sehr langsam. Aber geh geht auf Polling, es kommen aber trotzdem keine Massages durch.

An die Netzwerkverbindung habe ich auch schon gedacht, aber die hat sich nicht wesentlich geändert.
Ich habe eine IPFire Firewall, aber da sind keine Firewallregeln die auf den alten Server gingen und nun auf den neuen gehen müssten. Auch auf der IDS Blocklist taucht nichts auf.
Was mir noch einfällt: seit kurzem habe ich einen PiHole laufen... da muss ich mal schauen. Welcher Server soll den kontaktiert werden?

Update: Gerade mal den Pihole umgangen und neu gestartet, keine Veränderung, schade...

Grüße
Heatseeker

Die Verbindung scheint ja zu funktionieren (sonst wäre senden nicht möglich) - es geht also nicht um Firewall oder ähnliches - in beiden Fällen wird ja derselbe Server kontaktiert.
1) Meine Vermutung war ja ein timeout - also die Frage kommt bei 10 Sekunden (oder darunter) dieselbe Meldung (nicht ob FHEM langsam wird) - wenn ja noch kürzer machen
2) Was passiert denn auf Betriebssystemebene wenn FHEM langsam wird - ist da also hohe CPU-Last - wenn ja ist dies perl als Prozess?
3) Gibt es andere Devices, die auch Netzwerkverbindungen ins Internet (insbesondere https) verwenden?

Meine Vermutung ist eher kein Problem in FHEM sondern auf den darunterliegenden Ebenen (Linux / Netzwerk oder vielleicht auch perl)


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