50_TelegramBot-Modu ist das "offizielle" Telegram-Modul, das direkt mit FHEM verteilt und aktualisiert wird. Es basiert auf dem Telegram-Bot API das über https angesprochen wird.
Historisch gibt es noch das 70_Telegram Modul basierend auf dem frei verfügbaren separaten telegram-cli. Dieses Modul wird nicht mehr weitergepfelgt und benötigt die separate Installation des telegram-cli systems (Linux)
TelegramBot - Benutzt das Telegram BOT API
telegramBot Modul für FHEM --> 50_TelegramBot.pm
Diese Modul erlaubt das Senden und Empfangen von Nachrichten über den telegram Messaging Dienst. --> https://telegram.org/ (https://telegram.org/).
Telegram clients (und auch deren Benutzung) sind frei und für sehr viele Plattformen erhältlich. Dazu gehören iOs, Android, Windows Phone, viele Desktop-Betriebssysteme und auch web browser. Hilfreich ist, dass auch mehrere parallel Verbindungen / Anmeldungen unterstützt werden. Ausserdem kann telegram auch Gruppenchats, Bilder, etc.
Dies umfasst Text und Bild-nachrichten sowie das Ausführen von Kommandos, die über telegram an fhem gesendet werden.
Ziel ist es über telegram mobil Benachrichtigungen, Alarmmeldung und Infos zu erhalten und auch Kommandos, und Aktionen zu senden.
Vergleich 50_TelegramBot vs. 70_Telegram
+ Es ist keine andere Software auf dem Server notwendig, das Modul sollte demnach auch auf anderer Hardware funktionieren können (insbesondere kein telegram-cli)
+ Es ist keine Rufnummer erforderlich für die Registrierung reicht die telegram BOT Registrierung wie hier beschrieben: https://core.telegram.org/bots (https://core.telegram.org/bots)
+ Es können Favoriten für Kommandos definiert werden
+ Gruppenchats werden unterstützt
- Es gibt keine secret chats (im BOT API nicht enthalten)
Hinweis:
o Das Attribut pollingTimeout muss auf einen Wert > 0 gesetzt sein, sonst wird nichts empfangen
o Ohne verändertes httputils-Modul (siehe Github) können Bilder nur bis zu einer Grösse von ca. 10-15kB übertragen werden (je nach Plattform)
o Bots können NICHT von sich beliebige telegram user kontaktieren, die erste Kommunikation muss immer von einem normalen Telegram-Benutzer gestartet werden
70_Telegram - Verwendet und erfordert ein installiertes telegram-cli (nur Linux)
Diese Modul wird nicht mehr weiterentwickelt
Erste Version eines moduls für das Empfangen und Senden von messages per Telegram:
https://telegram.org/ (https://telegram.org/)
Das 70_Telegram Modul basiert auf dem frei verfügbaren telegram-cli (inoffiziellen Linux command line client). Dieser ist hier verfügbar:
https://github.com/vysheng/tg (https://github.com/vysheng/tg). Bau und Betrieb des Clients hat bei mir sehr gut geklappt und der Client erscheint mir sehr stabil, denkbar wäre aber auch eine Umstellung auf das offizelle Telegram API.
Neueste Version für beide ist jetzt auch in Github zu finden:
https://github.com/viegener/Telegram-fhem (https://github.com/viegener/Telegram-fhem)
Beim Herunterladen aus github daraufachten, dass man die Datei "raw" (button "raw" in github) herunterlädt und nicht die HTML-Seite speichert.
Weitere Details zur Benutzung von Telegram sind in der jeweiligen Command-Doku enthalten.
Gruss,
Johannes
Hallo Johannes,
Klasse das Du das gemacht hast. ;D
Ich suche schon die ganze Zeit eine Lösung welche auch beschrieben wird.
Ich habe auf meinem RPi aber noch die alte Version laufen.
Wollte ich erst nach dem kauf eines RPi2 alles neu aufsetzen.
Mal sehen wann ich das umgesetzt bekomme (viele Baustellen).
Danke !
Gerd
Hallo Johannes,
interesse ist auf jeden Fall da.
Werde ich morgen mal testen.
Grüße
igami
Zitat von: Maista am 20 Juni 2015, 21:10:47
Hallo Johannes,
Klasse das Du das gemacht hast. ;D
Ich suche schon die ganze Zeit eine Lösung welche auch beschrieben wird.
Ich habe auf meinem RPi aber noch die alte Version laufen.
Wollte ich erst nach dem kauf eines RPi2 alles neu aufsetzen.
Mal sehen wann ich das umgesetzt bekomme (viele Baustellen).
Danke !
Gerd
Ich kenne die alte Version leider nicht, aber wenn diese per tcp erreichbar ist und auch Nachrichten empfängt sollte es gehen. Momentan wird quasi aus dem cli nur folgende Befehle verwendet:
- msg - sends a message to a peer
- main_session - sorgt dafür dass ankommende Nachrichten direkt ausgegeben werden (und damit vom Modul gelesen werden können)
Johannes
Zitat von: igami am 20 Juni 2015, 21:15:07
Hallo Johannes,
interesse ist auf jeden Fall da.
Werde ich morgen mal testen.
Grüße
igami
Ich bin schon auf Feedback gespannt. Bei Problemen einfach melden, die Tests waren bisher noch etwas rudimentär...
Hallo, melde auch Interesse an.
Werde so schnell wie möglich dein Modul mal testen. Berichte dann.
Kannst du vielleicht ein kurzes HowTo schreiben, was muss alles installiert werden und wie wird was definiert.
Grüße Marcel
Zitat von: Ma_Bo am 21 Juni 2015, 00:45:59
Kannst du vielleicht ein kurzes HowTo schreiben, was muss alles installiert werden und wie wird was definiert.
Also ein Teil des howtos ist natürlich in der Doku zum Modul enthalten, insbesondere was in fhem konfiguriert werden muss.
Wichtig ist aber die Vorbedingung, dass telegram-cli installiert sein muss (erfordert linux).
Also folgende Schritte aber nur Quick&Dirty, das kann dann noch weiter verfeinert werden.
- telegram-cli herunterladen. Dies befindet sich hier: https://github.com/vysheng/tg (https://github.com/vysheng/tg). Das kann entweder durch den link "Donwload Zip" auf de Seite erfolgen oder durch clonen des github repositories
- Ab jetzt wird angenommen, dass der Inhalt des Repositories in einem Verzeichnis tg steht
- Python und eine Reihe von weiteren Bibliotheken müssen installiert werden/sein. Die Befehle für verschiedene Unixe sind auf der Seite enthalten. Für Raspbian ist natürlich die debian Variante anzuwenden. Es sollte für FHEM auch ohne lua u.a. gehen, denn die Skript-Möglichkeiten werden nicht verwendet, das habe ich aber nicht probiert.
- Dann das eigentliche Programm telegram-cli erzeugen über folgende Befehle im Verzeichnis tg ausführen:
./configure
make
Unter Umständen sind hier bei Fehlern entsprechende Optionen anzugeben bei mir war disable python nötig:
./configure --disable-python
make
- Wenn das alles geklappt hat, sollte ein ausführbares Programm telegram-cli im Verzeichnis tg/bin existieren. Dieses sollte man jetzt starten:
bin/telegram-cli -k tg-server.pub
- Beim ersten Start ist eine Konfiguration der entsprechenden Telefonnummer (Account) nötig. Dazu wird eine SMS mit Code oder eine Anruf mit Code-Ansage an diese Nummer gehen. Diesen Code (und weitere Daten) muss man eingeben. Der Client führt da einigermassen durch. Das müsste auch mit existierenden Accounts gehen.
- Nach erfolgreicher Registrierung sollte man noch Kontakte (zumindest einen) anlegen. das erreciht man mit dem Kommando:
add_contact <phone-number> <first-name> <last-name>
- Testweise sollte man dann versuchen, ob eine Nachricht verschickt (msg-Befehl) und empfangen (d.h. von anderem Client gesendet) werden kann. Wenn das funktioniert ist der telegram-cli eingerichtet.
- Jetzt das Modul 70_Telegram.pm in FHEM installieren (also FHEM-Verzeichnis) und neustarten- Am besten auch die Commandref neu erzeugen über das entsprechende Skript, damit man die Doku anzeigen kann
- In der Telegram-Doku ist der Befehl, um den telergam-cli im Hintergrund zu starten beschrieben. Dies ist im Prinzip so:
telegram-cli -k <path to key file e.g. tg-server.pub> -W -C -d -P <portnumber> [--accept-any-tcp] -L <logfile> -l 20 -N &
- Wenn der cli im Hintergrund läuft, kann man einen Device in FHEM anlegen. Der define ist auch ind er Doku beschrieben:
define <name> Telegram [<hostname>:]<port>
- Jetzt sollte noch das Attribut defaultPeer gesetzt werden damit Messages verschickt werden können (über den set msg Befehl)
Habe eine leicht erweiterte Version 0.3 hochgeladen. Findet sich im ersten Post
Kurzer Changelog:
- Einige reimplementierung und Stabilisierung
- raw Command um direkt Befehle an telegram-cli zu sende
- GET msgById um einzelne messages abzurufen
- ReadFn um auch mehrere Mesages auf einmal sauber zu verarbeiten
Bitte diese Version verwenden.
Hallo Johannes,
habe nun alles soweit mit der Version 0.3 eingerichtet. Was ich bisher nur halb hinbekomme: Secret Chat
Habe im cli einen secret Chat erstellt, der dann da heißt !_Michael. Diesen kann ich auch unter defaultPeer eintragen und nachrichten verschicken, nur das empfangen klappt nicht.
Was mir nun noch fehlt, aber schon über raw geht
- get contact_list
- set add_contact
- set create_secret_chat
- set msg <contact> msg
Sollte mir noch mehr auffallen werde ich mich melden. Erstmal vielen Dank für das Modul.
Grüße
igami
Zitat von: igami am 21 Juni 2015, 10:01:32
Hallo Johannes,
habe nun alles soweit mit der Version 0.3 eingerichtet. Was ich bisher nur halb hinbekomme: Secret Chat
Habe im cli einen secret Chat erstellt, der dann da heißt !_Michael. Diesen kann ich auch unter defaultPeer eintragen und nachrichten verschicken, nur das empfangen klappt nicht.
Was mir nun noch fehlt, aber schon über raw geht
- get contact_list
- set add_contact
- set create_secret_chat
- set msg <contact> msg
Sollte mir noch mehr auffallen werde ich mich melden. Erstmal vielen Dank für das Modul.
Grüße
igami
Hi Igami,
das klingt schonmal sehr gut. Das man mit raw eigentlich alles machen kann, war mir gar nicht bewusst, denn eigentlich hatte ich es erstmal nur für Debugzwecke eingebaut.
ich habe bisher keine secret chats verwendet, für die Kommunikation mit fhem hat mir die Transportverschluesselung gereicht.
Ich werden selbst mal versuchen einen Secret chat aufzusetzen.
Kannst Du denn normale also nicht-End2End-verschluesselte Nachrichten empfangen?
Gruss,
Johannes
Normale Chats klappen Problemlos, Verschlüsselt senden geht auch, nur empfangen wird nicht in den Readings, allerdings habe ich im internal
REMAINING NSWER 60 -5052882357861749739 [16:36] !_Michael »»» Test
Telegram Modul. Sehr schön, werde ich auch testen
Zitat von: igami am 21 Juni 2015, 16:37:39
Normale Chats klappen Problemlos, Verschlüsselt senden geht auch, nur empfangen wird nicht in den Readings, allerdings habe ich im internal
REMAINING NSWER 60 -5052882357861749739 [16:36] !_Michael »»» Test
OK, das mit den secret chats ist nicht so super schön, da man leider nicht überprüfen kann, ob mit einem peer schon ein secret chat existiert (zumindest habe ich keinen weg gefunden bisher).
Ich habe trotzdem jetzmal Unterstützung für Secret chats eingebaut:
- Generell geht das Empfangen jetzt, denn die secret chats haben eine etwas andere Meldung, die ist jetzt auch unterstützt
- Statt einer msgId wird jetzt secret als id angezeigt (bei secret chats ist die id eine kryptische Zahl)
- über das attribut defaultSecret werden die Messages im message set sicher verschickt
- Dazu muss man einmal set secretChat ausführen (oder den secretChat vom Empfänger senden)
Die Version ist als 0.4 im ersten Post angehängt / Doku ist auch upgedated
Hallo und Guten Abend
Ich wollte dieses vielversprechende Modul mal ausprobieren, doch es scheitert schon an der Erstellung das Devices Telegram :'( - da ich mit meinem Anfängerwissen hier passen muss
ich habe etwas von einer DOKU gelesen, jedoch kann ich diese nicht finden :'(
wo finde ich die Daten für den Hostnamen und den Port, welches das Modul erfordert?
Eine kleine Hilfestellung wäre nett
gruss tagedieb
Zitat von: tagedieb am 22 Juni 2015, 22:02:38
Hallo und Guten Abend
Ich wollte dieses vielversprechende Modul mal ausprobieren, doch es scheitert schon an der Erstellung das Devices Telegram :'( - da ich mit meinem Anfängerwissen hier passen muss
Hallo tagedieb,
Vorbedingung für den Betrieb des Moduls ist das Programm telegram-cli. Ich habe weiter oben im Thread ein sehr knappes howto zur Installation gemacht. Achtung diese erforder Unix/Linux als Betriebssystem.
Zitat von: tagedieb am 22 Juni 2015, 22:02:38
ich habe etwas von einer DOKU gelesen, jedoch kann ich diese nicht finden :'(
Die Doku ist wie bei anderen Modulen auch im Modul selbst enthalten. Und wird nach Installation des Moduls in FHEM in commandref abgelegt (Englisch) wenn man folgenden Befehl im Wurzelverzeichnis von fhem ausführt. Näheres dazu findet sich auch im wiki
perl contrib/commandref_join.pl
Zitat von: tagedieb am 22 Juni 2015, 22:02:38
wo finde ich die Daten für den Hostnamen und den Port, welches das Modul erfordert?
Wie gesagt, es wird telegram-cli benötigt und hostname muss dann von dem Rechner angegeben werden auf dem telegram-cli laeuft. Den Portnamen gibt man beim Start von telegram-cli als Parameter an und diesen muss man dann hier angeben.
Wenn telegram-cli auf demselben Rechner wie fhem läuft reicht nur der Port.
Aber wie gesagt das ist auch in der Doku / commandref enthalten
Hoffe geholfen zu haben,
Johannes
Guten morgen viegener
Vielen Dank für deine Zeilen -der Hinweis
ZitatWenn telegram-cli auf demselben Rechner wie fhem läuft reicht nur der Port.
brachte den erwünschten Erfolg :-)
- die Installation der notwendigen Programme hatte ich bereits nach deiner Beschreibung erfolgreich durchgeführt - das Programm funktionierte auch auf der Konsole vom Cubi, auf welchen auch mein FHEM läuft
....da ich das Modul nicht installiert bekam - habe ich auch die Doku nicht gefunden :-[
Ich wünsche einen schönen Tag
gruss Tagedieb
Zitat von: tagedieb am 23 Juni 2015, 07:32:03
Vielen Dank für deine Zeilen -der Hinweis brachte den erwünschten Erfolg :-)
Schön! Lass mich wissen, wenn es Probleme oder Wünsche gibt!
Gruss,
Johannes
Frage an diejenigen, die es bereits ausprobiert haben, benutzt ihr separate ids für das Modul oder schon vorhandene, die auch auf anderen Geräten eingesetzt werden?
Hintergrund:
- Für die Funktionalität auch Nachrichten zu verarbeiten, die ankamen während das Modul/telegram-cli offline war, müsste man den Status Read/unRead verwenden, dieser funktioniert aber wohl nur, wenn Nachrichten nicht auch noch woanders gelesen werden.
- Ähnliches gilt übrigens auch für Kontakte...
Zitat von: viegener am 25 Juni 2015, 16:55:10
Frage an diejenigen, die es bereits ausprobiert haben, benutzt ihr separate ids für das Modul oder schon vorhandene, die auch auf anderen Geräten eingesetzt werden?
Ich benutze meine Festnetznummer.
Grüße
igami
Zitat von: igami am 25 Juni 2015, 18:03:03
Ich benutze meine Festnetznummer.
Gute Idee, das hatte ich schon wieder verdrängt, dass man den Aktivierungscode ja auch per Anruf erhalten kann...
Ich habe gerade nochmal eine neue Version im ersten Post hinterlegt.
Dort habe ich eine neue Funktion sendPhoto zu den set commands hinzugefügt.
Das kann auch verwendet werden, um Status-Informationen oder auch Sicherheitskamera oder webCam-Bilder zu senden.
Telegram erlaubt auch eine Bildunterschrift, um zum Beispiel einen Kameranamen oder/und Zeitangabe mitzusenden.
Ich habe selbst nur mit png-Dateien getestet, es sind aber wohl auch andere Grafikformate unterstützt.
Hallo Johannes
der RPi 2 läuft nun. Nach dem gestern der erste Versuch TG zu installieren nicht funktionieren wollte,
habe ich die Installation nach http://www.emmeshop.eu/blog/?q=node/44 (http://www.emmeshop.eu/blog/?q=node/44) durchgeführt.
Musste wie von Dir beschrieben dann mit
Zitat./configure --disable-python
ausführen.
Dann hieß es warten....
Nun ist TG erst einmal installiert.
Je nach Zeit folgt dann FHEM.
Danke nochmals für das Modul.
Gerd
Gern geschehen.
Ich habe jetzt einige Zeit das telegram-cli verfolgt und der Autor pflegt das Repository aktiv, so dass heir auch mit Korrekturen und Verbesserungen zu rechnen ist. Momentan erscheint mir die Funktionalität aber sehr gut abgedeckt und lässt sich ja über den raw Befehl auch von fhem benutzen. Wenn es bestimmte Operationen gibt, die Sinn machen füge ich die auch noch hinzu.
Gruss,
Johannes
Ich habe heute mal eine fhemwiki-Seite für Telegram erstellt:
http://www.fhemwiki.de/wiki/Telegram (http://www.fhemwiki.de/wiki/Telegram)
Hallo Johannes,
so nach ein paar Schwierigkeiten und etwas Zeit heute Abend, habe ich FHEM auf dem neuen RPi2 installiert.
Telegram-Cli lies sich wie beschrieben starten.
Ich kann nun an User Nachrichten schicken.
Aber zu mehr hat es bisher nicht gereicht.
Schön wäre es hier zu lesen was den die einzelnen Nutzer damit anstellen?!
Beispiele würden das ganze abrunden so das man als DAU weiter kommt :'(
Kann ich/wie kann ich z.B. Sensordaten abfragen?
Gruss Gerd
Ich habe gerade eine neue Version abgeschlossen, die das direkte Reagieren auf Kommandos erlaubt.
Idee: Man definiert einen Präfix (z.b. "ok fhem") über das Attribute cmdKeyword
und wenn man eine Message mit diesem Anfang an fhem schickt, wird der Rest der Nachricht also Kommando in fhem ausgeführt. Dazu kann man noch als Einschränkungen einen contact / peer definieren über das Attribut cmdRestrictedPeer
. Dann kann nur dieser Befehle senden.
Desweiteren kann man Kommandos auf trigger einschränken, über das Attribut cmdTriggerOnly
, so dass nur trigger und keine generellen Befehle möglich sind.
@Gerd: Ich habe in der Doku ein Beispiel für die Verwendung der neuen Kommandofunktionalität bei den Attributen beschrieben.
Die neue Version ist im ersten Post angehängt und findet sich auch in github
Ach so: Ich habe auch noch etwas an der Stabilität der Bearbeitung von eingehenden Nachrichten gearbeitet, es werden nun alle eingehenden Meldungen direkt verarbeitet und es wird auch nichts mehr verschluckt.
Zitat von: Maista am 09 Juli 2015, 22:14:36
Aber zu mehr hat es bisher nicht gereicht.
Schön wäre es hier zu lesen was den die einzelnen Nutzer damit anstellen?!
Beispiele würden das ganze abrunden so das man als DAU weiter kommt :'(
Kann ich/wie kann ich z.B. Sensordaten abfragen?
Hier mal ein einfaches Beispiel für Benachrichtigungen bei offenem Fenster
define alarm_window DOIF ( ([somekeymatic:state] =~ /^locked/) and ([somewindow:state] =~ "/^open$/" ) ) ( set tele message "ACHTUNG: somewindow ist noch offen" )
Ich verwende so etwas, um direkt beim Abschliessen benachrichtigt zu werden, wenn noch ein Fenster im Erdgeschoss geöffnet ist.
Analog kann man natürlich auch über angeschaltete Lampen oder ähnliches benachrichtigen.
Da die DOIF-Ausdrücke schnell relativ unhandlich werden, verwende ich bei solchen Dingen lieber eigene Perl-Routinen in 99-myUtils. Für so etwas wäre es eigentlich schön, wenn es ein graphisces DOIF-Tool geben würde, aber das ist sicher ein ganz anderes Thema.
@All: Was machen denn andere damit?
Johannes
Zitat von: viegener am 12 Juli 2015, 16:59:39
Da die DOIF-Ausdrücke schnell relativ unhandlich werden, verwende ich bei solchen Dingen lieber eigene Perl-Routinen in 99-myUtils.
Sehe ich auch so, die komplexere DOIF-Ausdrücke sind schwer zu schreiben und nach einer Weile kaum möglich zu überblicken. Daher verwende ich auch überall eher Perl. Für kleinere Sache sind DOIF dagegen recht praktisch.
Hallo, erstmal vielen Dank für das tolle Modul. Ich kämpfe jetzt schon eine ganze Weile damit. Vom Terminal kann ich Nachrichten versenden. Klappt einwandfrei. Nur wenn ich die telegram-cli im Hintergrund ausführen möchte, um mit 70_Telegram darauf zuzugreifen, erhalte ich folgende Nachricht:
change_user_group: can't find the user telegramd to switch to. Ich habe die telegram_cli auf einem 2. Raspberry laufen. Bisher habe ich noch keine Verbindung aus fhem bekommen..Was mache ich falsch???
Beste Grüße Jürgen
Zitat von: juergen012 am 13 Juli 2015, 18:39:17
Hallo, erstmal vielen Dank für das tolle Modul. Ich kämpfe jetzt schon eine ganze Weile damit. Vom Terminal kann ich Nachrichten versenden. Klappt einwandfrei. Nur wenn ich die telegram-cli im Hintergrund ausführen möchte, um mit 70_Telegram darauf zuzugreifen, erhalte ich folgende Nachricht:
change_user_group: can't find the user telegramd to switch to. Ich habe die telegram_cli auf einem 2. Raspberry laufen. Bisher habe ich noch keine Verbindung aus fhem bekommen..Was mache ich falsch???
Beste Grüße Jürgen
Hallo Juergen,
ich vermute Du startest telegram-cli mit der Option
-U telegramd
Durch diese Option soll telegram-cli unter dem Benutzer telegramd laufen, die Meldung deutet darauf hin, dass dieser Benutzer nicht existiert. Testweise kannst Du diese Option ja mal weglassen (oder entsprechend im Startscript entfernen). Alternativ kannst Du auch per
sudo adduser telegramd
den Benutzer hinzufügen, allerdings sind dann natürlich auch die Pfade (insbesondere wenn Sie von home ausgehen unterschiedlich).
Ich lasse mein telegram-cli unter dem Benutzer von fhem laufen, allerdings ist das bei mir auf demselben raspberry wie fhem selbst.
Gruss,
Johannes
Hallo Johannes, danke für die Antwort.
Mein Startscript sieht so aus:
/root/tg/bin/telegram-cli -k /root/tg/tg-server.pub -W -C -d -P 12345 --accept-any-tcp -L telegram.log -l 20 -N -R -vvv &
Dort habe ich die Option -U nicht angegeben. Wenn ich mit /root/tg/bin/telegram-cli -k /root/tg/tg-server.pub starte, kann ich auf der Konsole Nachrichten versenden. Den user telegramd hatte ich auch schon angelegt..ohne Erfolg. Der Fehler besteht.
Beste Grüße Jürgen
Edit: Jetzt läuft es..Habe als root installiert. Jetzt erneut ais user pi..und jetzt funzt es!! Vielen DanK!!
Hallo Juergen,
schön das es geht.
Ich habe inzwischen nachgeschaut, telegram-cli verwendet standardmässig den Benutzer telegramd wenn es als root läuft (uid 0), das muss ich wohl noch in die Doku und Hinweise mitaufnehmen.
Gruss,
Johannes
Hallo nochmal, Telegram läuft super mit Fhem. Werde jetzt die anderen Pushdienste durch Telegram ersetzen. Auch der Empfang von Nachrichten klappt super. Mit der Einrichtung des prevMsgPeer hatte ich noch leichte Probleme, aber das läuft jetzt auch. Ich hatte ihn zuerst mit underscore (Vorname_Nachname) eingetragen. Er muss aber ohne _ (Vorname Nachname) eingetragen werden. Dann klappt es.
Beste Grüße und nochmals vielen Dank!! Jürgen
Hallo Johannes,
ich habe die letzte Zeit kaum Zeit gefunden um mich weiter mit FHEM zu beschäftigen :-[
Am 20.7 gehts nun erst mal in den Urlaub für 2 Wochen.
Danach hoffe ich, das ich weiter machen kann.
Danke und bis dahin..
Gerd
Ich habe heute nochmal die Read-Funktion überarbeitet.
Alle eingehenden Meldungen werden nun bearbeitet auch wenn sie eingehen während gerade neue Nachrichten eintreffen.
Im wesentlich also ein Bugfix-Release.
Es findet sich wieder im ersten Post.
Johannes
Danke dir für dein tolles Modul Johannes,
das ist der Sargnagel für Pushover, Pushbullet und WhatsApp.
Wäre toll wenn das Modul bald in den offiziellen Repo aufgenommen würde 8)
Noch ein tipp für die Leute die telegram-cli bisher manuell starten, hier ist ein einfacheres script um es als service zu starten:
https://github.com/vysheng/tg/issues/373#issuecomment-75162998
Zitat von: HolyMoly am 23 Juli 2015, 09:08:23
Danke dir für dein tolles Modul Johannes,
das ist der Sargnagel für Pushover, Pushbullet und WhatsApp.
Wäre toll wenn das Modul bald in den offiziellen Repo aufgenommen würde 8)
Danke für die Blumen! Gern geschehen.
Ja mit den Modalitäten für das offizielle Repo muss ich micher erst noch befassen. Wenn es genügend Interesse gibt, kann ich das aber angehen.
Auch ich bin begeistert. Telegram ist eigentlich die optimale Verbindung von Fhem zur Außenwelt !!!
Obwohl die Installation nicht ganz einfach ist (Raspberry).
Ich habe eine Festnetznummer mit telegram Account und ein Account fürs Handy.
Mit secretChat bekomme ich nun verschiedene Meldungen (Anrufe, Schalungen...) und auch steuern kann ich eigentlich auch alles.
Notify zum Schalten:
define tSCHALTEN notify Telegram:msgText.* $EVTPART1 $EVTPART2 $EVTPART3
Beispiel: set Lampe on
Zumindest ging es schon mal;)
Im Moment habe ich ein Problem:
STATE opened
defaultSecret 1
...
set Telegram message Hallo
FAIL: 38: can not parse arg #1
Mir ist nicht ganz klar in welcher Reihenfolge die Clients gestartet werden müssen.
Muss z.B. nach einem Raspberry reboot auf dem Handy ein neuer Geheimer Chat gestartet werden ?
Kann in Fhem ein "neuer" Chat erzwungen werden ?
(set Telegram connect???)
Vielen Dank schon mal für Infos
Axel
Zitat von: berlineraxel am 27 Juli 2015, 17:25:26
Auch ich bin begeistert. Telegram ist eigentlich die optimale Verbindung von Fhem zur Außenwelt !!!
Obwohl die Installation nicht ganz einfach ist (Raspberry).
Ich habe eine Festnetznummer mit telegram Account und ein Account fürs Handy.
Mit secretChat bekomme ich nun verschiedene Meldungen (Anrufe, Schalungen...) und auch steuern kann ich eigentlich auch alles.
Notify zum Schalten:
define tSCHALTEN notify Telegram:msgText.* $EVTPART1 $EVTPART2 $EVTPART3
Beispiel: set Lampe on
Zumindest ging es schon mal;)
Im Moment habe ich ein Problem:
STATE opened
defaultSecret 1
...
set Telegram message Hallo
FAIL: 38: can not parse arg #1
Mir ist nicht ganz klar in welcher Reihenfolge die Clients gestartet werden müssen.
Muss z.B. nach einem Raspberry reboot auf dem Handy ein neuer Geheimer Chat gestartet werden ?
Kann in Fhem ein "neuer" Chat erzwungen werden ?
(set Telegram connect???)
Vielen Dank schon mal für Infos
Axel
Hallo Axel,
Danke erstmal und Ja ich sehe auch, dass telegram aus meiner Sicht eine sehr gute Möglichkeit um Benachrichtigungen oder Kommandos nach/von aussen zu erlauben ohne gleich einen direkten Zugang von aussen zu ermöglichen oder seine Daten freizugeben.
Die Kommandosteuerung ist mit der aktuellen Version viel einfacher, denn man kann nun einfach ein Schlüsselwort (Attribut: cmdKeyword) zu definieren, mit dem eine Message anfangen soll. Dann wird automatisch das entsprechende Kommando ausgelöst. Siehe dazu auch weitere einschränkende Attribute.
Ich verwende die secret chat Funktion selber nicht im Produktivbetrieb, da ich meine Chats auf mehreren Devices nutze und das ja mit secret chats nicht geht. Ich versuche mal Deine Fragen zu beantworten:
Bezueglich Reihenfolge: Eigentlich gibt es keine feste Reihenfolge sowohl wenn telegram-cli zuerst gestartet wird oder auch FHEM zuerste versucht den Kontakt aufzubauen sollte es funktionieren. Der STATE "opened" zeigt üblicherweise an, dass eine korrekte Verbindung zwischen FHEM und telegram-cli besteht.
Bezueglich neuen Chat anlegen: Grundsätzlich sind secret chats in telegram nicht auf dem server gespeichert, damit muss der secret chat nach einem Restart neu angelegt werden. Dazu gibt es ja den set-Befehl:
set <devicename> secretChat
Der secret chat kann aber erst benutzt werden, wenn die Gegenstelle diesen bestätigt hat.
Problem ist, dass telegram-cli wenn man mehrfach dieses Kommando absendet neue Chats anlegt, die z.B: so heissen und entsprechend ausgegeben werden:
ANSWER 54
Secret chat !_Peter_Mustermann#2 updated access_hash
ANSWER 59
Encrypted chat !_Peter_Mustermann#2 is now in wait state
In diesem Fall müsste für secret chats in FHEM der defaultPeer als
Peter_Mustermann#2
eingetragen werden. Der nächste Secret Chat heisst dann
Peter_Mustermann#3
und so weiter.
Jetzt nochmal zu Deinem Problem:
Die Fehlermeldung lässt darauf schliessen, dass das Attribute defaultPeer für telegram-cli nicht behandelt werden kann. Vielleicht kannst Du mal schauen, ob Dein Eintrag Leerzeichen enthält und diese durch _ (Unterstrich) ersetzen. Ich nehme aber an, es hängt mit den anderen Punkten zu sammen, dass zuerst ein neuer secret chat angelegt werden muss und deshalb der defaultPeer (arg #1) nicht passt.
Ich habe bisher leider keine Möglichkeit gefunden abzufragen, ob es einen aktiven secret chat gibt und diesen dann bei Bedarf zu eröffnen. Auch der Status des chats (waiting / ok) ist leider nicht überprüfbar im client.
Gruss,
Johannes
Ich habe heute abend mal weiter mit secret chats experimentiert und dabei festgestellt, dass es ein paar Ungereimtheiten im telegram-cli gibt.
Hallo Johannes,
kann irgendwie nicht an non-defaultPeers versenden.
set telegram messageTo xxx_xxx Hallo Welt
FAIL: 38: can not parse arg #1
aber in der cli ist der Kontakt angelegt und versenden geht mit
msg xxx_xxx Hallo Welt
geht wunderbar. Woran könnte das liegen?
Zitat von: HolyMoly am 29 Juli 2015, 12:50:12
Hallo Johannes,
kann irgendwie nicht an non-defaultPeers versenden.
set telegram messageTo xxx_xxx Hallo Welt
FAIL: 38: can not parse arg #1
aber in der cli ist der Kontakt angelegt und versenden geht mit
msg xxx_xxx Hallo Welt
geht wunderbar. Woran könnte das liegen?
Ich weiss das telegram-cli manchmal etwas kritisch ist beim Parsen von Kontaktnamen.
Kannst Du sagen ob der Kontaktname Sonderzeichen oder Umlaute enthält? Wenn ich recht weiss ist auch Gross- und Kleinschreibung signifikant.
Kannst Du mal die Ausgabe von folgendem Befehl überprüfen, ob der von dir verwendete Kontakt korrekt gelistet ist (allerdings ohne den Unetrstrich zwischen Vor- und Nachnamen)
set telegram raw contact_list
Ansonsten werde ich gerne heute abend nochmal übrprüfen, ob ich das Probelm nachstellen kann.
Gruss,
Johannes
Hallo,
da ich erst anfange mit FHEM hätte ich folgende Frage zur Einbindung von Telegram in meinen FHEM Server auf meinen Pi mit FHEM,
-Ich habe bereits das Programm zum Senden und Empfangen von Nachrichten mit Telegram erfolgreich auf meinen Pi nach Anleitung hinbekommen,also ich kann Nachrichten Senden und Empfangen auf Putty.
Frage:
einloggen auf Putty mache ich mit
/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub (Pfad für die tg-server.pub)
dann klappt der Nachrichtenversand ohne Probleme.
meinen Kontakt R._Muster hab ich angelegt,
wie muss ich jetzt das Modul-Telegram in FHEM integrieren ? ,und welche Attribute müssen noch gesetzt werden um mit FHEM zu kommunizieren.
In welchen Ordner muss die Datei 70_Telegram.pm hochgeladen werden.
Danke
mfg Co010
Zitat von: co010 am 01 August 2015, 11:45:24
Hallo,
da ich erst anfange mit FHEM hätte ich folgende Frage zur Einbindung von Telegram in meinen FHEM Server auf meinen Pi mit FHEM,
-Ich habe bereits das Programm zum Senden und Empfangen von Nachrichten mit Telegram erfolgreich auf meinen Pi nach Anleitung hinbekommen,also ich kann Nachrichten Senden und Empfangen auf Putty.
Frage:
einloggen auf Putty mache ich mit
/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub (Pfad für die tg-server.pub)
dann klappt der Nachrichtenversand ohne Probleme.
meinen Kontakt R._Muster hab ich angelegt,
wie muss ich jetzt das Modul-Telegram in FHEM integrieren ? ,und welche Attribute müssen noch gesetzt werden um mit FHEM zu kommunizieren.
In welchen Ordner muss die Datei 70_Telegram.pm hochgeladen werden.
Danke
mfg Co010
Wenn Du telegram-cli bei Dir starten kannst müsstest Du das Kommando als "daemon", also im Hintergrund starten, so dass es läuft auch wenn Du nicht über putty verbunden bist und fhem sich damit verknüpfen kann.
Ich nehme an, Dein fhem läuft auf demselben pi wenn ich Deine Beschreibung richtig verstehe:
Analog zum Komando in der Doku müsstest Du etwa folgendes Kommando eingeben:
/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -C -d -P <portnumber> -L <logfile> -l 20 -N -R &
Bei portnumber solltest Du eine Zahl z.B. zwischen 10000 und 30000 verwenden (z.B. 11111). Diese muss natürlich ohne < > eingefügt werden.
Bei logfile z.B. den Namen einer Datei in /home/pi in der Du die logs von telegram-cli ablegen willst. Also z.B. /home/pi/telegram.log
Wenn diese Datei zu gross wird, kannst Du statt
-l 20
auch einen kleinen Wert verwenden z.B.
-l 2
Damit kannst Du dann in fhem einen telegram device anlegen (hierbei den oben gewählten port verwenden).
Dieses Kommando muss bei jedem Neustart des pi (nicht von fhem) wieder ausgeführt werden, damit telegram funktioniert.
Ich hoffe das hilft und passt jetzt auch zu Deiner Umgebung,
Johannes
Hallo,
ich habe jetzt diese Zeile in der Putty Konsole eingetragen...
/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -C -d -P 11111 -L /home/pi/telegram.log -l 10 -N -R &
den Port habe ich auf 11111 gesetzt
dann habe ich den Pi neu gestartet
als Device hab ich dieses eingetragen
define Telegram Telegram raspberrypi:11111 -das Device wurde angelegt aber es meldet -STATE disconnected.
was mache da falsch ? Sorry-Anfänger halt.
mfg co010
Hallo co010,
wie Johannes im Post über Dir geschrieben hat, muß der Befehl nach einem Neustart wieder eingegeben werden. Sonst läuft Telegram nicht...
Gruß Daniel
ja Ok,
eingefügt in Putty: /home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -C -d -P 12350 -L /home/pi/telegram.log -l 10 -N -R &
das ist der Inhalt der Telegram.log
Telegram-cli version 1.3.3, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license' for details.
Telegram-cli uses libtgl version 2.0.3
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
Telegram-cli uses libpython version 2.7.3
I: config dir=[/home/pi/.telegram-cli]
[warn] Epoll ADD(1) on fd 0 failed. Old events were 0; read change was 1 (add); write change was 0 (none): Operation not permitted
eingefügt in FHEM: define Telegram Telegram raspberrypi:12350
aber immer noch STATE disconnected
co010
Zitat von: co010 am 01 August 2015, 21:43:51
ja Ok,
eingefügt in Putty: /home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -C -d -P 12350 -L /home/pi/telegram.log -l 10 -N -R &
das ist der Inhalt der Telegram.log
Telegram-cli version 1.3.3, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license' for details.
Telegram-cli uses libtgl version 2.0.3
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
Telegram-cli uses libpython version 2.7.3
I: config dir=[/home/pi/.telegram-cli]
[warn] Epoll ADD(1) on fd 0 failed. Old events were 0; read change was 1 (add); write change was 0 (none): Operation not permitted
eingefügt in FHEM: define Telegram Telegram raspberrypi:12350
aber immer noch STATE disconnected
co010
Der logfile sieht an sich ok aus, die Warnung habe ich auch in meinem logfile gefunden. Vielleicht hat es einfach etwas gedauert bis sich fhem verbindet, mach doch im Browser nochmals einen Refresh der Seite?
Ansonsten:
Wenn telegram-cli und fhem auf demselben Rechner laufen, dann versuche mal
define Telegram Telegram localhost:12350
Wenn das nicht geht versuche mal zu überprüfen, ob telegram läuf. in Putty:
ps aux | grep tele
Alles in einer Zeile!
Dann müssten 2 Prozesse auf gelistet werden, einer ist das obige Kommando und einer telegram-cli. Wenn nur ein Prozess kommt, läuft telegram-cli nicht.
Sollte es laufen, kannst Du versuchen Dich über putty statt mit port 12350 auf dem raspberrypi zu verbinden (also in putty host raspberrypi port 12350 type telnet). Dann müsstest Du in der Lage sein z.B. mit help oder anderen Kommandos Antowrten von dem laufenden telegram-cli zu erhalten.
Ausserdem kannst Du natürlich Deinem telegram account auf dem pi mal eine Nachricht schicken und sehen ob der Logfile wächst...
Hallo,
ich habe es hinbekommen es geht ,eingetragen hab ich jetzt -localhost:1230 (port nur 4 Stellen) nicht 5stellig wie in der Doku.
Ich habe mal noch die Telegram Redame.md Übersetzt im Anhang
Danke Johannes für deine Hilfe.
mfg co010
Telegram Redame.md
Telegramm
Das Telegramm-Modul ermöglicht die Nutzung des Instant Messaging-Dienst Telegramm von FHEM in beide Richtungen (Senden und Empfangen). So können FHEM Telegramm für Mitteilungen von Staaten oder Warnungen verwenden, können allgemeine Informationen und Aktionen ausgelöst werden.
Voraussetzung ist die Installation des Telegramm-cli (für UNIX) finden Sie hier https://github.com/vysheng/tg Telegramm-cli Bedürfnisse konfiguriert und für die Verwendung mit Telegramm registriert werden. Am besten ist die Verwendung eines dedizierten Telefonnummer für Telegramm, so dass Nachrichten an und von einem Account verschickt und lesen Status der Nachrichten verwaltet werden wird. Telegramm-cli muss als Daemon auf einen TCP-Port für die Kommunikation mit FHEM aktivieren ausführen.
Telegramm-cli -k <Pfad zur Schlüsseldatei z.B. tg-server.pub> -W -C -d -P <Portnummer> [--accept-any-tcp] -L <logfile> -l 20 -N -R &
-C
ERFORDERLICH: Farbausgabe zu deaktivieren, um Terminal Farbe Escape-Sequenzen in Reaktionen zu vermeiden. Ansonsten Parser auf diese versagt
-d
ERFORDERLICH: Laufen Telegramm-CLI als Daemon (von Klemme Hintergrundprozess entkoppelt)
-k <Pfad zur Schlüsseldatei z.B. tg-server.pub>
Pfad zur Schlüsseldatei für Telegramm-cli, in der Regel etwas wie tg-server.pub
-L <Logfile>
Geben Sie den Pfad zu der Protokolldatei für die Telegramm-cli. Dies ist besonders hilfreich für Debugging-Zwecken und in Verbindung mit dem specifed Protokollebene zB verwendet (L 20)
-l <Protokollstufe>
numerischen Protokollebene für die Ausgabe in Protokolldatei
-N
ERFORDERLICH: in der Lage sein mit msgids umzugehen
-P <Portnummer>
ERFORDERLICH: Portnummer auf dem der Dämon sein sollte hören zB 12345
-R
Readline deaktivieren, um zu vermeiden Logfile mit Bearbeitungssequenzen gefüllt
-v
Ausführlichere Nachrichten Nachrichten
-W
REQUIRED ?: erscheint notwendig, um sicherzustellen, die Kommunikation mit Telegramm-Server korrekt eingerichtet
--accept-any-tcp
Ermöglicht den Zugriff auf den Daemon auch von entfernten Maschinen. Dies ist nur der Telegramm-cli nicht auf demselben Host als FHEM laufenden Bedarf.
ACHTUNG: Es gibt in der Regel keine zusätzlichen Sicherheitsanforderung zu Telegramm-CLI-Zugriff, also benutzen Sie dies mit Vorsicht!
Mehr Details zu den Befehlszeilenparameter von Telegramm-cli finden Sie hier: Laufen Telegramm CLI als Daemon, sondern starten Sie es noch manuell als Hintergrund-Daemon-Prozess. Telegramm-cli -k tg-server.pub -W -C -d -P 12345 --accept-any-tcp -L telegram.log -l 20 -N -R -vvv &
Das Telegramm Modul ermöglicht Empfang von (Text-) Nachrichten an jeden Peer (Telegramm user) und sendet Textnachrichten an die als Attribut festgelegten Standard Peer.
Einschränkungen und mögliche Erweiterungen
Message-ID Handhabung ist derzeit noch nicht implementiert
Dies bedeutet insbesondere, dass Nachrichten während der Ausfallzeit von Telegramm-cli und / oder FHEM empfangen werden nicht behandelt, wenn FHEM und Telegramm-cli sind wieder online bekommen.
Laufende Telegramm-cli als Daemon mit Unix-Sockets wird derzeit nicht unterstützt
Definieren
definieren <name> Telegramm [<Hostname>:] <port>
Definiert ein Telegramm Gerät entweder über die Angabe nur eine Portnummer oder remote auf einem anderen Host durch Angabe von Host und Portnummer durch Doppelpunkt getrennt lokal auf dem Server-Host ausgeführt FHEM. Beispiele:
definieren user1 Telegramm 12345
definieren Admin Telegramm myserver: 22222
Einstellen
set <name> <, was> [<value>]
wobei <, was> ist eine der
Nachricht <text>
Sendet die angegebene Nachricht an den aktuell definierten Standard Peer-Benutzer
messageTo <Peer> <text>
Sendet die angegebene Nachricht zum gegebenen Peer. Peer muss ohne Leerzeichen oder andere Trennzeichen angegeben werden, sollte also Räume, die durch Unterstrich ersetzt werden (zB First_Last)
raw <raw command>
Sendet die angegebenen rohen Befehl an den Client
sendPhoto <file> [<caption>]
Sendet ein Foto auf den Standard Peer. Datei ist die Angabe eines Dateiname und Pfad, die lokal auf dem Verzeichnis, in dem Telegramm-cli Prozess gestartet ist. So könnte dies ein Weg auf dem Remote-Host, auf dem Telegramm-cli läuft und daher nicht lokal auf FHEM sein.
Erhalten
erhalten <name> <, was> [<value>]
wobei <, was> ist eine der
msgById <Nachrichten-ID>
Ruft die Nachricht von der entsprechenden Meldung id identifed
Attribute
defaultPeer <name>
Geben Sie Vorname Name des Standard-Peer für das Senden von Nachrichten verwendet werden. Der Peer sollte in Form eines firstname_lastname gegeben. Für scret Kommunikation wird das! _ Automatisch als Präfix setzen.
defaultSecret
Verwenden Sie geheime Chat für die Kommunikation mit defaultPeer. Einschränkung: Wenn kein Geheimnis, Chat mit dem entsprechenden Peer gestartet wurde, könnte Nachrichtens scheitern. (Siehe Satz secretChat)
cmdKeyword <keyword>
Geben Sie einen bestimmten Text, der gesendet werden soll, damit der Rest der Nachricht als ein Befehl ausgeführt braucht. Wenn also beispielsweise zu cmdKeyword ok FHEM Sie dann wird eine Nachricht mit dieser Zeichenfolge wird als FHEM Befehl ausgeführt werden (siehe auch cmdTriggerOnly).
Beispielsweise eine Nachricht von ok FHEM attr Telegramm Raum IM würde den Befehl attr Telegramm Raum IM ausführen und stellen ein Gerät namens Telegramm in das Zimmer IM. Das Ergebnis der cmd wird immer als Nachricht an das defaultPeer geschickt
cmdRestrictedPeer <Peername>
Die Ausführung von Befehlen zu beschränken nur auf Nachrichten von der der angegebenen Peername (in Form von firstname_lastname angegeben) gesendet. Eine Meldung mit der cmd und Absender wird auf die Standard Peer bei einem anderen Benutzer gesendet versuchen, gesendeten Nachrichten
cmdTriggerOnly <0 oder 1>
Die Ausführung von Befehlen zu beschränken nur Auslösebefehl. Wenn dies attr ist (Wert 1) gesetzt, wird nur der Name des Auslösers hat sogar angegeben werden (dh ohne vorhergehenden Statement Trigger). Wenn also beispielsweise zu cmdKeyword ok FHEM gesetzt und cmdTriggerOnly gesetzt ist, wird eine Meldung von ok FHEM someMacro würde die FHEM Befehl Trigger someMacro auszuführen.
lastMsgId <Nummer>
Geben Sie die letzte Meldung von Telegramm bearbeitet.
HINWEIS: Noch nicht behandelt
wortreich
Messwerte
MsgID <text>
Die ID der zuletzt empfangenen Nachricht wird in dieser Lese gespeichert. Für geheime Chats ein Wert von -1 wird gegeben werden, da die msgids von geheimen Botschaften sind nicht Teil der fortlaufenden Nummerierung
msgPeer <text>
Der Absender der zuletzt empfangenen Nachricht.
msgText <text>
Der zuletzt empfangene Nachrichtentext wird in diesem Lese gespeichert.
prevMsgId <text>
Die ID der vorletzte empfangene Nachricht wird in dieser Lese gespeichert.
prevMsgPeer <text>
Der Absender der vorletzten empfangenen Nachricht.
prevMsgText <text>
Der vorletzte empfangene Nachrichtentext wird in diesem Lese gespeichert.
Zitat von: co010 am 02 August 2015, 11:26:25
Hallo,
ich habe es hinbekommen es geht ,eingetragen hab ich jetzt -localhost:1230 (port nur 4 Stellen) nicht 5stellig wie in der Doku.
Ich habe mal noch die Telegram Redame.md Übersetzt im Anhang
Danke Johannes für deine Hilfe.
Gern geschehen.
Ja, grundsätzlich muss der Port nicht 5-stellig sein, Port 1230 sollte auch kein Problem ergeben.
Wenn es bei Dir mit port 1230 läuft heisst das, dass auch in dem Kommando zum Start von telegram-cli
-P 1230
als Parameter steht. Diese beiden Werte müssen identisch sein (Also Kommandozeile für Start von telegram-cli und define in fhem).
Gruss,
Johannes
Hallo ,
ich hätte da mal noch 2 Fragen da jetzt das Modul-Telegram so gut läuft kann man ja so einiges damit machen,
1. wie müsste man in FHEM definieren wenn man eine Nachricht zum Pi schickt z.B. "Hoflicht an " das der entsprechende Aktor in FHEM eingeschaltet wird ?
2. gibt es auch eine Möglichkeit die Telegramm-CLI als Daemon automatisch zu Starten nach einen Stromausfall am Pi,also beim Neustart ?
mfg co010
Zitat von: co010 am 02 August 2015, 19:27:42
2. gibt es auch eine Möglichkeit die Telegramm-CLI als Daemon automatisch zu Starten nach einen Stromausfall am Pi,also beim Neustart ?
Sicher ;)
Zitat aus https://wiki.ubuntuusers.de/Dienste
ZitatEigenes Start-/Stop-Skript erstellen
Man kann natürlich eigene Start/Stop-Skripte erstellen. Dazu sollte man sich die bereits in /etc/init.d/ liegenden Skripte als Vorbild nehmen oder die offizielle Vorlage /etc/init.d/skeleton als Ausgangsbasis nutzen.
Wem die Start-/Stop-Skripte und die offizielle Vorlage zu komplex sind, der kann sich ein relativ einfaches Start-/Stop-Skript für fast jeden Zweck selbst schreiben. Man benötigt lediglich eine Datei, die auf folgendem Beispiel basiert:
#!/bin/sh
### BEGIN INIT INFO
# Provides: Was macht das Skript?
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Kurze Beschreibung
# Description: Längere Bechreibung
### END INIT INFO
# Author: Name <email@domain.tld>
# Aktionen
case "$1" in
start)
/opt/beispiel start
;;
stop)
/opt/beispiel stop
;;
restart)
/opt/beispiel restart
;;
esac
exit 0
Der Kommentar-Text im Kopfteil der Datei ist sehr wichtig und wird vom Befehl update-rc.d ausgewertet. Dieser Kommentar sollte angepasst, aber nicht gelöscht werden! Mehr zu korrekten LSB-InitSkripten findet man im Debian Wiki. Die Datei speichert man z. B. in /etc/init.d/beispiel und macht sie danach per
sudo chmod 755 /etc/init.d/beispiel
ausführbar. Anschließend fügt man das Skript mit dem Befehl update-rc.d in die entsprechenden Runlevel ein.
Hallihallo ...
(co010) zu 1:
Ich habe das über cmdalias (http://fhem.de/commandref.html#cmdalias (http://fhem.de/commandref.html#cmdalias)) gelöst.
define Alias_Hoflicht cmdalias Hoflicht .* AS {fhem("set Hoflicht $EVENT")}
Bei der Telegram-Config im FHEM musst Du dann noch cmdKeyword (das Kommando, woraus FHEM schließt, dass es einen eingetroffenen Text als Befehl ausführen soll) und defaultPeer (i.d.R. Dein Telegram-Name im Format Vorname_Nachname) setzen.
Wenn cmdKeyword = "FHEM", würde der Text zum Senden dann lauten: "FHEM Hoflicht an".
Ergänzung zum vorherigen Post - zu 2:
Beispiele für case "$1" usw ...
# Aktionen
case "$1" in
start)
echo "Telegram daemon start ..."
su telegramd -c '/opt/tg/bin/telegram-cli -k /opt/tg/server.pub -W -C -d -P 2391 --accept-any-tcp -L /var/log/telegram.log -l 20 -N -R -vvv &'
echo "... done"
;;
stop)
echo "Telegram daemon stop ..."
sudo pkill telegram-cli
echo "... done"
;;
restart)
echo "stopping telegram daemon..."
sudo pkill telegram-cli
echo "... done --- restarting ..."
su telegramd -c '/opt/tg/bin/telegram-cli -k /opt/tg/server.pub -W -C -d -P 2391 --accept-any-tcp -L /var/log/telegram.log -l 20 -N -R -vvv &'
echo "... done"
;;
esac
exit 0
Pfade und Port (Parameter -P) natürlich an Deine Konfiguration anpassen ;)
hth ...
Gruß
Sebastian
Was mir gerade noch so zum Thema generell einfällt:
Erstmal Dank dem Autor - Telegram läuft bisher sehr stabil. Hatte vorher mit yowsup experimentiert, was allerdings leider zu sehr vielen Abstürzen und somit zum Ausfall der kompletten Steuerung führte.
Hätte noch einen kleinen Verbesserungsvorschlag:
Wäre es möglich, ein Reading mit korrekt formatiertem msgPeer (mit Unterstrich) einzufügen? Ist praktisch, wenn man in einem externen Script "messageTo" benutzen möchte. Bisher behelfe ich mir mit einem Userreading
msgPeerUR {my $mpur=ReadingsVal("Telegram","msgPeer","defaultPeer"); $mpur =~ s/ /_/g ; return $mpur;}
um den Unterstrich hinzuzufügen.
Hintergrund: bei Mehrbenutzerbetrieb soll derjenige, der einen Befehl per Telegram absetzt auch die Antwort des Scriptes (z.B. den Wetterbericht) erhalten.
Gruß
Sebastian
Von mir noch ein Ergönzung zur Antwort von Sebastian zu 1)
Das Attribut cmdKeyword <keyword>
erlaubt es fhem mit telegram so einzurichten, dass beliebige Kommandos geschickt werden können. Der Weg über cmdalias erlaubt es elegant auch komplexe oder lange Kommandos über relativ kurze telegram messages zu senden.
Zitat von: Sunless am 02 August 2015, 22:00:11
Was mir gerade noch so zum Thema generell einfällt:
Erstmal Dank dem Autor - Telegram läuft bisher sehr stabil. Hatte vorher mit yowsup experimentiert, was allerdings leider zu sehr vielen Abstürzen und somit zum Ausfall der kompletten Steuerung führte.
Hätte noch einen kleinen Verbesserungsvorschlag:
Wäre es möglich, ein Reading mit korrekt formatiertem msgPeer (mit Unterstrich) einzufügen? Ist praktisch, wenn man in einem externen Script "messageTo" benutzen möchte. Bisher behelfe ich mir mit einem Userreading
msgPeerUR {my $mpur=ReadingsVal("Telegram","msgPeer","defaultPeer"); $mpur =~ s/ /_/g ; return $mpur;}
um den Unterstrich hinzuzufügen.
Hintergrund: bei Mehrbenutzerbetrieb soll derjenige, der einen Befehl per Telegram absetzt auch die Antwort des Scriptes (z.B. den Wetterbericht) erhalten.
Gruß
Sebastian
Hallo Sebastian,
ja gerne, das macht absolut Sinn, denn dann sind die peer-Namen entsprechend normalisiert.
Ist schon eingebaut und bereit zum Testen, siehe angehängte neue Version.
Gruss,
Johannes
Anmerkung: Ich untersuche gerade eine Möglichkeit mit numerischen user ids und chat ids umzugehen, dadurch wäre es möglich sicherzustellen, dass peer namen eindeutig sind, unabhängig von Vorname und Nachname.
Supi, ging ja schnell ;)
Im Reading ist der Unterstrich nun drin und MessageTo an $msgPeer klappt .
Testen werd ich den aktiven Multiuserbetrieb allerdings erst können, wenn meine Frau mal ihr Handy für solch Spielereien herausrückt :o
Zum Teil reagiert das Modul nach einem Restart des PI nicht auf eingehende Befehle.
Dies habe ich per DOIF gelöst, indem nach erfolgreichem FHEM-Start eine Nachricht ans Handy geschickt wird
define FHEM.init.doif DOIF ([global:?INITIALIZED])(set FHEM.init online,set Telegram message FHEM INITIALIZED)
Hilft u. U. bei berlineraxel's Problem mit der Initialisierung eines Chats? (http://forum.fhem.de/index.php/topic,38328.msg316748.html#msg316748 (http://forum.fhem.de/index.php/topic,38328.msg316748.html#msg316748)) -> wait auf 60 gesetzt, damit FHEM genug Zeit hat, richtig durchzustarten ...
Wie und ob das auch beim Multiuserbetrieb so klappt, werde ich dann bei Gelegenheit testen.
Gruß
Sebastian
Zitat von: Sunless am 03 August 2015, 00:07:53
Zum Teil reagiert das Modul nach einem Restart des PI nicht auf eingehende Befehle.
Hallo Sebastian,
tritt das Problem nur nach Neustart des PI auf oder lässt es sich auch nach Neustart von telegram-cli und/oder fhem beobachten?
Wenn ich das richtig verstehe sendest eine Message über telegram nach fhem restart (initialized). Kommt diese Message dann auch an, oder musst Du die erwähnten 60s warten?
Ich kann das leider nur schwer nachstellen, da ich mein Produktivsystem ungerne neustarte.
Gruss,
Johannes
Zitat von: HolyMoly am 29 Juli 2015, 12:50:12
Hallo Johannes,
kann irgendwie nicht an non-defaultPeers versenden.
set telegram messageTo xxx_xxx Hallo Welt
FAIL: 38: can not parse arg #1
aber in der cli ist der Kontakt angelegt und versenden geht mit
msg xxx_xxx Hallo Welt
geht wunderbar. Woran könnte das liegen?
Hallo HolyMoly,
ich habe bei mir jetzt nochmals weitere Versuche gemacht und kann Dein Problem leider bei mir nicht nachstellen.
Bei mir funktioniert messageTo z.B. in folgenden Szenarien:
- An Kontakte die bei mir angelegt sind mit
Vorname_Nachname
ABER telegram erfordert exakte Wiedergabe auch der klein und Grossschreibung [/li]
[li]An gruppen chats einfach durch Angabe des chat namens[/li]
[li]User und chat in form von ids also z.B. in der Form [/li][/list]
user#12345678
Gruss,
Johannes
Guten Morgen,
Zitat von: viegener am 03 August 2015, 01:32:32
...
tritt das Problem nur nach Neustart des PI auf oder lässt es sich auch nach Neustart von telegram-cli und/oder fhem beobachten?
Wenn ich das richtig verstehe sendest eine Message über telegram nach fhem restart (initialized). Kommt diese Message dann auch an, oder musst Du die erwähnten 60s warten?
...
CLI und FHEM starten automatisch bei Reboot des PI. Die CLI habe ich bisher noch nicht separat neu gestartet.
Der Funktionsablauf ist genau wie Du beschrieben hast. Restart PI -> Start FHEM OK (initialized) @06:37:39 Uhr -> Nachricht auf Handy @06:38:39 Uhr
Nach Eintritt des Ereignisses (global:?INITIALIZED) wartet das DOIF 60 Sekunden und schickt dann die Nachricht/initialisiert gleichzeitig den Chat. Ohne den Waittimer kam es vor, dass Telegram noch nicht korrekt initialisiert war, die Info unterging und der Chat nicht eingerichtet wurde (CLI im FHEM offline, bis ich manuell eine Nachricht absetzte). Die 60 Sekunden sind imho ein guter Wert - sollte auch mit weniger gehen, aber hatte keine Lust ständig herumzurechnen, wann ein Restart erfolgte; mit 1 Minute Differenz lässt sich einfacher umgehen ;)
Das DOIF-INITIALIZED (ohne message via Telegram) war ursprünglich dazu gedacht festzuhalten, wann ein Reboot aufgrund eines Absturzes/Fehlers erfolgte um die entsprechende Stelle im Log leichter aufzufinden.
Für mich eine gute Lösung :)
Möglicherweise könnte man das fest einbauen und per Attribut wählbar gestalten (message to <(default?)peer> after FHEMRestart <0-60sek> - 0 = aus)
Grüße ...
Sebastian
Hallo Experten,
ich habe nun mal ein Start Skript nach Anleitung von Sebastian erstellt,und auf etc/init.d hochgeladen
mein Skript:
#!/bin/sh
### BEGIN INIT INFO
# Provides: Was macht das Skript?
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Kurze Beschreibung
# Description: Längere Bechreibung
### END INIT INFO
# Author: Name <email@domain.tld>
# Aktionen
case "$1" in
start)
echo "Telegram daemon start ..."
su telegramd -c '/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -d -P 1230 --accept-any-tcp -L /home/pi/telegram.log -l 20 -N -R -vvv &'
echo "... done"
;;
stop)
echo "Telegram daemon stop ..."
sudo pkill telegram-cli
echo "... done"
;;
restart)
echo "stopping telegram daemon..."
sudo pkill telegram-cli
echo "... done --- restarting ..."
su telegramd -c '/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -d -P 1230 --accept-any-tcp -L /home/pi/telegram.log -l 20 -N -R -vvv &'
echo "... done"
;;
esac
exit 0
-------------------------------
dann mit sudo chmod 755 /etc/init.d/telegramstart -damit noch die Rechte meiner erstellten Datei "telegramstart" erteilt und noch
sudo update-rc.d telegramstart enable -die Datei ausführbar gemacht,wie in der Anleitung.
Den Pi neu gestartet und es funktioniert nicht so... warum ???
wenn ich die Zeile in Putty einfüge,
su telegramd -c '/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -d -P 1230 --accept-any-tcp -L /home/pi/telegram.log -l 20 -N -R -vvv &'
schreibt Putty: No passwd entry for user 'telegramd'.
also ist ein Fehler in der bez."su telegramd"
wenn ich in Putty die Zeile "/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -d -P 1230 --accept-any-tcp -L /home/pi/telegram.log -l 20 -N -R -vvv &"
einfüge funktioniert alles Perfekt.
mfg co010
@co010
probiers mal mit
su deinusername -c '~/tg/bin/telegram-cli -vvvvRC -k tg-server.pub -W -dL tg.log -P 2391 &'
Zitat von: co010 am 04 August 2015, 11:28:38
Den Pi neu gestartet und es funktioniert nicht so... warum ???
wenn ich die Zeile in Putty einfüge,
su telegramd -c '/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -d -P 1230 --accept-any-tcp -L /home/pi/telegram.log -l 20 -N -R -vvv &'
schreibt Putty: No passwd entry for user 'telegramd'.
2 Dinge fallen mir direkt auf:
In Deinem skript steht hinter provides kein Name, dort sollte eigentlich der Namen Deines Skriptes stehen
Die Fehlermeldung deutet daraufhin, dass kein Benutzer telegramd existiert. Vermutlich möchtest Du es aber doch unter Deinem/dem Benutzer von fhem laufen lassen (denn damit hast Du vermutlich auch die Konfiguration für Telegram angelegt)
Weitere Anmerkungen:
- Auch die anderen Einträge im Skript sollten sinnvollerweise angegeben werden, damit man später nicht verwirrt werden kann, sondern noch weiss was gemacht wurde
-
--accept-any-tcp
würde ich nur angeben, wenn wirklich telegram auf einem anderen Rechner als fhem läuft, oder Du anderweitig remote zugreifen willst (wg. Sicherheit)
- Ich würde normalerweise mal mit den Fehlermeldungen "googlen", denn dann findest Du vermutlich massenhaft Erklärungen zu
No passwd entry for user
- Achso: Ich hoffe Dir ist schon klar, dass putty nur den Zugang zum eigentlichen Rechner macht (terminal) und dass was Du lokal tippst versendet und alle Meldungen vom entfernten Rechner empfängt. In diesem Sinne ist anzunehmen, dass Dein putty mit einer Shell auf dem fhem-Server verbunden ist, es könnte aber auch direkt mit telegram-cli (oder einem anderen Programm oder einem anderen Rechner) reden...
Hallo,
ich habe den Namen in # Provides:Start telegram-cli# angegeben und --accept-any-tcp auch entfernt,es klappt auch damit nicht.
/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -d -P 1230 -L /home/pi/telegram.log -l 20 -N -R -vvv & (das funktioniert auch)
Hat jemand von euch so ein Skript auf den pi mit FHEM laufen ?
Danke co010
Wie von HolyMoly und mir beschrieben, wenn der Benutzer, den Du bei "su" angibst, nicht existiert kann es nicht funktionieren.
Ironie: Wenn 2 Fehler vorhanden sind und einer davon beseitigt ist, bleibt nachwievor ein Fehler vorhanden :D
Ansonsten nehme ich an, dass zumindest das Kommando sudo update-rc.d telegramstart enable
Fehlermeldungen/Warnungen produziert hat und möglicherweise nochmals ausgeführt werden sollte nach Änderungen am Skript.
Es wäre vermutlich hilfreich zu erfahren, WAS nicht funktioniert, da mir nicht klar ist, ob telegram-cli nicht startet, fhem nicht verbinden kann, fhem nicht mehr startet oder etwas anderes hier nicht funktioniert?
@co010 sch dir mal diesen gist als Beispiel an
https://gist.github.com/jmtatsch/b7a52d17c7b0128601a1#file-telegram-daemon
Hallo,
Anmelden am Pi: user: pi; Password: raspberry
habe jetzt nochmal ein neues Skript erstellt nach link,so (Datei:starttelegram)
#! /bin/sh
### BEGIN INIT INFO
# Provides: telegram-daemon
# Required-Start:
# Required-Stop:
# Default-Start: S 2 3 4 5
# Default-Stop: 0 6
# Short-Description: telegram daemon
# Description: telegram daemon
### END INIT INFO
# Author: fizzzel
# actions
case "$1" in
start)
echo "Telegram daemon is starting..."
su pi -c '~/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -d -P 1230 -L /home/pi/telegram.log -l 20 -N -R -vvv &'
echo "...done"
;;
stop)
echo "stopping telegram daemon..."
sudo pkill telegram
echo "..done"
;;
restart)
echo "stopping telegram daemon..."
sudo pkill telegram
echo "..done -- restarting..."
su pi -c '~/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -d -P 1230 -L /home/pi/telegram.log -l 20 -N -R -vvv &'
echo "...done"
;;
esac
exit 0
----------------------------------------
Datei starttelegram kopiert in etc/init.d und rechte vergeben
und bei sudo update-rc.d starttelegram enable wird ausgegeben
update-rc.d: using dependency based boot sequencing
update-rc.d: error: starttelegram Default-Start contains no runlevels, aborting.
-der Pi mit FHEM wird korrekt gestartet.
also ein Fehler bei sudo update-rc.d starttelegram enable .
m
Probiers mal mit dem filename telegram-daemon ...
Aloha ...
Hatte ganz vergessen zu erwähnen, dass der CLI bei mir unter dem User "telegramd" läuft - in irgendeiner der zig Anleitungen betreffend Autostart war das zu lesen (wenn ich nur noch wüsste, in welcher?). Logisch, dass dies so bei Dir (co010) nicht funktionieren kann.
Wegen der Runlevel hat update-rc bei mir auch gemault, aber trotzdem läuft es ... (update-rc.d telegram-daemon defaults)
Evtl. legst Du einen User "telegramd" (adduser telegramd) an, änderst die Pfade im Script "telegram-daemon" auf Deine Bedürfnisse und versuchst es nochmal ...
#! /bin/sh
### BEGIN INIT INFO
# Provides: telegram-daemon
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: telegram daemon
# Description: telegram daemon
### END INIT INFO
# Author: anonymous
# actions
case "$1" in
start)
echo "Telegram daemon is starting..."
su telegramd -c '/opt/tg/bin/telegram-cli -k /opt/tg/server.pub -W -C -d -P 2391 --accept-any-tcp -L /var/log/telegram.log -l 20 -N -R -vvv &'
echo "...done"
;;
stop)
echo "stopping telegram daemon..."
sudo pkill telegram-cli
echo "...done"
;;
restart)
echo "stopping telegram daemon..."
sudo pkill telegram-cli
echo "..done -- restarting..."
su telegramd -c '/opt/tg/bin/telegram-cli -k /opt/tg/server.pub -W -C -d -P 2391 --accept-any-tcp -L /var/log/telegram.log -l 20 -N -R -vvv &'
echo "...done"
;;
esac
exit 0
Port bei mir: 2391
telegram-cli liegt bei mir unter /opt/tg/bin/
server.pub unter /opt/tg/
log geht nach /var/log/telegram.log
Rechte auf alle Verzeichnisse unterhalb "tg" -> 755 root:root - ebenso alle dateien außer server.pub (644 root:root)
Grüße ...
PS:
Habe auch noch ein paar Perl-Warnings im Log (bei FHEM-Restart) entdeckt:
* Use of uninitialized value $ret in concatenation (.) or string at ./FHEM/70_Telegram.pm line 662.
* Use of uninitialized value $ret in numeric eq (==) at ./FHEM/70_Telegram.pm line 664.
Ich habe heute nochmal eine aufgefrischte Version (0,6) im ersten Post hochgeladen. Es sind noch keine grossen Änderungen erfolgt, insbesondere habe ich noch nichts am Startverhalten verändert.
Im wesentlichen sind darin Stabilisierungen enthalten und es werden mehrere peers bei cmdRestrictedPeer
unterstützt.
Natürlich ist die Version auch in github verfügbar.
Fehlermeldungen, Anmerkungen und Wünsche Wie immer hier im Thread
Hallo in die Runde ...
Eine kurze Rückmeldung betreffend Multiuser (bin endlich mal zum testen gekommen):
Eine Abfrage von "msgPeer" ist nicht nötig, da Ausgaben von eingehende Kommandos automatisch an den Sender zurückgesandt werden - Super Sache, erspart das Auslesen des Readings und Definieren des Absenders als Empfänger :D
Allerdings bekommt immer der "defaultPeer" die Rückmeldung "cmd: result OK", auch wenn ein anderer User ein Kommando sendet.
Weiter getestet -> Attribut Defaultpeer gelöscht -> Rückmeldung wird nicht mehr gesendet.
Problem an der Geschichte: Bildversand (IP-Cam vor der Tür, welche beim Klingeln ein Photo sendet) geht ins Leere, da kein Befehl "sendPhotoTo" oder ähnliches verfügbar ist und Bilder nur an den Defaultpeer gesendet werden können.
Eventuell könnte man diese Option noch implementieren?
Wäre es auch noch möglich, alternativ oder zusätzlich zur "result OK"-Meldung ein "mark_read" auszuführen, damit das 2. Häkchen im Messenger gesetzt und der Befehl quasi als "empfangen" markiert wird?
Grüße ... Sebastian
Zitat von: Sunless am 10 August 2015, 15:45:07
Hallo in die Runde ...
Eine kurze Rückmeldung betreffend Multiuser (bin endlich mal zum testen gekommen):
Eine Abfrage von "msgPeer" ist nicht nötig, da Ausgaben von eingehende Kommandos automatisch an den Sender zurückgesandt werden - Super Sache, erspart das Auslesen des Readings und Definieren des Absenders als Empfänger :D
Allerdings bekommt immer der "defaultPeer" die Rückmeldung "cmd: result OK", auch wenn ein anderer User ein Kommando sendet.
Weiter getestet -> Attribut Defaultpeer gelöscht -> Rückmeldung wird nicht mehr gesendet.
Problem an der Geschichte: Bildversand (IP-Cam vor der Tür, welche beim Klingeln ein Photo sendet) geht ins Leere, da kein Befehl "sendPhotoTo" oder ähnliches verfügbar ist und Bilder nur an den Defaultpeer gesendet werden können.
Eventuell könnte man diese Option noch implementieren?
Wäre es auch noch möglich, alternativ oder zusätzlich zur "result OK"-Meldung ein "mark_read" auszuführen, damit das 2. Häkchen im Messenger gesetzt und der Befehl quasi als "empfangen" markiert wird?
Grüße ... Sebastian
Klasse, das passt gut zu einigen meiner Erfahrungen und Überlegungen:
- Ich habe die Antwort auf Kommandos so umgebaut, dass der defaultPeer UND der absendende die Meldung bekommen, wenn nicht identisch (unauthorized nur an Defaultpeer)
=> Diese Version findet sich bisher nur im github, weil ich sie bei mir nur kurz getestet habe und erst seit Samstag im System am laufen
- SendPhotoTo hatte ich auch schon angedacht, kann man vermutlich mit wenig Aufwand machen
- mark_read setzen hatte ich bisher bewusst gelassen, da es ein weiteres Kommando an telegram-cli erfordert und damit fhem noch länger blockiert. Eigentlich müsste ich das in einen eigenen subprozess auslagern, das ist aber wiederum nicht machbar, wenn wiederum Kommandos direkt ausgeführt werden...
Weitere Gedanken:
- telegram-cli liefert etwas kryptische peernamen aus den Gruppen chats, denn da werden Gruppenname und peer hintereinandergehängt. Benutzt jemand Gruppenchats mit telegram und fhem?
- Gibt es Interesse daran, dass telegram auch Nachrichten, die während einer eventuellen Downtime angefallen sind nachher verarbeitet? Ich hatte das bisher geplant, es ist aber wohl sehr aufwändig...
Noch ein Nachtrag zu meinem vorherigen Posting nach Brainstorming:
Abfrage von "msgPeer" ist in einigen Fällen doch sinnvoll - wenn Nachrichten von FHEM initiiert gesendet werden sollen (Beispiel Klingel oder die DOIF-global:?INITIALIZED-Funktion, da hierbei ja kein aktueller Absender existiert ...
mark_read: kenne mich mit der Funktionsweise noch nicht so genau aus (2 Kommandos), ist aber verständlich, dass nicht unnötig lange geblockt werden sollte ... wäre auch nur für die Optik im Messenger gewesen ;)
SendPhotoTo: wäre Klasse, eilt aber nicht ;)
Werde dann gleich mal die neue Version einspielen und testen ...
Danke für Deine Arbeit ...
Wenn Du schon ausprobieren willst, sendPhotoTo ist in github, funktioniert genauso wie sendPhoto (aber zusätzliche Angabe des peers natürlich).
Ich habe dazu auch angepasst, dass jetzt auch msgPeer/msgText etc bei sendPhoto und sendPhotoTo gesetzt werden.
Interessanterweise werden bei mir seit heute sogar emoticons in fhemweb angezeigt...
Ich habe dazu aber keine Änderung vorgenommen, sondern nur telegram-cli neu gestartet und das .telegram-cli neu aufgebaut (Also neu den client registriert)
Hallo,
da ja nun das versenden von Nachrichten richtig gut funktioniert,möchte ich Fotos von meiner IpCam aus dem Ordner "/opt/fem/www" ein Bild IPCam_Hof_snapshot.jpg mit Telegram auf mein Handy senden,was muß ich da eingeben ?
mfg co010
Ich wollte nur ein kurzes Feedback geben, Telegram klappt seit einigen Wochen tadellos.
Genial finde ich, das man das auch zum Informationsaustausch mit einem Tablet (Stichwort InfoPanel) nutzen kann.
Ich habe da mal ein paar Zeilen darüber verbloggt.
http://blog.moneybag.de/fhem-fernsteuern-von-fhem-mit-telegram/
LG
/robin
Zitat von: co010 am 19 August 2015, 10:43:56
Hallo,
da ja nun das versenden von Nachrichten richtig gut funktioniert,möchte ich Fotos von meiner IpCam aus dem Ordner "/opt/fem/www" ein Bild IPCam_Hof_snapshot.jpg mit Telegram auf mein Handy senden,was muß ich da eingeben ?
mfg co010
Eigentlich sollte das ganz einfach sein (angenommen Dein telegram device heisst mytelegram:
set mytelegram sendPhoto /opt/fhem/www/IPCam_Hof_snapshot.jpg
Alternativ noch bei sendPhotoTo einen telegram-User (mit Unterstrich statt Leerzeichen !) vor dem Pfad angeben.
Zitat von: fh168 am 13 September 2015, 16:40:20
Ich wollte nur ein kurzes Feedback geben, Telegram klappt seit einigen Wochen tadellos.
Genial finde ich, das man das auch zum Informationsaustausch mit einem Tablet (Stichwort InfoPanel) nutzen kann.
Hi Robin,
Danke für das Feedback und den blog-Eintrag.
Die Idee mit der Nachricht auf dem Info-Display ist richtig gut, auch wenn ich bei uns noch der einzige bin der mein schönes Info-Display auf dem Tablet-UI nutzt...
Das mit dem Autostart steht auf meiner Todo-Liste, es wäre auch eine Option ganz auf telegram-cli zu verzichten, in dem man das neue bot-api von telegram verwendet: https://core.telegram.org/bots/api (https://core.telegram.org/bots/api). (Danke an igami für den Hinweis). Das erfordert allerdings quasi eine Neuentwicklung und jeder Benutzer müsste sich dann für den Bot bei telegram registrieren um einen Schlüssel zu bekommen.
Gruss,
Johannes
Hallo Johannes,
ja, leider ist die Installation immer noch zu schwierig. Mein Blog-Beitrag hat zumindest etwas beigetragen, Telegram mit Fhem etwas näher zu bringen. 190 User haben meinen Beitrag diesen Monat gelesen, und ich vermute, das einige es bald im Einsatz haben.
LG
/robin
Ahoi Johannes,
das is ja ein cooles Modul, an telegram wollte ich mich nach meinem Jabber Modul ranmachen.. hehe ist jetzt wohl sinnlos ;)
Hast du dir mal überlegt das Modul vielleicht an die jetzt vorhandene Bot-API/Telegram-API anzulehnen?
Ich hab das bei mir mit C# rudimentär gemacht um Statusnachrichten und Fotos einer Webcam über Telegram an mich zu schicken.
Dabei ist mir aufgefallen dass ich aussschließlich den Web-Client brauche um das meiste (Connection handling etc.) damit abzufackeln und das die Bot-API ziemlich stabil und schnell ist.
Damit würdest du dir das Linux-Only Thema sparen und du könntest die End-to-End Encryption benutzen.
Nur so eine Überlegung.. :)
EDIT: ich hab jetzt erst alle Foren-Beiträge gelesen und gesehen dass du dir das eh schon überlegst.. Um die Bot-API registrierung wird man nicht drumrum kommen, mit der Telegram-API bräuchte jeder Nutzer eine extra Telefonnummer nur für FHEM..
Wenn du willst - ich kann dir auch bei der Entwicklung gerne behilflich sein - wenn ich auch im Moment zeitlich eher einegspannt bin..
Grüße,
BioS
Hi BioS,
Danke für das Lob und das Angebot zur Hilfe!
Ja das BOTApi habe ich jetzt nach dem Urlaub angedacht, in der Hoffnung auf mehr Regentage :D
Ich sehe allerdings nicht, dass es damit noch secret chats bzw. Ende-Zu-Ende-Verschlüsselung gibt, denn der Austausch mit dem Bot ist ja für die telegram-Server lesbar. Oder habe ich Deinen Kommentar missverstanden?
Sobald etwas läuft, bräuchte ich Interessenten, die das bei sich ausprobieren wollen. Ich kann jetzt schon sagen, dass die Installation sehr einfach ist und das API token gibt es über den telegram client :)
Gruss,
Johannes
Hallo Johannes,
klingt interessant was Ihr da vor habt mit den BOTApi,ich bin gerne beim Testen dabei.
mfg Co010
OK, die Machbarkeitsstudie läuft!
Ich habe jetzt mal ein erstes Modul, dass grundsätzlich texte senden und texte sowie Kommandos empfangen kann.
Neben vielen Kleinigkeiten fehlt noch eine Kontaktverwaltung, Doku und das Versenden von Photos. Ausserdem natürlich noch die ganze Abrundung, um robust zu sein.
Apropos Kontakte: Alle Kontakte müssen (noch) als contact_ids angegeben werden.
ACHTUNG; Das ist ein testmodul und NICHT für Produktivbetrieb gedacht und befindet sich in einem sehr frühen Alphastatus!
Wg. Reparaturcafe am Wochenende komme ich vermutlich erst nächste Woche wieder dazu eine erweiterter Version zu machen.
Zitat von: viegener am 17 September 2015, 17:22:26
Ja das BOTApi habe ich jetzt nach dem Urlaub angedacht, in der Hoffnung auf mehr Regentage :D
Ich sehe allerdings nicht, dass es damit noch secret chats bzw. Ende-Zu-Ende-Verschlüsselung gibt, denn der Austausch mit dem Bot ist ja für die telegram-Server lesbar.
Schön, dass zu lesen :)
Es gibt weiterhin secret chats, der Bot läuft ja auf deinem eigenen Server, bzw, auf dem fhem Server bei jedem zu hause.
Zitat von: igami am 18 September 2015, 05:41:11
Es gibt weiterhin secret chats, der Bot läuft ja auf deinem eigenen Server, bzw, auf dem fhem Server bei jedem zu hause.
Leider stimmt das nicht.
Das mit den Secret chats habe ich nochmal überprüft: Sie sind wohl (noch) nicht möglich.
Bezugnehmend auf diese Quelle: http://stackoverflow.com/questions/32093188/telegram-bots-secret-chats-possible (http://stackoverflow.com/questions/32093188/telegram-bots-secret-chats-possible)
Aber auch grundsätzlich. Die Kommunikation wird auf dem telegram-Server bereitgehalten bis der Bot diese über getUpdates abholt. GetUpdates liefert die Nachrichten im Klartext, damit ist es nicht ende-zu-ende verschlüsselt.
Testweise habe ich gerade einen secret chat erstellt mit meinem Bot. Der Bot bekommt aber leider keine Info über den chat und kann auch nicht antworten. Meiner Ansicht nach ist das einfach im telgram Client nicht abgeklemmt, aber secret chats würden eine erhebliche Errweiterung des BOTAPIs erfordern (z.B. für Schlüsselaustausch und Versenden/Empfangen verschlüsselter Nachrichten).
Das hat nichts mit eigenem Server zu tun.
gruss,
Johannes
Hallo, habe auch dieses Modul installiert. Wenn ich telegram-cli starte kann ich Nachrichten empfangen und senden. Ich starte den daemon und in fhem sehe ich die Verbindung als "opened". In fhem kann ich dann allerdings nichts machen. "cannot parse arg $1" kann mir da einer auf die Sprünge helfen? Kann ich irgendwie testen ob der davon korrekt läuft? Raw befehle gehen auch nicht....
Danke
W
Sent from my SGP611 using Tapatalk
Hallo Will,
die Verbindung zu telegram-cli scheint zu funktionieren, denn die Meldung cannot parse arg $1
stammt bereits aus dem telegram-cli.
Ich nehme an, Du verwendest set <device> messageTo ...
und bekommst diese Meldung. In diesem Fall ist die Vermutung, dass telegram-cli mit dem von Dir angebenen Kontakt nicht klar kommt. Kontakte müssen immer exakt wie in telegrm definiert (Gross- und Kleinschreibung beachten) angegeben werden und statt einem Leerzeichen zwischen dem Vor- und Nachnamen einen Unterstrich verwenden.
Kannst Du mal folgende Eingabe versuchen:
set <DeinTelegramDevice> raw contact_list
(Sollte eine Liste der Kontakte Vorname Nachname liefern.
oder noch rudimentärer
set <DeinTelegramDevice> raw help
Liefert eine Beschriebung für alle Befehle in telegram-cli
Was kommt als Ergebnis für diese Befehle?
So jetzt gibt es eine erste relativ stabile Version von einem telegramBot Modul für FHEM --> 50_TelegramBot.pm
Anbei findet sich der aktuelle Stand, im wesentlichen kann dieses Modul das meiste, was auch 70_Telegram (das aufh telegram-cli) aufsetzt macht. Also insbesonderen Senden und Empfangen von Textnachrichten, mit Auslösen von Kommandos und auch entsprechende Einschränkungen, wer kommunizieren darf. Ich habe im wesentlichen auch die Benennungen gleich gehalten. Folgende wesentliche Abweichungen sind mir bekannt:
+ Es ist keine andere Software notwendig, das Modul sollte demnach auch auf anderer Hardware funktionieren können (insbesondere kein telegram-cli
+ Es ist keine Rufnummer erforderlich für die Registrierung reicht die telegram BOT Registrierung wie hier beschrieben: https://core.telegram.org/bots (https://core.telegram.org/bots)
- Es können noch keine Bilder gesendet werden (Muss ich noch implementieren)
- Es gibt keine secret chats (im BOT API nicht enthalten)
- Bots können nicht von sich beliebige telgram user kontaktieren, die erste Kommunikation muss immer von einem normalen Telegram-Benutzer gestartet werden
o Das Attribut pollingTimeout muss auf einen Wert > 0 gesetzt sein, sonst wird nichts empfangen
Jetzt hoffe ich auf eifrige Fehlermeldungen...
Johannes
Set raw help funktioniert. Set raw contact_list bringt FAIL: 71: RPC_CALL_FAIL 401: AUTH_KEY_UNREGISTERED.
Ideen?
Sent from my SGP611 using Tapatalk
Ok, wie vermutet liegt das Problem auf der telegram-cli seite.
Kannst Du telegram-cli auf der kommandozeile benutzen?
Also wenn Du es aus einer shell herausaufrufst und contact_list
eingibst kommt derselbe fehler?
Wenn ja, ist bei der installation bzw. beim einrichten von cli etwas schief gegangen
Wenn nein, vermute ich,dass es an berechtigungen für den fhem-benutzer liegen könnte.
Alternativ könntest Du direkt das oben gepostete 50_telegramBot versuchen einzusetzen. Es benötigt keine zusätzliche software und hat demnach weniger fehlerquellen.
Johannes
als telegram-cli nicht als daaemon lief, konnte ich alles aus der kommandozeile machen....
telegramd habe ich per adduser hinzugefügt....
habe 50_TelegramBot installiert:
wenn der token ein _ hat, wird er nicht akzeptiert, musste mir mehrere Male einen geben lassen, bis ich was ohne _ (underscore) bekommen habe
Jetzt siehts erst mal gutaus, leider erkennt er keinen "Peer" ich dacht Vorname_Nachname...
Zitat von: Will am 21 September 2015, 21:00:34
habe 50_TelegramBot installiert:
wenn der token ein _ hat, wird er nicht akzeptiert, musste mir mehrere Male einen geben lassen, bis ich was ohne _ (underscore) bekommen habe
Jetzt siehts erst mal gutaus, leider erkennt er keinen "Peer" ich dacht Vorname_Nachname...
OK, guter Tip, da war ich nicht gründlich genug. Ich prüfe das Token auf Plausibilität (und ich hatte in meinen Token kein Underscore), das werde ich anpassen.
Du kannst einem peer nur etwas senden, wenn dieser peer zuerst an den Bot etwas sendet. Das ist eine Einschränkung des bot-apis, wie oben beschrieben. Telegram möchte keine Spam-Schleudern ermöglichen, die jedermann einfach etwas senden ohne identifizierbar zu sein...
Danach solltest Du Vorname_Nachname oder @<usernamer> oder die telegram user id verwenden können
Habe ein upgedatetes Modul angehängt.
Die aktuelle Version findet sich auch immer in github:
https://github.com/viegener/Telegram-fhem/blob/master/50_TelegramBot.pm (https://github.com/viegener/Telegram-fhem/blob/master/50_TelegramBot.pm)
u.a.
- token werden auch mit Unterstrich akzeptiert
- Bestätigungen für ausgeführte Kommands enthalten auch Namen von contacts
Bei mir funktioniert es jetzt nachdem ich an meinen bot eine Nachricht gesendet habe. Allerdings muss ich die peer Id als Adresse angeben. Vorname_Nachname geht nicht...
Sent from my SGP611 using Tapatalk
Habe mir nun einen TelegramBot eingerichtet und funktioniert bisher ganz gut.
Weißt du zufällig wie ich einen Zeilenumbruch bewerkstelligen kann? In dem cli ging es indem man die msg in " setzt und dann \n verwendet.
Zitat von: igami am 22 September 2015, 20:05:28
Habe mir nun einen TelegramBot eingerichtet und funktioniert bisher ganz gut.
Weißt du zufällig wie ich einen Zeilenumbruch bewerkstelligen kann? In dem cli ging es indem man die msg in " setzt und dann \n verwendet.
Ohje, das war noch gar nicht auf meiner Liste für weitere Tests. Habe eine Erweiterung gemacht, damit die \n's korrekt umgesetzt werden für das bot-api.
Neue Version ist in github.
Zitat von: Will am 22 September 2015, 02:42:33
Bei mir funktioniert es jetzt nachdem ich an meinen bot eine Nachricht gesendet habe. Allerdings muss ich die peer Id als Adresse angeben. Vorname_Nachname geht nicht...
Kannst Du mal schauen, ob der entsprechende account in dem Reading Contacts auftaucht. Da sollte es einen Teil geben, der ungefähr so aussieht
12345678:Beate_Mustermann:@mustermannaccount
Dann müsste Beate_Mustermann bei messageTo funktionieren (bei exakt gleicher Gross- und Kleinschreibung).
Wenn es nicht funktioniert, oder der account nicht auftaucht, sage mir bitte nochmal Bescheid.
Zitat von: viegener am 22 September 2015, 22:42:22
Ohje, das war noch gar nicht auf meiner Liste für weitere Tests. Habe eine Erweiterung gemacht, damit die \n's korrekt umgesetzt werden für das bot-api.
Werde ich nachher mal testen. Hatte gestern noch ein bisschen probiert und mittels
{my $msg = "Überschrift\n\nZeile1\nZeile2";;fhem("set myTelegramBot message $msg")}
einen Zeilenumbruch bewerkstelligt. Was jedoch umständlicher ist, da ich ja erst in perl wechseln muss.
Hast du dir schon Gedanken gemacht wo die Funktionen des Bots abgespeichert werden? Z.B.:
Zitat
igami:
/Licht
TelegramBot:
Welches Licht soll geschaltet werden?
- /Flur
- /Wohnzimmer
- /Arbeitszimmer
igami:
/Wohnzimmer
TelegramBot:
- /Deckenlampe
- /Spots
igami:
/Deckenlampe
TelegramBot:
- /ein
- /aus
igami:
- /aus
Dieser ganze Dialog muss ja für jeden Chat separat funktionieren, wenn also meine Freundin zeitgleich eine andere Funktion auf dem Bot benutzt darf das nicht zu Fehlern führen.
Werde mir dazu nachher auch noch Gedanken machen.
Grüße
igami
Hallo Igami,
absolut richtige Frage! Ich hatte genau darüber nachgedacht und bisher habe ich nur 2 Anfangsideen, was man realisieren könnte:
a) Angabe einer externen Dialogfunktion (z.B. in myUtils), die jeweils mitdem Dialog-Kommando aufgerufen würde und eine Antwort präsentiert
Vorteil: Einfach zu integrieren / Nachteil: Für Nichtprogrammierer nicht benutzerfreundlich
b) Schablone in Attributen, um Kommandos und Antworten zu definieren
z.B. commandDef Tuer:{ set door toggle;; }
erlaubt das absenden von /Tuer
als message und das Kommando wird ausgeführt
oder commandDef Lampe1[(on|off)]:{ set Lampe1 $1;; }
erlaubt das Definieren etwas komplexerer Kommandos mit regexps
Natürlich können mehrere als Liste definiert werden
Vorteil: Einfacher ohne grosse Programmierung / Nachteil: Wird schnell unübersichtlich und ermöglicht keine Dialoge
Grundsätzlich offen ist noch die Frage der Keyboards...
und natürlich gibt es auch noch andere Möglichkeiten...
Bei mir funktioniert der Bot jetzt ganz gut. Habe Erinnerungen damit realisiert. Dann noch ein notify das auf bestimmte Messages reagiert. Wen man da vorher Verzweigungen drin hast wird der Quelltext recht lang:-). Funktionieren eigentlich Grotten?
Gruppen
Habe ihr weitere anwendungsbeispiele?
Zitat von: viegener am 23 September 2015, 18:52:45
absolut richtige Frage! Ich hatte genau darüber nachgedacht und bisher habe ich nur 2 Anfangsideen, was man realisieren könnte:
a) Angabe einer externen Dialogfunktion (z.B. in myUtils), die jeweils mitdem Dialog-Kommando aufgerufen würde und eine Antwort präsentiert
Vorteil: Einfach zu integrieren / Nachteil: Für Nichtprogrammierer nicht benutzerfreundlich
Wie wäre es mit einem weiteren Modul? Ich bleibe mal bei meinem Beispiel:
define TBD_Licht TelegramBotDialog [Licht]
case [Wohnzimmer] (
case [Deckenlampe] (
case [on] (set wz_Deckenlampe on)
case [off] (set wz_Deckenlampe off)
)
case [Spots, romantisch] (
case [on] (set wz_Spots on)
case [50] (set wz_Spots 50)
case [off] (set wz_Spots off)
)
)
case [Arbeitszimmer] (
case [on] (set az_light on)
case [off] (set az_light off)
)
Orientieren würde ich mich dabei an einer switch case Umgebung, dann kann man auch noch super ein else einbauen falls der Benutzter Unsinn schreibt :D
Alles was in [eckigen Klammern] steht ist dann der Befehlname, sollte noch ein Komma drin vor kommen ist das was danach steht eine Erklärung. Denkbar wäre auch ein modifier z.B. [TV-Programm:keyboard] um dann statt den /ARD, /ZDF, etc. ein Keyboard mit größeren Tasten anzuzeigen. Die Befehle auf der ersten Stufe können dann jeweils schon im Bot als Befehl angewählt werden.
Zitat von: Will am 23 September 2015, 19:41:56
Habe ihr weitere anwendungsbeispiele?
Waschmaschine:
Zitat
igami:
/Waschmaschine
TelegramBot:
Status: aus
Modus: manuell
/einschalten
/programmieren
igami:
/programmieren
TelegramBot:
Welches Wasch Programm wird verwendet?
- /normal (Programm 4 bei 30 °C)
- /Handtücher (Programm 4 bei 60 °C)
- /anderes
igami:
/normal
TelegramBot:
Die voraussichtliche Waschdauer beträgt ca. 1:47 Stunden.
Wann soll die Wäsche fertig sein?
igami:
15:30
TelegramBot:
Status: aus
modus: auto
Es wird normale Wäsche bei 30 °C auf Programm Nummer 4 gewaschen. Voraussichtlich ist sie um 15:30 Uhr fertig. Bitte die Waschmaschine vorbereiten.
...
TelegramBot:
Die Waschmaschine wird in 15 Minuten eingeschaltet und ist dann voraussichtlich um 15:30 Uhr fertig.
/ok
/ändern
Zitat von: igami am 23 September 2015, 20:20:24
Wie wäre es mit einem weiteren Modul? Ich bleibe mal bei meinem Beispiel:
define TBD_Licht TelegramBotDialog [Licht]
case [Wohnzimmer] (
case [Deckenlampe] (
case [on] (set wz_Deckenlampe on)
case [off] (set wz_Deckenlampe off)
)
case [Spots, romantisch] (
case [on] (set wz_Spots on)
case [50] (set wz_Spots 50)
case [off] (set wz_Spots off)
)
)
case [Arbeitszimmer] (
case [on] (set az_light on)
case [off] (set az_light off)
)
Orientieren würde ich mich dabei an einer switch case Umgebung, dann kann man auch noch super ein else einbauen falls der Benutzter Unsinn schreibt :D
Hallo Igami,
das mit dem separaten Modul könnte Sinn machen, wenn man mehrere Dialoge jeweils mit einem spezifischen Schlüsselwort definieren will.
Mir ist allerdings nicht ganz klar, wie Du Dir vorstellst das switch/case als Device umzusetzen? Ein Attribut oder mehrere, steht das ganze Switch in einem Attribute, dann wäre sicher ein myutils-Modul eher einfacher, denn sonst muss man quasi die halbe Perl-Umgebung (stichwort syntaxprüfung und Auswertung von Ausdrücken) nachimplementieren.
Gruss,
Johannes
Zitat von: Will am 23 September 2015, 19:40:16
Bei mir funktioniert der Bot jetzt ganz gut. Habe Erinnerungen damit realisiert. Dann noch ein notify das auf bestimmte Messages reagiert. Wen man da vorher Verzweigungen drin hast wird der Quelltext recht lang:-). Funktionieren eigentlich Grotten?
Grotten sind schön ;D Ein Hoch auf die automatische Wortvervollständigung?
Grundsätzlich werden Gruppen auch gehen, lt. API (Stichwort chat-id) sind sie bereits vorhanden, aber ich habe bisher in meinen Daten noch keine chat-ids erhalten. Da muss ich noch etwas experimentieren. Es ist aber möglich einen bot zu einer Gruppe hinzuzufügen. Damit aber alle Einträge in der Gruppe auch an den Bot gehen, müssen die privacy einstellungen des Bots geändert werden --> botfather
Zitat von: Will am 23 September 2015, 19:41:56
Habe ihr weitere anwendungsbeispiele?
Meine 3 Hauptanwendungsfälle sind
- Kommandos von aussen an fhem schicken, ohne mein Firewall zu öffnen
- Benachrichtigungen über Ereignisse (z.B Fenster sind noch offen, wenn ich die Haustüre abschliesse)
- Neu hinzugekommen ist bei mir jetzt zustände und Infos aus dem System abzufragen (Luftfeuchtigkeit oder Temperatur an bestimmten Stellen, wg. Schimmel / Wer hat angerufen), also Dinge für die ich keine Benachrichtigung habe, die mich aber gerade brennend interessieren ;D
Zitat von: viegener am 23 September 2015, 21:53:58
Mir ist allerdings nicht ganz klar, wie Du Dir vorstellst das switch/case als Device umzusetzen? Ein Attribut oder mehrere, steht das ganze Switch in einem Attribute, dann wäre sicher ein myutils-Modul eher einfacher, denn sonst muss man quasi die halbe Perl-Umgebung (stichwort syntaxprüfung und Auswertung von Ausdrücken) nachimplementieren.
Hatte es so angedacht, dass alles in der DEF steht, ähnlich wie bei DOIF, hatte nur Zeilenumbrüche eingefügt, damit es besser lesbar ist. Dann wäre es wieder benutzerfreundlicher, da man nicht in den myUtils editieren muss. Zudem könnte man pro Kommando verschiedene Attribute setzten wie z.B. cmdRestrictedPeer oder was einem in Zukunft noch so einfällt.
Syntaxprüfung habe ich dabei natürlich nicht bedacht...
Zitat von: viegener am 23 September 2015, 22:52:39
Meine 3 Hauptanwendungsfälle sind
- Kommandos von aussen an fhem schicken, ohne mein Firewall zu öffnen
- Benachrichtigungen über Ereignisse (z.B Fenster sind noch offen, wenn ich die Haustüre abschliesse)
- Neu hinzugekommen ist bei mir jetzt zustände und Infos aus dem System abzufragen (Luftfeuchtigkeit oder Temperatur an bestimmten Stellen, wg. Schimmel / Wer hat angerufen), also Dinge für die ich keine Benachrichtigung habe, die mich aber gerade brennend interessieren ;D
Abfragen machst du über ein notify mit einem if auf ReadingsVal msgtext, oder?
Sent from my SGP611 using Tapatalk
Zitat von: Will am 24 September 2015, 08:20:04
Abfragen machst du über ein notify mit einem if auf ReadingsVal msgtext, oder?
Nein, ich habe über die Definition eines cmdKeyword Zugriff auf alle fhem Befehle, die fhem erlaubt. Also
attr myTelegrambot cmdKeyword heyfhem
Dann kann ich per Telegram zum Beispiel senden
heyfhem list myTelegrambot
Damit bekomme ich die Detailinfos aller internals/readigns/attr von myTelegrambot
Ist mangels Formatierung manchmal etwas schwerer zu beantworten
oder
heyfhem set myTelegrambot message echo
Fraglich ob das Sinn macht ;D
Also eigentlich jede Art von Kommando um etwas anzusteuern oder abzufragen ohne etwas spezifisches pro Kommando zu konfigurieren.
Kann man mit diesem Attribut eigentlich auch Systembefehle absetzen. zB. Reboot oder einfach Shelldateien aufzurufen?
Im Prinzip sollte alles möglich sein, was auch in FHEMWEB als command im Eingabefeld angegeben werden kann, da die gleichen Mechanismen verwendet werden (AnalyzeCommand).
Hinweis: Generell ist das also sehr mächtig, aber auch natürlich gefährlich wenn nicht abgesichert!
Ich verwende deshalb grundsätzlich cmdRestrictedPeer mit telegram user ids, damit man hier keine offenen Zugang schafft, ausserdem wird dann auch eine Benachrichtigung bei unzulässigem Zugriff versendet. Ich hoffe id eids sind nicht so einfach zu fälschen, wie eine MAC-Adresse.
Moin,
Frage an die Experten: Installation von telegram-cli ist gelaufen, beim Aufruf von bin/telegram-cli -k /root/tg/tg-server.pub
bekomme ich als Antwort auf der Konsole "Getötet".
Was soll mir das sagen?
Danke und Gruß
Uwe
Zitat von: UweH am 24 September 2015, 21:02:37
Moin,
Frage an die Experten: Installation von telegram-cli ist gelaufen, beim Aufruf von bin/telegram-cli -k /root/tg/tg-server.pub
bekomme ich als Antwort auf der Konsole "Getötet".
Was soll mir das sagen?
Danke und Gruß
Uwe
Die kurze Antwort ist, dass das Programm direkt wieder abstürzt.
Die längere Antwort: Es ist also zu befürchten, dass die Installation von telegram-cli nicht erfolgreich war. Das kann jetzt ziemlich viele Ursachen haben. Ich würde das Programm mal mit soviel logging wie möglich starten, also sowas wie
-l 20 -vvvv
und sehen ob mehr Infos im Terminal oder im log file oder im syslog auftauchen.
Ähmm ? Und was ist jetzt der Unterschied zwischen CLI und BOT ? Habe gerade CLI am laufen , was auch läuft (bis auf sendPhoto da wird die Verbindung zu Telegam nach jedem 2. od. 3 Bild gecancelt)
Zitat von: kud am 25 September 2015, 19:03:09
Ähmm ? Und was ist jetzt der Unterschied zwischen CLI und BOT ? Habe gerade CLI am laufen , was auch läuft (bis auf sendPhoto da wird die Verbindung zu Telegam nach jedem 2. od. 3 Bild gecancelt)
Ich erkläre es gerne nochmal, auch wenn nur wenige Posts zuvor ein paar erhellended Links enthalten sind :D
telegram-cli verhält sich im wesentlichen wie ein normaler persönlicher telegram-client und erlaubt es auch auf Linux Nachrichten zu verschicken.
Also das bot-API ist eine neue Methode, die telegram zur Verfügung gestellt um Clients zu koppeln.
Inzwischen habe ich für beide ein Modul entwickelt, die Senden und Empfangen mit fhem erlauben. Es gibt aber ein paar Unterschiede:
+ Das Modul mit bot-api erfordert keine zusätzliche Software (wie cli) und funktioniert direkt aus fhem per https-Zugriff auf telegram. Ausserdem wird keine Telefonnummer benötigt, die Registrierung erfolgt direkt bei telegram.
- Allerdings habe ich noch keine Übertragung von Fotos implementiert und secret chats sind mit dem bisherigen API von telegram nicht möglich und dazu ist auch keine Änderung abzusehen.
Gruss,
Johannes
Dankeschön für die Erklärung und Deine gute Umsetzung.
Hallo zusammen, hallo Johannes,
danke für den Bot.
Seit langen habe ich nun etwas Zeit gefunden (Urlaub, Steuer) um mich mit Telegram weiter zu beschäftigen.
Mein Bot habe ich beim BotFather aktiviert.
Ich habe das Modul unter
Zitat/opt/fhem/FHEM/
kopiert.
Den Hilfe-Eintrag in FHEM habe ich mit
Zitat
cd /opt/fhem/
perl contrib/commandref_join.pl
erzeugt bekommen.
Nach dem ich nun in die fhem.cfg ein eigenen Eintrag gemacht hatte und nach rereadcfg kam eine Meldung von Fhem
ZitatCannot load module TelegramBot
Daraufhin habe ich dein Beispiel aus der Hilfe verwendet.
Zitatdefine teleBot TelegramBot 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
Aber auch hier kam die Fehlermeldung.
Zitatshutdown restart
half auch nicht.
Unter http://www.fhemwiki.de/wiki/Pushbullet#Cannot_load_module_Pushbullet (http://www.fhemwiki.de/wiki/Pushbullet#Cannot_load_module_Pushbullet) steht das man JSON installieren soll.
Wollte dann wie dort beschrieben JSON installieren, aber meine Installation findet die angegeben Pfade nicht um dies zu tun.
Die URLs scheint es bei Debian nicht mehr zu geben....
NACHTRAG: Im Log steht es ja
Zitat2015.09.26 23:51:05 0: Can't locate JSON.pm in......usw
Also fehlt das Modul tatsächlich :'(
Jemand eine Idee? Oder muss ich doch den neuen RPi2 aktivieren? Dachte ich komme da erst ein mal drum rum :-\
NACHTRAG2: Schön wenn man sich die Fragen selbst beantworten kann ;)
Im Forum nach JSON.pm gesucht und
Zitatsudo apt-get update && sudo apt-get install libjson-perl -y
probiert.
Juhu...Der BOT läuft. Mal sehen ob ich den Rest auch noch hin bekomme..Danke fürs zuhören ;)
Wo bekomme ich die ID er User her?
Bekomme bisher keine Verbindung zustande.
Telegram-Ini:
define myfhemBot TelegramBot 121735045:AAGyBLABLABLABLABLABLABLABM14
attr myfhemBot cmdKeyword heyfhem
attr myfhemBot defaultPeer @Blabla
attr myfhemBot room System
Fhem reagiert nicht auf @Blabla ?
Muss man warten?
Gruss Gerd
Edit: cd zum neu erzeugen des Hilfe-Eintrags ergänzt
Schön, dass Du es selber lösen konntest.
Ich habe einen Hinweis auf die Abhänigkeit zur JSON-lib in die Doku für das Modul aufgenommen.
Um eine Nachricht zu senden, muss Du zuerst von dem Benutzer an den Bot eine Nachricht senden. Wenn die Kommunikation in der Richtung funktioniert sollte die userId (und Fullname und username) automatisch in dem Reding Contacts auftauchen.
Konntest Du erfolgreich eine Nachricht an Deinen Bot senden?
Johannes
Hallo Johannes,
wenn ich den BotFather korrekt verstanden habe muss ich erst ein mal Befehle definieren?
Aber vielleicht habe ich meinen Bot ja bei Telegram falsch definiert?
Der Name ist fhem
und Alias @myfhemBot
Wenn ich diverse Zeilen an mein Bot schicke werden auch zwei Hacken gesetzt.
Demnach sollte die Nachricht irgend wo angekommen sein?!
Kann man die Befehle an den BOT frei definieren?
Ist es egal ob mit Schrägstrich oder ohne?
Gruss, Gerd
Zitat von: Maista am 27 September 2015, 11:21:39
Hallo Johannes,
wenn ich den BotFather korrekt verstanden habe muss ich erst ein mal Befehle definieren?
Aber vielleicht habe ich meinen Bot ja bei Telegram falsch definiert?
Der Name ist fhem
und Alias @myfhemBot
Wenn ich diverse Zeilen an mein Bot schicke werden auch zwei Hacken gesetzt.
Demnach sollte die Nachricht irgend wo angekommen sein?!
Kann man die Befehle an den BOT frei definieren?
Ist es egal ob mit Schrägstrich oder ohne?
Gruss, Gerd
Hallo Gerd,
Nein, Du musst keine Befehle definieren. Das ist nur eine Möglichkeit, es ist aber nicht notwendig um mit dem Bot zu koomunizieren.
Es klingt so, als ob Du vielleicht das pollingtimeout nicht gesetzt hast. Dieses ist erforderlich, damit das Modul überhaupt neue Nachrichten abholt?
Siehe Kurzbeschreibung:
o Das Attribut pollingTimeout muss auf einen Wert > 0 gesetzt sein, sonst wird nichts empfangen
Die aktuellen Version von 70_Telegram (0.7) und 50_TelegramBot (0.6) sind jetzt in Git verfügbar.
Ich habe diese auch an das erste Posting im Thread angehängt und dort jetzt auch beide Module erwähnt.
Ich plane in Zukunft eher TelegramBot weiterzuentwickeln, wenn ich nichts anderes höre. Aus meiner Sicht sind folgende Funktionen als nächste zu ergänzen:
- sendPhoto / sendPhotoTo
- erlaube Kommandos als Kurzzugriffe
- reply (erforderlich für Dialogfunktion)
- Dialogfunktion
- Emoticons (diese funktionieren momentan nicht, wobei das Problem auch auf telegram Seite zu liegen scheint Vermischung versch. Unicodes)
Natürlich könnt Ihr gerne weitere/andere Vorschläge machen
Hallo Johannes,
Zitato Das Attribut pollingTimeout muss auf einen Wert > 0 gesetzt sein, sonst wird nichts empfangen
Ah jetzt ja.....
Na so was aber auch :o. Kaum macht man es Richtig.
Habe nun beim Polling etwas eingetragen (5) kam auch prompt auf alles was ich geschrieben hatte, eine Antwort ;D
Danke erst einmal! ::)
Thema BOT oder CLI, ich denke mal wenn die Funktion gleich ist, dürfte der BOT einfacher sein.
Es entfällt das installieren der CLI mit allen Problemen die man damit haben kann.
Danke noch mal für deine Arbeit.
Gruss, Gerd
Moin Moin,
nachdem ich mit der telegram-cli nicht klargekommen bin (Senden will trotz korrekter Rechte usw. nicht funktionieren, empfangen ging...), hab ich mich nun am Bot versucht. Nach diversen Hürden klappt's nun aber...schwitz. Daher plädiere ich für die Weiterentwicklung vom Bot. ;)
Danke für die Mühe
Gruß
Uwe
Hallo Uwe
Gratulation ;)
Ich hatte gestern versucht Johannes sein Bot anzusprechen.
Das wurde mir verweigert (zu Recht).
Mir war dann klar das ich auch schauen muss das nur eingetragene Nutzer den eigenen Bot nutzen dürfen.
Hierzu gibt es, dachte ich, cmdRestrictedPeer?!
Hier habe ich dann zwei Nutzer mit @ vorangestellt , eingetragen.
Diese Nutzer werden aber nun abgewiesen?
Habe ich die Funktion falsch verstanden?
Wer kann hier ein paar Beispiele für die Daus wie mich posten?
Wenn ich zusammen hängende Beispiele habe tu ich mich leichter die Funktionen zu verstehen und für meine Zwecke anzupassen.
Eventuell dann auch mit zu dokumentieren.
Mich würde z.B interessieren wie ich die Temperatur oder Feuchte eines DS2438 /DS18b20 per TelegramBot abfrage.
Gruss
Gerd
Zitat von: Maista am 28 September 2015, 20:03:49
Hallo Uwe
Gratulation ;)
Ich hatte gestern versucht Johannes sein Bot anzusprechen.
Das wurde mir verweigert (zu Recht).
Mir war dann klar das ich auch schauen muss das nur eingetragene Nutzer den eigenen Bot nutzen dürfen.
Hierzu gibt es, dachte ich, cmdRestrictedPeer?!
Hier habe ich dann zwei Nutzer mit @ vorangestellt , eingetragen.
Diese Nutzer werden aber nun abgewiesen?
Habe ich die Funktion falsch verstanden?
Wer kann hier ein paar Beispiele für die Daus wie mich posten?
Wenn ich zusammen hängende Beispiele habe tu ich mich leichter die Funktionen zu verstehen und für meine Zwecke anzupassen.
Eventuell dann auch mit zu dokumentieren.
Mich würde z.B interessieren wie ich die Temperatur oder Feuchte eines DS2438 /DS18b20 per TelegramBot abfrage.
Gruss
Gerd
Hallo Gerd,
Sorry das ist noch ein Problem im Modul. Momentan werden bei cmdRestrictedpeer nur contact ids und keine Benutzernamen unterstützt. Sorry das greift die Doku der Implementierung wohl noch etwas vor ;D.
Die contact ids lassen sich aber leicht aus dem contacts reading herauslesen.
Das wird auch bald gefixt, allerdings kämpfe ich noch mit dem Versenden von Fotos, denn das ist doch sehr viel aufwändiger als gedacht, momentan lassen sich nur kleine Bilder übertragen...
Doku kommt dann auch und und und und...
Gruss,
Johannes
Hallo Johannes
Nachdem ich dein Post gelesen hatte, habe ich heute morgen noch vorm Arbeit fahren die User Nummer eingetragen.
Damit hat es dann funktioniert :P
Im Geschäft angekommen, funktionierte dann nur heyfhem help. List wurde ignoriert? !
Nach der Arbeit probierte ich wieder. Um18:01 kam noch eine Antwort.
Um 19:33 nicht mehr.
Habe dann rereadcfg eingegeben und es wurden danach die anfragen alle an den Client geschickt.
Habe ich das pollingTimeout mit "5" falsch gewählt?
Im logfile häufen sich die Meldungen wegen Telegram. Timeouts und anderes.
Soll ich dies hier posten?
Gruß Gerd
Hallo Gerd,
das timeout mit 5 ist relativ kurz (allerdings ist wohl 20 das Maximum beim telegram bot api).
Das Zusammenspiel von fhem und telegram bot läuft noch nicht sehr rund, ich sehe bei mir auch regelmässig Verbindungsabbrüche und timeouts. Ein grosser Teil ist sicher unkritisch, denn dann repariert sich die Verbindung normalerweise wieder.
Es gibt auch eine Möglichkeit mit
set <telegrambotdevice> reset
das Modul wieder zurückzusetzen, dass das polling neu startet (und auch die Internals zurücksetzt). Das ist allerdings nur eine temporäre Lösung.
Gruss,
Johannes
Hallo Johannes,
hier auf Seite 8 schreibst Du das man mit
heyfhem list myTelegrambot
die Daten bekommt.
Das habe ich gerade probiert.
Als Antwort kommt auf
/heyfhem list myfhemBot
allerdings nichts. Nur zwei Haken.
Im Event-Monitor habe ich gesehen das die Daten erzeugt werden.
Aber scheinbar ist die Ausgabe zu gross/lang für irgend einen Server auf den Weg zu mir :o
Zitat
Auszug aus der letzten Zeile. Darüber steht die Ausgabe von List myfhemBot
....
NAME addr https://api.telegram.org:443 buf HTTP/1.1 414 Request-URI Too Large Server: nginx/1.9.1 Date: Wed, 30 Sep 2015 16:11:07 GMT Content-Type: text/html Content-Length: 192 Connection: close
....
Und viele weitere Meldungen.
Wenn gewünscht, kann ich Dir das komplette Log schicken.
Hab die Monitorausgabe in ein Editor kopiert.
Die Log-Zeilen sind 127kb gross!
Eine frage,
auf Git gibt es ein neueres Bot-Modul von Dir.
Und ein zweites (HttpUtils.pm) ist dazu gekommen.
Muss das mit installiert werden?
Da dies bei mir schon vorhanden ist, habe ich es nicht drüber kopiert.
Gruss,
Gerd
Zitat von: Maista am 30 September 2015, 18:45:09
hier auf Seite 8 schreibst Du das man mit
heyfhem list myTelegrambot
die Daten bekommt.
Das habe ich gerade probiert.
Als Antwort kommt auf
/heyfhem list myfhemBot
allerdings nichts. Nur zwei Haken.
Im Event-Monitor habe ich gesehen das die Daten erzeugt werden.
Aber scheinbar ist die Ausgabe zu gross/lang für irgend einen Server auf den Weg zu mir :o
Wenn gewünscht, kann ich Dir das komplette Log schicken.
Hab die Monitorausgabe in ein Editor kopiert.
Die Log-Zeilen sind 127kb gross!
Eine frage,
auf Git gibt es ein neueres Bot-Modul von Dir.
Und ein zweites (HttpUtils.pm) ist dazu gekommen.
Muss das mit installiert werden?
Da dies bei mir schon vorhanden ist, habe ich es nicht drüber kopiert.
Gruss,
Gerd
Genau, diese Art von Abfragen funktioniert nur bis zu bestimmter Länge (bei messages wohl < 2kB)
Ein ähnliches Problem hindert mich momentan an der Übertragung von Photos, denn auch hier funktionieren Photos mit bis 10k problemlos (auf meinem raspberry) aber Dateien mit 30KB gehen ncht.
Genau deshalb hast Du ein httputils gesehen, da habe ich gestern Nacht meinen Zwischenstand eingechecked, den werde ich aber Rudi sobald es stabil ist zur Verfügung stellen.
Also zu Deinen Fragen. Ja Grössenbeschränkungen sind bekannt und werden mit einem neuen HTTPUtils demnächst auch lösbar sein. Die aktuelle httputils-Version ist definitiv noch experimentell. Also brauche ich dazu den logfile wohl nicht.
Ich werde mal versuchen heute abend eine Version zu erstellen, die zumindest bei messages auch mehr als die ca. 2kB erlaubt.
So anbei nun eine erweiterte Version fon 50_TelegramBot V0.7, die neben einer ganzen Reihe von Stabilisierung folgende Neuigkeiten enthält.
1) sendPhoto / sendPhotoTo
Versenden von Bildern durch Angabe des Dateinamens.
Achtung: Dateien sind in der Grösse (raspberry ca 30k) beschränkt, nur wenn man das neue HTTPUtils Modul aus meinem github Projekt verwendet, lassen sich auch grössere Dateien verschicken (Ich habe bis 1MB getestet)
2) Grössere Messages und Kommando-Antworten bis ca. 30k unterstützt.
Bisherige Beschänkung von weniger als 2kB entfällt
3) Mehrere Kommandos zum Senden von Nachrichten oder Fotos gleichzeitig werden jetzt über eine Warteschlangen nacheinanderabgearbeitet
4) Es sollte jetzt durchgägngig möglich sein neben user ids auch usernames (@username) zu verwenden. Empfehlung ist bei wichtigen Einstellungen (cmdRestrictedPeer) aber user ids zu verwenden, da dies vermutlich fälschungssicherer ist.
Hallo Johannes,
habe probiert ein Bild (~35kB)zu verschicken.
HTTPUtils habe ich dein neues eingespielt.
Im Hilfe-Text steht noch die Info zum Telegram-CLI.
Dort heisst es
Zitat
sendPhoto <file> [<caption>]
Sends a photo to the default peer. File is specifying a filename and path that is local to the directory in which telegram-cli process is started. So this might be a path on the remote host where telegram-cli is running and therefore not local to fhem
Was ist "caption" ? Und wo muss das Bild stehen?
Hatte es nach
/opt/fhem/FHEM/
kopiert aber passiert nichts.
Im Log steht nur dies hier:
Zitat2015-10-01 19:31:30 TelegramBot myfhemBot sendPhoto /opt/fhem/FHEM/Freut_sich.jpg
Internals zeigt das hier an
ZitatsentMsgText Photo: /opt/fhem/FHEM/Freut_sich.jpg
Wenn ich den Pfad nicht mit übergebe kommt eine Fehlermeldung.
ZitatFAILED file :Freut_sich.jpg: not found or empty
Soweit erst mal.
Danke und schönen Abend
Gerd
Zitat von: Maista am 01 Oktober 2015, 19:47:47
Hallo Johannes,
habe probiert ein Bild (~35kB)zu verschicken.
HTTPUtils habe ich dein neues eingespielt.
Im Hilfe-Text steht noch die Info zum Telegram-CLI.
Dort heisst es
Was ist "caption" ? Und wo muss das Bild stehen?
Hatte es nach
/opt/fhem/FHEM/
kopiert aber passiert nichts.
Im Log steht nur dies hier:
Internals zeigt das hier an
Wenn ich den Pfad nicht mit übergebe kommt eine Fehlermeldung.
Soweit erst mal.
Danke und schönen Abend
Gerd
Hallo Gerd,
OK, das mit dem Hilfetext muss ich noch anpassen, Danke für den Hinweis!
(Caption, wäre eine Bildbeschreibung/-unterschrift). Diese wird noch nicht unterstützt.
Hast Du mal versucht ein kleineres Bild zu versenden? -- > Klappt das?
Wenn auch da keine Rückmeldung kommt, kannst Du beim Modul mal das Attribut "verbose" auf den Wert 4 setzen und dann nochmals probieren? Ich würde mir dann gerne den log anschauen.
Achso, nur zur Sicherheit:
- Du hast natürlich nach Einspielen von beiden Modulen entweder den Server neu gestartet oder ein reload für die beiden Module ausgelöst?
- Versenden von Text funktioniert noch?
Gruss,
Johannes
Hallo Johannes
Ich habe rereadcfg gemacht.
Hiffe das ist das gleiche?
Scheinbar nicht. Hab nun das Modul mit reload geladen.
Nun stehen im log Fehler. Die Android copy&paste Funktion ist nervig
Bekomme nicht alles markiert.
Hier der Anfang
Zitatm line 29.
2015.10.01 22:37:32 3: TelegramBot_Set myfhemBot: called
2015.10.01 22:37:32 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.01 22:37:38 3: TelegramBot_Set myfhemBot: called
2015.10.01 22:37:38 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_Initialize redefined at ./FHEM/50_TelegramBot.pm line 200.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_Define redefined at ./FHEM/50_TelegramBot.pm line 222.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_Undef redefined at ./FHEM/50_TelegramBot.pm line 270.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_State redefined at ./FHEM/50_TelegramBot.pm line 295.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_Set redefined at ./FHEM/50_TelegramBot.pm line 311.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_Get redefined at ./FHEM/50_TelegramBot.pm line 435.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_Attr redefined at ./FHEM/50_TelegramBot.pm line 485.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_ReadHandleCommand redefined at ./FHEM/50_TelegramBot.pm line 548.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_SendIt redefined at ./FHEM/50_TelegramBot.pm line 641.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_UpdatePoll redefined at ./FHEM/50_TelegramBot.pm line 786.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_Callback redefined at ./FHEM/50_TelegramBot.pm line 846.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_ParseMsg redefined at ./FHEM/50_TelegramBot.pm line 972.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_DoUrlCommand redefined at ./FHEM/50_TelegramBot.pm line 1047.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_GetIdForPeer redefined at ./FHEM/50_TelegramBot.pm line 1106.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_GetContactInfoForContact redefined at ./FHEM/50_TelegramBot.pm line 1146.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_GetFullnameForContact redefined at ./FHEM/50_TelegramBot.pm line 1158.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_IsKnownContact redefined at ./FHEM/50_TelegramBot.pm line 1181.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_CalcContactsHash redefined at ./FHEM/50_TelegramBot.pm line 1198.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_InternalContactsFromReading redefined at ./FHEM/50_TelegramBot.pm line 1243.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_ContactUpdate redefined at ./FHEM/50_TelegramBot.pm line 1251.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_userObjectToString redefined at ./FHEM/50_TelegramBot.pm line 1280.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_BinaryFileRead redefined at ./FHEM/50_TelegramBot.pm line 1311.
2015.10.01 22:38:31 1: PERL WARNING: Subroutine TelegramBot_BinaryFileWrite redefined at ./FHEM/50_TelegramBot.pm line 1333.
2015.10.01 22:38:32 1: PERL WARNING: Subroutine TelegramBot_Setup redefin.....
Text versenden geht noch. Bild kommt keins an.
Freitag abend wollten wir ins Kino. Eventuell dann erst am Samstag meh /opt/fhem/FHEM/Freut_sich.jpgr zeit.
Lieg schon im Bett.
Gute Nacht
Gerd
Hallo Gerd,
Nein, rereadcfg ist nicht dasselbe, denn dabei wird nur die Konfiguration neu egelesen (also Deine Devices/States), aber normalerweise werden veränderte Perl-module nicht nachgelesen. Es gibt meines Wissens nur die Möglichkeit reload <modulname>
um das im laufenden Betrieb zu tun. Aber Achtung: Die sauberere Lösung ist den Server per shutdown restart
neu zu starten.
Also der Logteil ist leider nur der Teil, der automatisch beim reload entsteht, da ja die ganzen Methoden neu geladen und damit neu definiert werden. Ausserdem ist das auch nur der reload teil für telegrambot und nicht httputils.
Interessant wäre zu sehen, was beim senden eines Bildes passiert.
Gruss,
Johannes
Habe soeben nochmals eine aktualisierte Version in github hochgeladen, da es u.U. vorkommen konnte, dass fhem beim start des telegram bots abstürzt. (Danke an HolyMoly für den github issue).
Neueste Version ist auch im ersten Post angehängt (ohne httputils).
Gruss,
Johannes
Hallo Johannes
Alles klar. Irgendwann werd ich auch durch steigen :-[
Am Samstag komme ich wieder zum testen.
Geht gleich in "Fuck ju Göte".
Gruss
Gerd
Hallo Johannes,
am PC ist das doch einfacher als am Smartphone.
- Bild mit 35.4kB - Funktioniert
- Bild mit 1.5MB - Funktioniert
- Bild mit 2.1MB - Funktioniert nicht mehr > FHEM ist abgestürzt und musste in der Bash neu gestartet werden
Sieht so aus als hätte HttpUtils hier ein Problem ?
Datei zu gross?
Fehlten noch 350kB.
Offset outside string at FHEM/HttpUtils.pm line 372
Zitat2015.10.03 16:13:43 3: syswrite written data so far: 1720320: current chunk :400265:
2015.10.03 16:13:43 3: syswrite returned :: check
2015.10.03 16:13:43 3: directWriteFn phase 2 err? ::
2015.10.03 16:13:43 3: directWriteFn phase 2 Continues:
2015.10.03 16:13:43 3: directWriteFn entering with : 2:
2015.10.03 16:13:43 3: syswrite written data so far: 1736704: current chunk :383881:
2015.10.03 16:13:43 3: syswrite returned :: check
2015.10.03 16:13:43 3: directWriteFn phase 2 err? ::
2015.10.03 16:13:43 3: directWriteFn phase 2 Continues:
2015.10.03 16:13:43 3: directWriteFn entering with : 2:
2015.10.03 16:13:43 3: syswrite written data so far: 1753088: current chunk :367497:
2015.10.03 16:13:43 3: syswrite returned :: check
2015.10.03 16:13:43 3: directWriteFn phase 2 err? ::
2015.10.03 16:13:43 3: directWriteFn phase 2 Continues:
2015.10.03 16:13:43 3: directWriteFn entering with : 2:
2015.10.03 16:13:43 3: syswrite written data so far: 1769472: current chunk :351113:
2015.10.03 16:13:43 3: syswrite returned :: check
2015.10.03 16:13:43 3: directWriteFn phase 2 err? ::
2015.10.03 16:13:43 3: directWriteFn phase 2 Continues:
2015.10.03 16:13:54 3: HttpUtils url=https://api.telegram.org/bot122452545:Ajkhsdglhsgkhslkghslkghlskhg14/sendMessage
2015.10.03 16:13:54 3: directWriteFn entering with : 2:
Offset outside string at FHEM/HttpUtils.pm line 372.
2015.10.03 16:19:14 1: Including fhem.cfg
Die frage ist ob es Sinn macht so große Bilder zu verschicken.
Eventl. kannst Du ja auch zu große Dateien ablehnen?!
Am Smartphone werden die Bilder auch nicht 1:1 verschickt und verkleinert.
Das Bild kann überall auf der Platte stehen um es zu verschicken. Ist das beabsichtigt?
Funktioniert soweit also bestens!
Danke für die Arbeit. Werde dann mal weiter probieren.
Schönes Wochenende.
Gerd
Hallo Gerd,
Danke für den Test. Das mit den grossen Dateien ist sicher fragwürdig, allerdings ist die maximale Grösse offensichtlich abhängig von der PLattform und möglicherweise anderen Einflüssen. Ich habe gerade nochmals erfolgreich bis zu 8 MB übertragen. Bei 10MB und darüber macht wohl telegram schlapp, allerdings konnte ich bei mir 28MB ohne Absturz transferieren, dann kam von telegram eine Invalid-Meldung (vermutlich wg. Grösse).
Ich kann vielleicht einen Parameter vorsehen, der die Grösse beschränkt, ich habe das mal auf meine Liste gepackt.
Allerdings scheint mir die Meldung auch irgendwie komisch zu sein, denn offensichtlich läuft bei fhem die Übertragung zu Ende obwohl noch keine 2,1MB geschrieben wurden...
Auf welcher Plattform betreibst Du fhem, oder hattest Du das schon irgendwo erwähnt?
Johannes
Hallo Johannes,
Plattform ist ein RPi B.
Fhem V5.6
Gerd
Das klingt erstmal ähnlich (wobei ich einen PI 2 verwendet). Kannst Du mir Bescheid sagen, wenn das wieder passiert?
Ja das Bild kann überall stehen, ich wollte dazu keine Einschränkungen definieren. Ich hatte dabei keine Sicherheitsbedenken.
ich habe (in github) nochmals eine neue Version hochgeladen, die ein paar Neuerungen enthält
Die gesendeten Kommandos werden in einem Reading gespeichert (max 10) - reading StoredCommands
Über ein zusätzliches CommandKey word --> attribute cmdSentCommands
lassen sich diese direkt von einem CLient abrufen --> also man sendet das entsprechende commando und erhält eine Liste der letzten Kommandos zurück
Ausserdem habe ich ein paar Änderungen an der Doku gemacht und ein paar Fixes.
Hallo Johannes
wann schläfst Du eigentlich? :P
Okay, die Meldung des Neustarts wird nun auch ausgegeben.
Soweit also Funktioniert das nun ebenso bei mir.
Das große Bild werde ich dann bei Gelegenheit noch mal los schicken.
Der Pi2 liegt noch in der Schublade.
Bis dahin , einen schönen Sonntag
Gerd
Hallo Johannes,
nach dem
Zitatshutdown restart
steht im Log
Zitat2015.10.04 13:35:44 3: TelegramBot_Define myfhemBot: called
2015.10.04 13:35:45 2: TelegramBot_DoUrlCommand myfhemBot: FAILED http access returned error :https://api.telegram.org/bot12000045:AAHnxUb_Bo1Wwxxxxxxxxxs9Dk/getMe: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first:
Verbose stand auf 1.
Habe nun noch einmal das 2.1MB Bild übertragen.
Diesmal gab es keine Probleme. Ging auch recht flott.
Verbose hatte ich zuvor auf 4 gesetzt.
Zitat
2015.10.04 13:52:42 3: syswrite written data so far: 2104201: current chunk :7049:
2015.10.04 13:52:42 3: syswrite written data finally: 2104201: length :2104201:
2015.10.04 13:52:42 3: directWriteFn phase 2 err? :<none>:
2015.10.04 13:52:42 3: directWriteFn phase 2 finished moving to 3:
2015.10.04 13:52:42 3: directWriteFn entering with : 3:
2015.10.04 13:52:42 3: directWriteFn cleanup :
2015.10.04 13:52:43 3: <hidden>: HTTP response code 200
2015.10.04 13:52:43 3: HttpUtils <hidden>: Got data, length: 765
2015.10.04 13:52:46 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from https://api.telegram.org/bot12000045:AAHnxUb_Bo1Wwxxxxxxxxxxxx9Dk/getUpdates?offset=0&limit=5&timeout=10: from Polling
Ist das Log soweit ok?
Gerd
Hallo Gerd,
2015.10.04 13:35:45 2: TelegramBot_DoUrlCommand myfhemBot: FAILED http access returned error :https://api.telegram.org/bot12000045:AAHnxUb_Bo1Wwxxxxxxxxxs9Dk/getMe: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first:
die Meldung ist unkritisch beim Start, ich werde aber trotzdem hier noch etwas mehr Fehlertoleranz einbauen, denn bei der SSL-Aushandlung zwischen telegram und fhem scheint das gelegentlich aufzutreten.
Ja der Transfer sieht gut aus.
2015.10.04 13:52:46 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from https://api.telegram.org/bot12000045:AAHnxUb_Bo1Wwxxxxxxxxxxxx9Dk/getUpdates?offset=0&limit=5&timeout=10: from Polling
Die Meldung hat mit dem Transfer nichts mehr zu tun und kommt gelegentlich, wenn der telegram-Server nicht in der vorgesehenen Zeit antwortet. Ich habe die timeouts hier bereits erhöht und normalerweise ist es nur unschön wg. des log-Eintrags.
Hallo zusammen,
hier ein mal meine Anpassung der Mülleimer-Benachrichtigung aus http://www.fhemwiki.de/wiki/Pushover (http://www.fhemwiki.de/wiki/Pushover).
Was muss gemacht werden:
In der fhem.cfg wird die Konfiguration Telegram_Ereignisse.cfg definiert.
# Ereignisse laden und via Telegram ausgeben
include /opt/fhem/FHEM/Telegram_Ereignisse.cfg
In dieser wird der Kalender und das Ausgabe-Device (Telegram-Bot) vorgegeben.
Es muss in der Telegram_Ereignisse.cfg noch der Name des eigenen Telegram-Bots angepasst werden!
In meinem Beispiel ist das myfhemBot.
Die gewünschten Termine werden in der Datei /opt/fhem/FHEM/events.holiday abgelegt.
Das Format wird unter http://fhem.de/commandref.html#holiday (http://fhem.de/commandref.html#holiday) oder http://fhem.de/commandref_DE.html#holiday (http://fhem.de/commandref_DE.html#holiday) erklärt.
Beide Dateien sind als Beispiel angehängt.
Gruss
Gerd
Hallo Gerd,
Danke für die Einstellung Deines Szenarios.
Mich bringt das auf die Idee, dass es Sinn machen könnte eine generische Schnittstelle für Messaging-Dienste zu haben.
Also dafür zu sorgen dass, telegram, yowsup(WhatsApp) und ähnliche die gleiche Syntax / Befehle Attirbute verwenden, dann sind solche Umstellungen in Zukunft gar nicht mehr nötig...
gruss,
Johannes
Hallo Johannes,
ja das wäre am einfachsten. Aber dazu müssten alle Dienste die gleichen Möglichkeiten/Optionen haben!?
Das Pushover usw. können auch Überschriften oder Tabellen erzeugen.
Man hat auch die Möglichkeit per RegEx bestimmte Gruppen ansprechen zu können.
Dazu müssten sich alle auf einen Nenner einigen 8)
Gute Nacht
Gerd
Zitat von: Maista am 04 Oktober 2015, 23:00:23
Dazu müssten sich alle auf einen Nenner einigen 8)
Ja genau --> siehe hier: http://forum.fhem.de/index.php/topic,41803.msg340470.html#msg340470 (http://forum.fhem.de/index.php/topic,41803.msg340470.html#msg340470)
Hallo Johannes,
das Aktuelle PM bringt Fehler Meldungen.
Ich habe nochmals ein "shutdown restart" gemacht.
Aber es klappt nicht mehr.
Im Log stehen diverse Meldungen das zwei Variablen Probleme machen.
Zitat
2015.10.06 17:28:28 1: Including /opt/fhem/FHEM/TelegramBot.cfg
Scalar value @clist[$cmdId] better written as $clist[$cmdId] at ./FHEM/50_TelegramBot.pm line 654.
2015.10.06 17:28:28 3: TelegramBot_Define myfhemBot: called
2015.10.06 07:30:25 0: Server started with 67 defined entities (version $Id: fhem.pl 9307 2015-09-25 18:44:20Z rudolfkoenig $, os linux, user fhem, pid 8237)
2015.10.06 07:30:27 3: get events today : Test Gruener Sack rausstellen
Test Gruener Sack rausstellen2015.10.06 07:30:27 1: PERL WARNING: Use of uninitialized value $addPar in concatenation (.) or string at ./FHEM/50_TelegramBot.pm line 828.
1 Minute, wie gewünscht, habe ich gewartet mit etwas schreiben. Da aber das Event nach dem Restart ansteht geht/ging das nicht.
Habe den Event nach dem restart deaktiviert.
Nun ist der Bot wieder ansprechbar. Die Fehlermeldung mit Zeile 828 kam diesmal nicht.
Nur die Zeile 654 ;)
Ich werde also erst ein mal das Event nach dem Starten draußen lassen.
Gerd
Edit1: Zeile 654 im PM wie von Perl vorgeschlagen, angepasst > Keine Meldung mehr
Edit2: cmdFavorites & Favoriten funktioniert Klasse! ;D
Edit3: Wenn man bei z.B. als cmdKeyword "/hey" gesetzt hat und cmdFavorites mit "/" definiert, wird immer nur die Favoriten-Liste ausgegeben.
Zitat von: Maista am 06 Oktober 2015, 20:05:36
das Aktuelle PM bringt Fehler Meldungen.
Ich habe nochmals ein "shutdown restart" gemacht.
Aber es klappt nicht mehr.
Im Log stehen diverse Meldungen das zwei Variablen Probleme machen.
Nun ist der Bot wieder ansprechbar. Die Fehlermeldung mit Zeile 828 kam diesmal nicht.
Nur die Zeile 654 ;)
Edit1: Zeile 654 im PM wie von Perl vorgeschlagen, angepasst > Keine Meldung mehr
Edit2: cmdFavorites & Favoriten funktioniert Klasse! ;D
Edit3: Wenn man bei z.B. als cmdKeyword "/hey" gesetzt hat und cmdFavorites mit "/" definiert, wird immer nur die Favoriten-Liste ausgegeben.
Hallo Gerd,
die aktuelle version in Github sollte die Perlwarnungen nicht mehr bringen.
Allerdings konnte ich Dein Verhalten bei mir nicht nachvollziehen, auch mit einem notify beim Start.
Wichtig: Das Polling zum Empfang startet bereits seit der letzten Version verzögert, damit erst alle Attributwerte und auch der Server vollständig gestartet ist. Kannst Du das mit der neuesten Version nochmals prüfen?
Zu Deinem Edit 3: Die verschiedenen Komandokeywords dürfen nicht als Teil eines anderen Keywords vorkommen, da ja nach dem Keyword noch weitere Texte folgen können.
Gruss,
Johannes
Ich habe soeben nochmals eine neue Fassung (Version 0.8 ) des 50_TelegramBot hochgeladen (in github und im ersten Post).
Die grössten Änderungen betreffen erweiterte Kommands und Favoriten und letzte Komandos, ausserdem habe ich verschiedene set-Kommandos mit weiteren Namen versehen, um kompatibler mit anderen Messaging-Modulen zu sein. Zusätzlich sind einige Fehler behoben.
Gruss,
Johannes
Hallo Johannes,
TelegramBot macht bei mir nun nichts mehr :(
Nach dem ich das PM kopiert hatte, habe ich ein "shutdown restart" gemacht.
Ich sehe zwar das die Befehle von Telegram-Client eingehen, aber sie lösen nichts mehr aus.
Den Restart-Event habe ich wieder aktiviert. Erfolgt aber keine Ausgabe.
Zitat
sentMsgResult WAITING
sentMsgText Fhem wurde neu gestartet!
Verbose habe ich auf 5 gesetzt und neu gestartet
Zitat
2015.10.10 15:34:41 1: Including /opt/fhem/FHEM/TelegramBot.cfg
2015.10.10 15:34:41 3: TelegramBot_Define myfhemBot: called
.
.
2015.10.10 15:36:18 4: TelegramBot_State Contacts hash has now :2:
.
2015.10.10 15:36:26 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:36:26 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( message )
2015.10.10 15:36:26 4: TelegramBot_Set myfhemBot: start message send
2015.10.10 15:36:26 5: TelegramBot_SendIt myfhemBot: called
2015.10.10 15:36:26 5: TelegramBot_Set myfhemBot: message done succesful:
.
.
2015.10.10 15:36:26 4: TelegramBot_ResetPolling myfhemBot: called
2015.10.10 15:36:26 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:36:26 4: TelegramBot_ResetPolling myfhemBot: finished
.
.
2015.10.10 15:36:54 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:36:54 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:36:54 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:36:54 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:36:54 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:37:04 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:37:04 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:37:04 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:37:04 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:37:04 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
.
.
2015.10.10 15:37:14 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:37:14 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:37:14 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:37:14 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:37:14 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:37:25 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:37:25 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:37:25 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:37:25 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:37:25 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:37:34 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:37:34 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[{"update_id":816793229,
"message":{"message_id":762,"from":{"id":13363079,"first_name":"Banane","username":"Banane"},"chat":{"id":13363079,"first_name":"Banane","username":"Banane","type":"private"},"date":1444484254,"text":"\/hey"}}]}:
2015.10.10 15:37:34 5: UpdatePoll myfhemBot: number of results 1
2015.10.10 15:37:34 5: UpdatePoll myfhemBot: parse result
2015.10.10 15:37:34 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:37:34 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:37:34 4: TelegramBot_ContactUpdate # Contacts in hash before :2:
2015.10.10 15:37:34 4: TelegramBot_ContactUpdate # Contacts in hash after :2:
2015.10.10 15:37:34 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:37:34 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:37:34 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:37:34 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:37:34 5: TelegramBot_checkAllowedPeer myfhemBot: called with 13363079
2015.10.10 15:37:34 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found ::
2015.10.10 15:37:34 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:37:34 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:37:34 5: TelegramBot_ReadHandleCommand cmd correct peer
2015.10.10 15:37:34 5: TelegramBot_ReadHandleCommand final cmd for analyze ::
2015.10.10 15:37:34 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:37:34 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:37:34 4: TelegramBot_AddStoredCommands :/hey
:
2015.10.10 15:37:34 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:37:34 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:37:34 5: TelegramBot_ExecuteCommand final cmd for analyze ::
2015.10.10 15:37:34 5: TelegramBot_ExecuteCommand result for analyze :<undef>:
2015.10.10 15:37:34 5: TelegramBot_ExecuteCommand myfhemBot: TelegramBot fhem cmd :: result OK:
2015.10.10 15:37:34 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:37:34 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( messageTo )
2015.10.10 15:37:34 4: TelegramBot_Set myfhemBot: start message send
2015.10.10 15:37:34 5: TelegramBot_SendIt myfhemBot: called
2015.10.10 15:37:34 3: TelegramBot_SendIt myfhemBot: add send to queue :13363079: -:TelegramBot fhem cmd :: result OK: - :<undef>:
2015.10.10 15:37:34 5: TelegramBot_Set myfhemBot: messageTo done succesful:
2015.10.10 15:37:34 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:37:34 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:37:34 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:37:34 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:37:45 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:37:45 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:37:45 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:37:45 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:37:45 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:37:46 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:37:46 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[{"update_id":816793230,
"message":{"message_id":763,"from":{"id":13363079,"first_name":"Banane","username":"Banane"},"chat":{"id":13363079,"first_name":"Banane","username":"Banane","type":"private"},"date":1444484266,"text":"#"}}]}:
2015.10.10 15:37:46 5: UpdatePoll myfhemBot: number of results 1
2015.10.10 15:37:46 5: UpdatePoll myfhemBot: parse result
2015.10.10 15:37:46 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:37:46 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:37:46 4: TelegramBot_ContactUpdate # Contacts in hash before :2:
2015.10.10 15:37:46 4: TelegramBot_ContactUpdate # Contacts in hash after :2:
2015.10.10 15:37:46 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:37:46 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:37:46 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:37:46 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:37:46 5: TelegramBot_checkAllowedPeer myfhemBot: called with 13363079
2015.10.10 15:37:46 5: TelegramBot_SentFavorites cmd correct peer
2015.10.10 15:37:46 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:37:46 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( messageTo )
2015.10.10 15:37:46 4: TelegramBot_Set myfhemBot: start message send
2015.10.10 15:37:46 5: TelegramBot_SendIt myfhemBot: called
2015.10.10 15:37:46 3: TelegramBot_SendIt myfhemBot: add send to queue :13363079: -:TelegramBot fhem : (13363079)
Favorites
1
/hey aussen
2
/hey aussen1
3
/hey buero
4
/hey buero1
5
/hey get OWX_26_ECC2A1010000 reading
6
/hey get OWX_28_736020050000 temperature
7
/hey get OWX_28_60BFC3040000 temperature
8
/hey get FIRMATA firmware
9
/hey get OWio2 devices
10
/hey get OWio3 devices
11
/hey get OWio5 devices
12
/hey get OWio6 devices
13
/hey get OWio7 devices
14
/hey get OWX_1D_A2D984000002 counters
: - :<undef>:
2015.10.10 15:37:46 5: TelegramBot_Set myfhemBot: messageTo done succesful:
2015.10.10 15:37:46 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:37:46 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:37:46 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:37:46 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:37:56 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:37:56 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:37:56 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:37:56 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:37:56 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:38:06 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:38:06 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:38:06 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:38:06 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:38:06 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:38:06 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:38:06 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[{"update_id":816793231,
"message":{"message_id":764,"from":{"id":13363079,"first_name":"Banane","username":"Banane"},"chat":{"id":13363079,"first_name":"Banane","username":"Banane","type":"private"},"date":1444484286,"text":"#2"}}]}:
2015.10.10 15:38:06 5: UpdatePoll myfhemBot: number of results 1
2015.10.10 15:38:06 5: UpdatePoll myfhemBot: parse result
2015.10.10 15:38:06 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:38:06 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:38:06 4: TelegramBot_ContactUpdate # Contacts in hash before :2:
2015.10.10 15:38:06 4: TelegramBot_ContactUpdate # Contacts in hash after :2:
2015.10.10 15:38:06 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:38:06 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:38:06 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:38:06 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:38:06 5: TelegramBot_checkAllowedPeer myfhemBot: called with 13363079
2015.10.10 15:38:06 5: TelegramBot_SentFavorites cmd correct peer
2015.10.10 15:38:06 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:38:06 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:38:06 5: TelegramBot_ExecuteCommand final cmd for analyze :aussen1:
2015.10.10 15:38:07 5: TelegramBot_ExecuteCommand result for analyze :OWMULTI: OWX_26_A2D984000007.reading => humidity: 90.6 % (T: 8.8 °C):
2015.10.10 15:38:07 5: TelegramBot_ExecuteCommand myfhemBot: TelegramBot fhem cmd :aussen1: result :OWMULTI: OWX_26_A2D984000007.reading => humidity: 90.6 % (T: 8.8 °C)::
2015.10.10 15:38:07 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:38:07 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( messageTo )
2015.10.10 15:38:07 4: TelegramBot_Set myfhemBot: start message send
2015.10.10 15:38:07 5: TelegramBot_SendIt myfhemBot: called
2015.10.10 15:38:07 3: TelegramBot_SendIt myfhemBot: add send to queue :13363079: -:TelegramBot fhem cmd :aussen1: result :OWMULTI: OWX_26_A2D984000007.reading => humidity: 90.6 % (T: 8.8 °C):: - :<undef>:
2015.10.10 15:38:07 5: TelegramBot_Set myfhemBot: messageTo done succesful:
2015.10.10 15:38:07 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:38:07 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:38:07 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:38:07 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:38:17 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:38:17 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:38:17 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:38:17 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:38:17 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:38:26 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:38:26 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:38:26 5: TelegramBot_Get myfhemBot: called
2015.10.10 15:38:26 5: TelegramBot_Get myfhemBot: Processing TelegramBot_Get( ? )
2015.10.10 15:38:28 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:38:28 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:38:28 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:38:28 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:38:28 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:38:39 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:38:39 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:38:39 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:38:39 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:38:39 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:38:49 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:38:49 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:38:49 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:38:49 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:38:49 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:38:59 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:38:59 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:38:59 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:38:59 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:38:59 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:39:09 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:39:09 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:39:09 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:39:09 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:39:09 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:39:19 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:39:19 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:39:19 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:39:19 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:39:19 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:39:30 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:39:30 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:39:30 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:39:30 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:39:30 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:39:40 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:39:40 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:39:40 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:39:40 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:39:40 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:39:50 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:39:50 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:39:50 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:39:50 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:39:50 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:40:00 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:40:00 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:40:00 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:40:00 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:40:00 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:40:10 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:40:10 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:40:10 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:40:10 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:40:10 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:40:20 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:40:20 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:40:20 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:40:20 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:40:20 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:40:31 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:40:31 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:40:31 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:40:31 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:40:31 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:40:41 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:40:41 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:40:41 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:40:41 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:40:41 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:40:51 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:40:51 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:40:51 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:40:51 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:40:51 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:41:01 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:41:01 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:41:01 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:41:01 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:41:01 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:41:11 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:41:11 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:41:11 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:41:11 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:41:11 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:41:22 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:41:22 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:41:22 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:41:22 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:41:22 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:41:32 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:41:32 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:41:32 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:41:32 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:41:32 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:41:43 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:41:43 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[]}:
2015.10.10 15:41:43 5: UpdatePoll myfhemBot: number of results 0
2015.10.10 15:41:43 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:41:43 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
2015.10.10 15:41:44 5: TelegramBot_Callback myfhemBot: called from Polling
2015.10.10 15:41:44 5: TelegramBot_ParseUpdate myfhemBot: data returned :{"ok":true,"result":[{"update_id":816793232,
"message":{"message_id":765,"from":{"id":13363079,"first_name":"Banane","username":"Banane"},"chat":{"id":13363079,"first_name":"Banane","username":"Banane","type":"private"},"date":1444484504,"text":"\/hey"}}]}:
2015.10.10 15:41:44 5: UpdatePoll myfhemBot: number of results 1
2015.10.10 15:41:44 5: UpdatePoll myfhemBot: parse result
2015.10.10 15:41:44 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:41:44 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:41:44 4: TelegramBot_ContactUpdate # Contacts in hash before :2:
2015.10.10 15:41:44 4: TelegramBot_ContactUpdate # Contacts in hash after :2:
2015.10.10 15:41:44 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:41:44 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:41:44 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:41:44 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:41:44 5: TelegramBot_checkAllowedPeer myfhemBot: called with 13363079
2015.10.10 15:41:44 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found ::
2015.10.10 15:41:44 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:41:44 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:41:44 5: TelegramBot_ReadHandleCommand cmd correct peer
2015.10.10 15:41:44 5: TelegramBot_ReadHandleCommand final cmd for analyze ::
2015.10.10 15:41:44 4: TelegramBot_GetFullnameForContact # Contacts is 1xxxxxxx9:Banane:@Banane:
2015.10.10 15:41:44 4: TelegramBot_GetFullnameForContact # name is Banane
2015.10.10 15:41:44 5: TelegramBot_ExecuteCommand final cmd for analyze ::
2015.10.10 15:41:44 5: TelegramBot_ExecuteCommand result for analyze :<undef>:
2015.10.10 15:41:44 5: TelegramBot_ExecuteCommand myfhemBot: TelegramBot fhem cmd :: result OK:
2015.10.10 15:41:44 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:41:44 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( messageTo )
2015.10.10 15:41:44 4: TelegramBot_Set myfhemBot: start message send
2015.10.10 15:41:44 5: TelegramBot_SendIt myfhemBot: called
2015.10.10 15:41:44 3: TelegramBot_SendIt myfhemBot: add send to queue :13363079: -:TelegramBot fhem cmd :: result OK: - :<undef>:
2015.10.10 15:41:44 5: TelegramBot_Set myfhemBot: messageTo done succesful:
2015.10.10 15:41:44 3: TelegramBot_Set myfhemBot: called
2015.10.10 15:41:44 3: TelegramBot_Set myfhemBot: Processing TelegramBot_Set( ? )
2015.10.10 15:41:44 5: TelegramBot_UpdatePoll myfhemBot: called
2015.10.10 15:41:44 5: TelegramBot_Callback myfhemBot: resulted in :SUCCESS: from Polling
CFG von TelegramBot schaut so aus
define myBot TelegramBot 1xxxxxxxxx5:Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxk # :)
attr myBot cmdFavorites #
attr myBot cmdKeyword /hey
attr myBot cmdRestrictedPeer 1xxxxxxxxx9 3xxxxxxxx6
attr myBot cmdSentCommands /last cmd
attr myBot defaultPeer @Banane
attr myBot favorites aussen;;aussen1;;buero;;buero1;;get OWX_26_ECC2A1010000 reading;;get OWX_28_736020050000 temperature;;get OWX_28_60BFC3040000 temperature;;get FIRMATA firmware;;get OWio2 devices;;get OWio3 devices;;get OWio5 devices;;get OWio6 devices;;get OWio7 devices;;get OWX_1D_A2D984000002 counters
attr myBot pollingTimeout 10
attr myBot room Ereignisse,System
attr myBot verbose 5
Antwort kommt keine an !?
Irgend welche Einträge zusätzlich erforderlich?
Von FHEM aus kann ich nichts verschicken.
Den Verbingungsaufbau zur API sieht man nicht mehr im Log?!
Gruss Gerd
Edit1: Habe beide Notifys entfernt. Danach funktioniert der Bot wieder?!
Hallo Gerd,
aus dem Logfile ist ersichtlich, dass Deine Kommandos eingehen und die Antworten in die Queue gestellt werden. Insofern ist an der Konfiguration soweit alles in Ordnung. Ich vermute, dass nochmal wie schon vorher irgendetwas in der Kommunikation schiefgelaufen ist. Wie vorher schonmal beschrieben gibt es für den Fall gibt es das set-Kommando "reset".
Mach doch bitte mal
set <telegrambotdevice> reset
Danach sollte es wiedergehen.
Nochmals: Das Verhalten hat wohl nichts mit den Notifys oder den Log-Meldungen zu tun.
Gruss,
Johannes
Hallo Johannes,
okay, bin hier grad an 1Wire testen.
Werde es dann bald noch mal probieren.
Hab die Notifys deaktiviert und dann läuft das neue PM aber.
Ich melde mich wieder.
Gruss Gerd
Hallöchen zusammen,
ich wollte mich auch mal mit telegram beschäftigen.
Ich würde gerne den Telegrambot einsetzen allerdings gelingt mir die Inbetriebnahme nicht. Ich habe die Dateien aus Github geladen und 50_TelegramBot sowie HTTPutil und testHTTPutil nach opt/fhem/FHEM/ kpoiert rechte gesetzt und fhem neugestartet allerdings erscheint bei mir kein Eintrag in der Commandref, liegt hier schon der fehler wo finde ich den die entsprechende Dokumentation?
Dann habe ich zusätzlich noch das 70_telegram modul dazu kopiert und entsprechend die rechte gesetzt allerdings tut sich auch da nichts.
Der tipp von Maista zum erzeugen des Hilfe eintrags von Seite 8, funktioniert bei mir leider nicht.
perl contrib/commandref_join.pl
Der Befehl wirft immer folgende Fehlermeldung:
Unknown command perl, try help.
Zitat von: Maista am 10 Oktober 2015, 21:54:52
Hallo Johannes,
okay, bin hier grad an 1Wire testen.
Werde es dann bald noch mal probieren.
Hab die Notifys deaktiviert und dann läuft das neue PM aber.
Ich melde mich wieder.
Gruss Gerd
Hallo Gerd,
ich habe die Fehlerbehandlung überarbeitet, damit sollte das Verhalten bei Dir stabiler werden. Es gibt jetzt auch weniger Laufzeitabhängigkeiten. Bitte damit nochmal probieren.
Version ist in github und auch im ersten Post angehängt.
Gruss,
Johannes
Zitat von: speex am 11 Oktober 2015, 14:52:12
Hallöchen zusammen,
ich wollte mich auch mal mit telegram beschäftigen.
Ich würde gerne den Telegrambot einsetzen allerdings gelingt mir die Inbetriebnahme nicht. Ich habe die Dateien aus Github geladen und 50_TelegramBot sowie HTTPutil und testHTTPutil nach opt/fhem/FHEM/ kpoiert rechte gesetzt und fhem neugestartet allerdings erscheint bei mir kein Eintrag in der Commandref, liegt hier schon der fehler wo finde ich den die entsprechende Dokumentation?
Dann habe ich zusätzlich noch das 70_telegram modul dazu kopiert und entsprechend die rechte gesetzt allerdings tut sich auch da nichts.
Der tipp von Maista zum erzeugen des Hilfe eintrags von Seite 8, funktioniert bei mir leider nicht.
perl contrib/commandref_join.pl
Der Befehl wirft immer folgende Fehlermeldung:
Unknown command perl, try help.
Hallo speex,
Die Doku wird nur dann ins Commandref aufgenommen, wenn man den obigen Befehl eingibt, allerdings ist das kein FHEM-Befehl sondern ein Kommandozeilenbefehl (Shell-Befehl). Also entweder auf der shell als fhem-Benutzer anmelden oder das Kommand in " einschliessen. Am besten dazu mal in der commandref unter: "FHEM Befehlstypen" nachschauen.
Ansonsten musst Du zuerst einen Device erzeugen, das geht bei telegrambot relativ einfach durch Angabe des authtokens, dass Du vom Botfather bekommst --> siehe telegram webseite
Also z.B. so:
define teleBot TelegramBot 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
Allerdings musst Du natürlich in der Definition DEIN authtoken verwenden.
Sobald Du das Device hast, kannst Du in fhemweb über Devce pecific help auch direkt auf die Doku zugreifen.
Achso: 70_Telegram ist nicht erforderlich wenn Du den Bot verwenden willst.
Gruss,
Johannes
Moin Moin,
ich benutze weiterhin den TelegramBot und bisher funktioniert alles - zumindest das, was ich verstanden habe - bis auf...
1. ich hab's wahrscheinlich irgendwo überlesen...wie schicke ich eine Nachricht an mehrere Empfänger?
2. cmdFavorites und favorites <list of commands> verstehe ich nicht. Könnte ich da vielleicht ein verständliches Beispiel bekommen?
Danke und Gruß
Uwe
Zitat von: UweH am 11 Oktober 2015, 18:58:56
ich benutze weiterhin den TelegramBot und bisher funktioniert alles - zumindest das, was ich verstanden habe - bis auf...
1. ich hab's wahrscheinlich irgendwo überlesen...wie schicke ich eine Nachricht an mehrere Empfänger?
2. cmdFavorites und favorites <list of commands> verstehe ich nicht. Könnte ich da vielleicht ein verständliches Beispiel bekommen?
zu 1) Momentan kann man den bot zwar in eine Gruppe packen und damit auch eine Nachricht an einen Gruppe mit dem Bot senden, aber eine Gruppe kann man bisher in meinem Modul noch nicht angeben. Da muss ich erst noch ein paar Experimente mit dem API machen, denn die Gruppen-ID kommt nicht da an, wo sie meiner Meinung nach sollte.
Also heutiger Workaround, mehrere Befehle hintereinander abschicken, ich nehme mal die Liste von IDs auf meine Todo-Liste. Allerdings gibt das Bot-API dass nicht her, so dass ich das dann in meinem Modul als mehrere getrennte Operationen realisieren.
zu 2) Für die Favoriten schreibe ich mal noch ein Beispiel auf
Gruss,
Johannes
Hallo Johannes,
beim Kurztest hat sich am Verhalten nichts geändert.
Das Notify zum shutdown restart wurde nicht gesendet.
Ich habe dann, wie von Dir vorgeschlagen, ein Reset gemacht.
Danach konnte ich dann auch wieder ein Befehl an den Bot schicken.
Aber probiere ich noch mal genauer.
Mal schauen wann ich dazu komme.
Bis dahin , schönen Sonntag
Gerd
@viegener: Danke
Zitat von: UweH am 11 Oktober 2015, 18:58:56
2. cmdFavorites und favorites <list of commands> verstehe ich nicht. Könnte ich da vielleicht ein verständliches Beispiel bekommen?
Ich habe endlich mal die Seite im fhemwiki für den TelegramBot erzeugt. Dabei habe ich auch ein paar Beispiele hinzugefügt:
http://www.fhemwiki.de/wiki/TelegramBot (http://www.fhemwiki.de/wiki/TelegramBot)
Ein Beispiel befasst sich relativ ausführlich (für meine Verhältnisse) mit den Favoriten. Vielleicht hilft das weiter.
Feedback zum wiki und Vorschläge für weiterer Beispiele (oder selber schreiben?) ist erwünscht.
Gruss,
Johannes
Ah...verstanden, umgesetzt, funktioniert :)
Danke
Hallo vielen Dank für den Wiki Eintrag, dennoch ist mir die einrichtung noch nicht korrekt gelungen.
EDIT. wer lesen kann ist klar im vorteil habe mich irgendwie bei dem pollingtimeout attribut verlesen bishierhin hat es jetzt geklappt werde weiter rum basteln, und berichten :)
Ha, wollte Dir gerade antworten...an der Stelle hab ich auch zuerst das >0 überlesen... ;D
Gruß
Uwe
Zitat von: UweH am 12 Oktober 2015, 18:57:29
Ha, wollte Dir gerade antworten...an der Stelle hab ich auch zuerst das >0 überlesen... ;D
Gruß
Uwe
OK, das werde ich noch deutlicher machen!
Johannes
Da ja an anderer Stelle nach Verbesserungen zur Syntax gefragt wurde:
Könnte man die Befehle "message" und "messageTo" kombinieren? Ob ein Empfänger angegeben ist lässt sich ja ganz einfach per Reqex auf das @ Zeichen am Anfang feststellen. Würde der Definition in der msg-Schema-Datenbank sehr entgegen kommen ;-)
Gruß
Julian
Zitat von: Loredo am 13 Oktober 2015, 13:26:04
Könnte man die Befehle "message" und "messageTo" kombinieren? Ob ein Empfänger angegeben ist lässt sich ja ganz einfach per Reqex auf das @ Zeichen am Anfang feststellen. Würde der Definition in der msg-Schema-Datenbank sehr entgegen kommen ;-)
Gruß
Julian
Leider nicht, da das @-Zeichen nur bei usernames verwendet wird ansonsten sind beim messageTo auch Vor- und Nachnamen sowie userids erlaubt. Im prinzip sind die userids sogar am ehesten empfehlenswert, da nur so eine Eindeutigkeit gewährleistet ist.
Man könnte aber darüber nachdenken, ob ich aus "messageTo" ein "message" mache und das bisherige "message" in "messageDef" umbenenne. Da das eine inkompatible Änderung wäre würde ich das gerne hier zur Diskussion stellen. Damit wäre Dein Vorschlag auch erreicht, oder?
@all: Aufschrei oder "Wenns sein muss" bitte, sonst würde ich das in die nächste Version packen. Insbesondere damit es noch reinkommt, bevor ich es ins SVN packe und es damit allgemein verfügbar wird!Gruss,
Johannes
Wieso stellst du nicht dem Empfänger generell ein @ voran und entfernst es je nach Notwendigkeit bei der Übergabe an die Telegram API?
Du könntest den Befehl "message" so belassen und eben erkennen, ob dort am Anfang ein Empfänger beginnend mit @ ist oder nicht (so funktioniert es beim msg-Befehl auch, falls du Inspiration brauchst). Das wäre rückwärtskompatibel und messageTo kannst du einfach auf die gleiche Funktion mappen, um auch dort kompatibel zu bleiben.
Generell natürlich eine gute Idee, aber am @ erkenne ich bereits ob telegram usernamen (und nicht user ids / bzw. volle Namen) übergeben werden. Es gibt bei mir 3 Arten von Userangaben, die ich alle erkennen muss. Natürlich könnte ich jetzt ein neues Zeichen voranstellen, denn das @ verwendet Telegram bereits intern und es wäre so schon intuitiv.
Also gäbe es 3 Möglichkeiten
1) Mein Vorschlag von oben
2) Dein Vorschlag mit dem @ (wobei ich das für entstehende @@ für telegram usernames noch eine Lösung brauche)
3) Ein anderes Zeichen voranstellen für Kontakte
Zu 2) Generell per Regex-Replace entfernen oder eben nur dann, wenn es nicht gebraucht wird (je nach Programmlogik eben).
Ja das ist mir schon klar ;) Sonst wären meine alten Professoren (soweit sie noch leben) auch sicher böse mit mir ;D
Es ist mehr das Problem existierender usernames, die alle schon ein @ vorangestellt haben.
Ok ich folge Deinem Vorschlag.
Bisherige @usernames müssen dann demnächst mit @@username angegeben werden, damit sie unterscheidbar bleiben.
Bei messageTo/sendPhotoTo etcwird die alte Syntax bleiben (allerdings werde ich das deprecaten und demnächst entfernen.
Ist nicht optimal aber zumindest sicherer als zu hoffen, dass username und vollständiger Name nicht überlappen.
Es sein denn es gibt grossen Protest...
Hm, ich nahm an die vollständigen Usernamen könnte man anhand der Doppelpunkte erkennen, aber ich kenne die API nicht.
Zitat von: Loredo am 13 Oktober 2015, 15:25:15
Hm, ich nahm an die vollständigen Usernamen könnte man anhand der Doppelpunkte erkennen, aber ich kenne die API nicht.
Nein das ist nur in der internen Kontaktverwaltung so, wenn man senden will muss nur einer der 3 Teile angegeben werden und die Erkennung was kommt mache ich intern (wenn reine Zahl ist es eine Id / mit @ vorangestellt ein username ansonsten eben ein Vor-und-Zuname). In der Kontaktverwaltung sind dann alle enthalten, damit ich jede möglich Angabe in eine Id / den richtigen Kontakt wandeln kann bevor ich sende.
letzte Woche haben sich die Telegram-Leute im BotAPI noch was neues ausgedacht, jetzt gibt es auch noch channels, die allerdings in den Clients noch nicht unterstützt sind, nur im API. Zitat: no Telegram clients support this at the moment, please wait for updates ;D
Ok, ich warte mal ab.
Hab eine einfache Schema Definition für TelegramBot mit in die msg Schema-Datenbank aufgenommen:
'TelegramBot' => {
'Normal' => 'set %DEVICE% message %TGRECIPIENT% %TITLE%: %MSG%',
'High' => 'set %DEVICE% message %TGRECIPIENT% %TITLE%: %MSG%',
'Low' => 'set %DEVICE% message %TGRECIPIENT% %TITLE%: %MSG%',
'defaultValues' => {
'Normal' => {
'TGRECIPIENT' => '',
},
'High' => {
'TGRECIPIENT' => '',
},
'Low' => {
'TGRECIPIENT' => '',
},
},
},
Ja dann muss ich die Umstellung wohl bald angehen :D
Funktioniert im Grundsatz ja auch so, wenn man über defaultPeer einen Standardempfänger angibt. Nur muss man dann den Bot eben mehrfach definieren (was er vermutlich dann nicht mag).
So ganz glücklich bin ich damit aber auch noch nicht. Die meisten Module adressieren pro Device-Instanz genau einen Empfänger (oder optional ein bestimmtes Empfangsgerät wie im Falle von Pushover). Das Handling eines "Unterempfängers" funktioniert aktuell nur, wenn man dafür ein Dummy-Gateway-Device anlegt und dort über msgCmdPush den Empfängernamen fest im Schema hinterlegt, statt direkt über das TelegramBot Device zu versenden. Wenn du die Option mit @@ eingebaut hast, entfällt das zwar, wenn man per Optionserweiterung den Empfänger übergibt. Ist aber auch nicht so elegant. Vielleicht fällt mir da noch was ein, aber aktuell hab ich keine Idee...
ich dachte ich schreib das jetzt hier mal, weil wir ja beide noch nix fest veröffentlicht haben und das somit noch hier und da anpassbar wäre. Vielleicht hast du ja noch ne Idee für meine oder deine Seite ;)
Gruß
Julian
Hallo zusammen,
ich hab auch nix dagegen ::)
Wenns der Logik dient.
Habe bisher nur zwei IDs eingetragen.
Gruss Gerd
Prinzipiell funktioniert der Bot bei mir. Allerdings bekomme ich mehr oder weniger regelmäßig Meldungen im Log-file:
2015.10.12 19:26:12 3: TelegramBot_Set msg.***********bot: called
2015.10.12 19:26:12 3: TelegramBot_Set msg.***********bot: Processing TelegramBot_Set( ? )
Seit gestern auch schon ein paar mal:
2015.10.13 18:28:14 3: TelegramBot_Callback msg.***********bot: resulted in :Callback returned no valid JSON !: from Polling
Diese Einträge kommen ohne das zu diesem Zeitpunkt eine Nachricht gesendet oder empfangen wird.
Ich hatte die Version vom Github genommen (0.8 2015-10-10 extended cmd handling )
Die httputils hatte ich nicht ersetzt da nur wegen Bilder benötigt(?)
Zitat von: Buwe am 14 Oktober 2015, 13:46:21
Prinzipiell funktioniert der Bot bei mir. Allerdings bekomme ich mehr oder weniger regelmäßig Meldungen im Log-file:
2015.10.12 19:26:12 3: TelegramBot_Set msg.***********bot: called
2015.10.12 19:26:12 3: TelegramBot_Set msg.***********bot: Processing TelegramBot_Set( ? )
Seit gestern auch schon ein paar mal:
2015.10.13 18:28:14 3: TelegramBot_Callback msg.***********bot: resulted in :Callback returned no valid JSON !: from Polling
Diese Einträge kommen ohne das zu diesem Zeitpunkt eine Nachricht gesendet oder empfangen wird.
Ich hatte die Version vom Github genommen (0.8 2015-10-10 extended cmd handling )
Die httputils hatte ich nicht ersetzt da nur wegen Bilder benötigt(?)
Hallo Buwe,
die ersten Einträge sind nur Infos und rühren daher, dass ich momentan noch relativ grosszügige Log-Meldungen ausgebe, die es mir vereinfachen sollen Fehler einzugrenzen. Hier kann ich vermutlich das Loglevel runterschrauben.
die anderen Einträge (Callback returned no valid JSON) sind zwar auch nicht kritisch, kommen aber daher wenn aus unbekannten Gründen die Kommunikation mit telegram.org abbricht. Das passiert offensichtlich nur relativ selten. Allerdings würde selbst wenn das nur in 0,1% der Fälle auftritt wäre das etwa 4 mal am Tag, da der Bot aber ca. alle 20s, also über 4000 mal am Tag bei telegram.org nachfragt.
Wenn die Meldungen stören, kann ich auch mal eine Option einführen, dass die versteckt werden. Allerdings sind dies durchaus "logwürdige" Meldungen...
Ja die Github-Version ist ok und Ja httputils wird nur benötigt, wenn man grössere Datenübertragungen aus dem Bot vornehmen will (insbesondere Bilder).
Gruss,
Johannes
Es gibt eine neue Version 0.9!
Hinweise (Bitte lesen):
Wie oben angesprochen habe ich ein alignment der Kommandos von telegramBot mit dem msg-Befehl (siehe http://forum.fhem.de/index.php/topic,39983.0.html (http://forum.fhem.de/index.php/topic,39983.0.html)). Das hat zu einer Aufräumaktion geführt, die ein paar Inkompatibilitäten mit sich bringt:
- Die msg/message/sendImage Befehle erlauben jetzt die optionale Angabe eines peers vor dem Text/Bild. Damit kann man entweder eine id, einen vollständigen Namen oder auch einen user-bzw Gruppennamen angeben.
Beispiele:
set <telegrambotdevice> msg @Lieschen_Mueller Hallo
set <telegrambotdevice> image @@lieschensusername /opt/fhem/image.jpg
- Achtung: messageTo/sendImageTo/sendPhotoTo sind zwar noch vorhanden, werden aber demnächst entfernt (deprecated). / sendPhoto / sendPhotoTo sind entfallen
- Es werden jetzt auch Umlaute und Emojis unterstützt
- Gruppen (Chats) können jetzt ebenfalls als Ziel einer Nachricht verwendet werden (eingeleitet mit # oder durch angabe der id).
- Doku überarbeitet etc etc
Wie immer ist die Version auch im ersten Post verfügbar und in Github.
Wenn diese Version keine Probleme bereitet würde ich sie auch ins SVN einchecken.
Gruss,
Johannes
Hallo Johannes
Habe am Freitag frei.
Wenn nichts dazwischen kommt, werde ich testen.
Gruß
Gerd
Bisher läuft auch die neue Version prima bei mir...
Vielen Dank!
Zitat von: viegener am 15 Oktober 2015, 19:12:27
- Gruppen (Chats) können jetzt ebenfalls als Ziel einer Nachricht verwendet werden (eingeleitet mit # oder durch angabe der id).
Soweit funktioniert alles, nur das Senden an Gruppen habe ich nicht nachvollziehen können. Ich habe in Telegram eine Gruppe angelegt und will mit
set <blabla> msg #<Gruppe> Test
eine Nachricht senden. Funktioniert nicht, demzufolge mach ich was falsch...
Die Nachricht kommt mit dem Inhalt "#<Gruppe> Test" auf meinem Bot an.
Ich glaube, ich brauch wieder ein Beispiel für Dummies ;)
Gruß
Uwe
Hast du mal wie in der Doku beschrieben, dass hier getestet:
set aTelegramBotDevice message @#justchatting Hello
to send the message "Hello" to a chat with the name "justchatting"
Hab bisher noch keinen Gruppenchat eingerichtet daher kann ich auch nicht mehr dazu sagen.
Allerdings habe ich festgestellt das wenn ich aus einem Notify heraus einem Bestimmten msgPeer schreiben möchte das mit dem @ nicht klappt ab dem '@' wird dann immer die id mit in der nachricht geschickt sowie steht am anfang noch der notify name in der nachricht...
Zitat von: UweH am 16 Oktober 2015, 14:00:24
Soweit funktioniert alles, nur das Senden an Gruppen habe ich nicht nachvollziehen können. Ich habe in Telegram eine Gruppe angelegt und will mit set <blabla> msg #<Gruppe> Test
eine Nachricht senden. Funktioniert nicht, demzufolge mach ich was falsch...
Die Nachricht kommt mit dem Inhalt "#<Gruppe> Test" auf meinem Bot an.
speex hat recht: Wenn im neuen msg Befehl ein Empfänger stehen soll, muss immer ein @ vorher stehen (also für Gruppennamen sogar @# und für usernames sogar @@ vorher).
Versuche mal
set <blabla> msg @#<Gruppenname> Test
oder
set <blabla> msg @<Gruppenid> Test
Gruppenids sind soweit ich das sehe negativ also müsste da für Gruppenid soetwas stehen wie -1234567
gruss,
Johannes
Zitat von: speex am 16 Oktober 2015, 14:58:43
Allerdings habe ich festgestellt das wenn ich aus einem Notify heraus einem Bestimmten msgPeer schreiben möchte das mit dem @ nicht klappt ab dem '@' wird dann immer die id mit in der nachricht geschickt sowie steht am anfang noch der notify name in der nachricht...
Ich kann das jetzt gerade nicht ausprobieren, aber meine erste Vermutung ist, dass der perl-Interpreter hier irgendeine Ersetzung macht, weil @ ja verwendet wird um Arrays zu verwenden. Laut notify-Doku
ZitatTo use % or @ in the text itself, use the double mode (%% or @@).
Kannst Du mal @@ probieren oder alternativ gar \@ oder \@\@ oder \\\@ ausprobieren?
Gruss,
Johannes
Hi also was mir auch nicht klar war ist das man @@ nehmen muss meine nachricht die durch das notify ausgelöst wurde sah so aus:
set teleBot message @<peerid> text
Ich hab das jetzt nochmal mit @@ im notify getestet, funktioniert wunderbar:
set teleBot message @@<peerid> text
Vielen Dank!
So, nun hab ich es. Der eigene Bot muss erst mal gruppenfähig gemacht werden, dann kann man damit auch eine Gruppe erstellen. Danach läuft's dann recht problemlos :)
Danke und Gruß
Uwe
Gerade festgestellt: Auf /short
bekomme ich keine Antwort mehr, ein /short 1
z.B. löst den entsprechenden Befehl aber aus. Die Rückmeldung auf den Befehl wird ebenfalls nicht mehr gesendet.
Gruß
Uwe
Hallo zusammen,
also entweder stell ich mich an, oder es geht nichts mehr :(
Weder
Zitat
cmdFavorites #
cmdKeyword /hey
cmdSentCommands /last
Funktionieren?!
Ein
set mybot reset
half auch nichts.
Das senden an den Client funktioniert mit
set mybot message @eumel Bla
und
set mybot msg Blabla
Ein Bild habe ich auch nicht mehr verschickt bekommen.
set sendImage @eumel /opt/fhem/35kb.jpg
wird als versendet angezeigt.
Hier das Log
Zitat
2015.10.16 19:59:41 3: HttpUtils url=<hidden>
2015.10.16 19:59:41 3: <hidden>: HTTP response code 200
2015.10.16 19:59:41 3: HttpUtils <hidden>: Got data, length: 244
2015.10.16 20:00:09 3: HttpUtils url=<hidden>
2015.10.16 20:00:39 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.16 20:01:28 3: HttpUtils url=<hidden>
2015.10.16 20:01:58 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.16 20:02:35 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found ::
2015.10.16 20:02:43 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found :list:
2015.10.16 20:07:54 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found ::
2015.10.16 20:10:11 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found :1:
2015.10.16 20:10:21 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found :list:
2015.10.16 20:15:18 3: HttpUtils url=<hidden>
2015.10.16 20:15:36 3: TelegramBot_SendIt myfhemBot: add send to queue :Maista: -:/opt/fhem/35kb.jpg: - :<undef>:
2015.10.16 20:15:44 3: TelegramBot_SendIt myfhemBot: add send to queue :Maista: -:Test: - :<undef>:
2015.10.16 20:15:49 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.16 20:15:49 3: HttpUtils url=<hidden>
2015.10.16 20:15:57 3: TelegramBot_SendIt myfhemBot: add send to queue :@Maista: -:Test: - :<undef>:
2015.10.16 20:16:11 3: TelegramBot_SendIt myfhemBot: add send to queue :@Maista: -:test: - :<undef>:
2015.10.16 20:16:19 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.16 20:16:19 3: HttpUtils url=<hidden>
2015.10.16 20:16:19 3: <hidden>: HTTP response code 200
2015.10.16 20:16:19 3: HttpUtils <hidden>: Got data, length: 220
2015.10.16 20:16:19 3: HttpUtils url=<hidden>
2015.10.16 20:16:19 3: <hidden>: HTTP response code 200
2015.10.16 20:16:19 3: HttpUtils <hidden>: Got data, length: 220
2015.10.16 20:16:19 3: HttpUtils url=<hidden>
2015.10.16 20:16:20 3: <hidden>: HTTP response code 200
2015.10.16 20:16:20 3: HttpUtils <hidden>: Got data, length: 220
2015.10.16 20:16:36 3: HttpUtils url=<hidden>
2015.10.16 20:16:36 3: <hidden>: HTTP response code 200
2015.10.16 20:16:36 3: HttpUtils <hidden>: Got data, length: 223
2015.10.16 20:16:44 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found ::
2015.10.16 20:17:34 3: HttpUtils url=<hidden>
2015.10.16 20:17:34 3: <hidden>: HTTP response code 200
2015.10.16 20:17:34 3: HttpUtils <hidden>: Got data, length: 224
2015.10.16 20:21:14 3: HttpUtils url=<hidden>
2015.10.16 20:21:45 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.16 20:26:10 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found ::
2015.10.16 20:26:24 3: HttpUtils url=<hidden>
2015.10.16 20:26:40 3: TelegramBot_SendIt myfhemBot: add send to queue :Maista: -:/opt/fhem/35kb.jpg: - :Test:
2015.10.16 20:26:54 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.16 20:26:54 3: HttpUtils url=<hidden>
2015.10.16 20:30:13 3: HttpUtils url=<hidden>
2015.10.16 20:30:33 3: TelegramBot_SendIt myfhemBot: add send to queue :@Maista: -:/opt/fhem/35kb.jpg: - :<undef>:
2015.10.16 20:30:43 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.16 20:30:43 3: HttpUtils url=<hidden>
Irgend eine Idee?
Gruss Gerd
Edit1: Hat sich erledigt. Fehler sass vorm PC ::)
Bild versenden funktioniert bei mir...
Kannst Du hier das Kommando schicken welches bei dir klappt?
Ich musste gerade nochmals einen Fix nachschieben... ???
Leider waren die Befehle messageTo und sendImageTo komplett abgeklemmt und nicht nur aus dem Web, dabei ist auch gleich die Kommandoantwort ausgeblieben. Das ist auch mir bei weiteren Tests heute abend aufgefallen.
Neue Version ist hochgeladen und Sorry für das Problem,
Johannes
Moin Johannes,
wer nix macht , macht nix falsch ;D
Dann doch was falsch machen 8)
Gerade probiert. Texte können an Clients verschickt werden.
Der Client kann nun auch wieder Anfragen stellen.
Das klappt alles soweit.
Bekam jetzt zum ersten mal die Meldung vom Notify das Fhem neu gestartet wurde!
Nur Bild bekomme ich nicht verschickt.
Das Bild ist noch vom ersten Versuch und steht unter /opt/fhem/ oder /opt/fhem/FHEM/
Zitat
2015.10.17 00:25:00 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.10.17 00:25:00 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.10.17 00:25:06 3: HttpUtils url=<hidden>
2015.10.17 00:25:23 3: TelegramBot_SendIt myfhemBot: add send to queue :Maista: -:/opt/fhem/35kb.jpg: - :<undef>:
2015.10.17 00:25:37 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.17 00:25:37 3: HttpUtils url=<hidden>
2015.10.17 00:26:00 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.10.17 00:26:00 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.10.17 00:26:02 3: TelegramBot_SendIt myfhemBot: add send to queue :@Maista: -:/opt/fhem/35kb.jpg: - :<undef>:
2015.10.17 00:26:07 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.17 00:26:07 3: HttpUtils url=<hidden>
2015.10.17 00:26:15 3: TelegramBot_SendIt myfhemBot: add send to queue :@Maista: -:f: - :<undef>:
2015.10.17 00:26:37 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.17 00:26:37 3: HttpUtils url=<hidden>
2015.10.17 00:26:37 3: <hidden>: HTTP response code 200
2015.10.17 00:26:37 3: HttpUtils <hidden>: Got data, length: 217
2015.10.17 00:27:01 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.10.17 00:27:01 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.10.17 00:27:21 3: HttpUtils url=<hidden>
2015.10.17 00:27:21 3: <hidden>: HTTP response code 200
2015.10.17 00:27:21 3: HttpUtils <hidden>: Got data, length: 220
2015.10.17 00:27:23 3: HttpUtils url=<hidden>
2015.10.17 00:27:24 3: TelegramBot_SendIt myfhemBot: add send to queue :13363079: -:TelegramBot fhem cmd :aussen: result :OWTHERM: OWX_28_FF313C4E0400.temperature => 1.75:: - :<undef>:
2015.10.17 00:27:24 3: TelegramBot_ReadHandleCommand myfhemBot: cmd found :list:
2015.10.17 00:27:24 3: TelegramBot_SendIt myfhemBot: add send to queue :13363079: -:TelegramBot fhem cmd :list: result :
.
.
2015.10.17 00:27:25 3: <hidden>: HTTP response code 200
2015.10.17 00:27:25 3: HttpUtils <hidden>: Got data, length: 695
2015.10.17 00:27:25 3: HttpUtils url=<hidden>
2015.10.17 00:27:25 3: <hidden>: HTTP response code 200
2015.10.17 00:27:25 3: HttpUtils <hidden>: Got data, length: 303
2015.10.17 00:27:25 3: HttpUtils url=<hidden>
2015.10.17 00:27:25 3: <hidden>: HTTP response code 200
2015.10.17 00:27:25 3: HttpUtils <hidden>: Got data, length: 3848
2015.10.17 00:27:35 3: HttpUtils url=<hidden>
2015.10.17 00:27:36 3: <hidden>: HTTP response code 200
2015.10.17 00:27:36 3: HttpUtils <hidden>: Got data, length: 279
2015.10.17 00:27:46 3: HttpUtils url=<hidden>
2015.10.17 00:27:47 3: <hidden>: HTTP response code 200
2015.10.17 00:27:47 3: HttpUtils <hidden>: Got data, length: 695
2015.10.17 00:27:51 3: HttpUtils url=<hidden>
2015.10.17 00:27:51 3: <hidden>: HTTP response code 200
2015.10.17 00:27:51 3: HttpUtils <hidden>: Got data, length: 305
2015.10.17 00:27:57 3: HttpUtils url=<hidden>
2015.10.17 00:27:57 3: <hidden>: HTTP response code 200
2015.10.17 00:27:57 3: HttpUtils <hidden>: Got data, length: 329
2015.10.17 00:28:02 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.10.17 00:28:02 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.10.17 00:28:21 3: HttpUtils url=<hidden>
2015.10.17 00:28:51 3: TelegramBot_Callback myfhemBot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2015.10.17 00:29:03 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 105.
2015.10.17 00:29:03 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
Gute Nacht erst ein mal....
Gerd
Edit1: Hat sich erledigt. Fehler sass vorm PC ::)
Zitat von: Maista am 16 Oktober 2015, 20:34:22
Ein Bild habe ich auch nicht mehr verschickt bekommen.
set sendImage @eumel /opt/fhem/35kb.jpg
wird als versendet angezeigt.
Bilder versenden hätte eigentlich aber auch schon vorher funktionieren sollen, kannst Du das nach einem reset nochmal testen. Ich hatte das gestern abend getestet und eben mit der gefixten Version nochmals.
Das Log gibt an, dass der Zugriff auf den telegram-Server nicht erfolgreich ist (bzw. Keine Antwort erhält).
Johannes
Moin Moin,
short funktioniert auch bei mir wieder, Danke :)
Gruß
Uwe
Hallo Johannes,
bin gerade noch mal in mich gegangen und habe dann bemerkt das ich wohl letztens
ein Update vom Fhem gemacht hatte .
Dabei hats dann die HttpUtils.pm mit der 14kb Original überschrieben :-X
Nach dem ich nun die HttpUtils.pm von Dir wieder am laufen habe konnte ich das Bild übertragen.
Vielleicht machst Du noch ein Check rein ob die korrekte HttpUtils.pm am laufen ist ;)
Gruss Gerd
Hallo Johannes,
hast Du schon mal bei
define notify_fhem_reload notify global:INITIALIZED set <telegrambot> message fhem newly started - just now !
anstatt dem
ZitatINITIALIZED
ein
ZitatSHUTDOWN
probiert?
Das funktioniert nicht. FHEM müsste dabei erst mal die Meldung absetzen.
ZitatREREADCFG
hingegen funktioniert ;)
Gruss Gerd
Zitat von: Maista am 17 Oktober 2015, 17:29:33
Hallo Johannes,
bin gerade noch mal in mich gegangen und habe dann bemerkt das ich wohl letztens
ein Update vom Fhem gemacht hatte .
Dabei hats dann die HttpUtils.pm mit der 14kb Original überschrieben :-X
Nach dem ich nun die HttpUtils.pm von Dir wieder am laufen habe konnte ich das Bild übertragen.
Vielleicht machst Du noch ein Check rein ob die korrekte HttpUtils.pm am laufen ist ;)
Gruss Gerd
Hallo Gerd,
schön, dass es wieder geht!
ich habe gestern mit Rudi gesprochen und er hat die Änderung der HTTPUtil auf seiner TODO-Liste. Da das also nur ein temporärer Zustand (abhängig von der Länge seines TODO-Staples :D) ist, würde ich da erst noch etwas abwarten bevor ich da eine Prüfung einbaue.
Gruss,
Johannes
Zitat von: Maista am 17 Oktober 2015, 18:16:29
Hallo Johannes,
define notify_fhem_reload notify global:INITIALIZED set <telegrambot> message fhem newly started - just now !
SHUTDOWN probiert?
Gruss Gerd
Das kann nicht funktionieren, da während der Übertragung der Server runtergefahren wird und damit die Übertragung abgebrochen wird. TelegramBot ist ja NonBlocking aufgebaut, also findet die Übertragung quasi im Hintergrund statt. Allerdings wird diese während des shutdowns nicht mehr ausgeführt.
Johannes
Hay Johannes,
ja dann ist klar das dazu keine Meldung mehr kommen kann :-)
Wegen HttpUtil muss man dann warten, so lange man(n)s nicht wieder vergisst.
Gruss
Gerd
OK, ich habe es gewagt: Die jetzige Version habe ich als 1.0 im SVN eingechecked. Ab morgen wird TelegramBot über das update verteilt.
Dank an alle, die mitgeholfen haben und Danke für die Gelassenheit mit der Ihr die Fehler im Modul hingenommen habt ;)
Johannes
Immer wieder gerne, Johannes.
Du musstest mit mir auch durchhalten.
Schönen Sonntag und danke für Deine Arbeit!
Gerd
PS: Wie soll das mit den Emojis funktionieren?
Zitat von: Maista am 17 Oktober 2015, 23:16:04
PS: Wie soll das mit den Emojis funktionieren?
Einfach verschicken. Getestet habe ich bisher mit dem Browserclient (Firefox/IE auf Windows) und iOS telegram client.
Bei mir werden Emojis die an den Bot gesendet werden auch im entsprechenden Reading angezeigt:
<Leider kann ich die Unicode-Zeichen hier nicht posten... ???n>
Hallo,
das Modul klingt sehr vielversprechend, jedoch läuft es bei meiner AVM 7490 noch nicht,
JSON 2.90 ist installiert (http://www.fhemwiki.de/wiki/Hue#HUE_auf_der_Fritzbox)
dennoch kommt:
2015.10.19 16:03:59 0: Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 354, near "})"
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1384, near "} ) "
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1394, near "} ) "
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1494, near "} )
"
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1554, near "})"
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1566, near "})"
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1570, near "} )
Woran könnte es liegen ?
Zitat von: Freibeuter am 19 Oktober 2015, 16:09:43
Hallo,
das Modul klingt sehr vielversprechend, jedoch läuft es bei meiner AVM 7490 noch nicht,
JSON 2.90 ist installiert, dennoch kommt:
2015.10.19 16:03:59 0: Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 354, near "})"
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1384, near "} ) "
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1394, near "} ) "
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1494, near "} )
"
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1554, near "})"
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1566, near "})"
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/50_TelegramBot.pm line 1570, near "} )
Woran könnte es liegen ?
Kann es sein, dass der device angelegt wurde, bevor JSON installiert war? Es sieht jedenfalls so aus, als ob die interne Kontaktverwaltung inkonsistent ist.
Vorschlag: Wenn Du noch nicht zuviel eingestellt hast, versuche den Device nochmals neu anzulegen (also delete und dann define)
Sollte das das Problem nicht beheben würde ich Dich bitten mal das Ergebnis des Kommandos:
list TYPE=TelegramBot
zu posten.
Achtung: das AuthToken (sprich passwort) Deines TelegramBots ist darin enthalten, also zur Sicherheit bitte maskieren (durch xxxxx oder so ersetzen).
Johannes
Rudi hat gerade einen Patch für HTTPUtils eingechecked, so dass demnächst auch ohne patchen von HTTPUtils der Transfer von grossen Bildern mit dem TelegramBot funktionieren sollte.
Traumhaft. Hab mir grad meine cfg erstellt um ein wenig rumgespielt.tiptop sag ich und ein dickes dankeschön. Jetzt mit großen Bildern perfekt
Zitat von: knopf_piano am 21 Oktober 2015, 21:16:49
Traumhaft. Hab mir grad meine cfg erstellt um ein wenig rumgespielt.tiptop sag ich und ein dickes dankeschön. Jetzt mit großen Bildern perfekt
Klingt gut! Gern geschehen.
Johannes
Auch von mir ein dickes Dankeschön für dieses Modul.
Ich will es für die Meldungen der Alarmanlage einsetzen und hatte es exzessiv mit einem Account (Iphone) getestet. Grob vom Konzept her: Ich benutze das Modul Residents/Roommate und Modul Alarmanlage. Bei Scharfschaltung bekommt der letze "Gehende" per Telegram die Meldung das scharfgeschaltet.
Gestern Abend wollten wir ein zweites Gerät hinzufügen. Ein Windows Phone 8.1. Dabei ist folgendes Verhalten aufgefallen:
Die Telegram-Version für Windows Phone kann anscheinend nur verschlüsselte Chats starten. Nach meiner Erinnerung kann der Bot das im Moment nicht? Und die erste Kommunikation muss ja vom (neuen) Benutzer zum Bot gehen bevor dieser senden darf.
In der Telegram-App auf dem WP stand dann, dass die App darauf wartet, dass der Bot Online geht.
Nach zwei Versuchen habe ich mir dann so beholfen, den ersten Kontakt auf dem PC über die Web-Version von Telegram aufzunehmen. Danach klappt senden und empfangen einwandfrei.
Die andere Besonderheit:
Beim ersten Versuch hat sich der RasPi komplett weggehängt. Es war nicht mal mehr anpingbar. Die OS-/fhem-logs geben nichts her. Kann zwar Zufall sein, aber eigentlich läuft der RasPi ansonsten ohne Probleme durch.
Beim 2. Versuch ist zwar nichts abgestürzt. Allerdings hatte ich mehrere Minuten Meldungen:
2015.10.21 20:22:53 3: TelegramBot_Callback msg.maXXX: resulted in :NonBlockingGet timed out on read from <hidden> after 65s: from Polling
2015.10.21 20:23:53 3: TelegramBot_Callback msg.maXXX: resulted in :NonBlockingGet timed out on read from <hidden> after 65s: from Polling
2015.10.21 20:24:29 3: TelegramBot_Callback msg.maXXX: resulted in :NonBlockingGet timed out on read from <hidden> after 65s: from Polling
2015.10.21 20:25:29 3: TelegramBot_Callback msg.maXXX: resulted in :NonBlockingGet timed out on read from <hidden> after 65s: from Polling
2015.10.21 20:26:04 3: TelegramBot_Callback msg.maXXX: resulted in :NonBlockingGet timed out on read from <hidden> after 65s: from Polling
2015.10.21 20:27:04 3: TelegramBot_Callback msg.maXXX: resulted in :NonBlockingGet timed out on read from <hidden> after 65s: from Polling
2015.10.21 20:27:39 3: TelegramBot_Callback msg.maXXX: resulted in :NonBlockingGet timed out on read from <hidden> after 65s: from Polling
fhem war aktuell (mit Ausnahme der neuen httputils)
set <device> reset hat nicht geholfen, erst ein shutdown restart.
Vielleicht hilft das dem einen oder anderen der "exotische" Geräte einsetzt. ;)
Zitat von: Buwe am 22 Oktober 2015, 11:15:52
Auch von mir ein dickes Dankeschön für dieses Modul.
Ich will es für die Meldungen der Alarmanlage einsetzen und hatte es exzessiv mit einem Account (Iphone) getestet. Grob vom Konzept her: Ich benutze das Modul Residents/Roommate und Modul Alarmanlage. Bei Scharfschaltung bekommt der letze "Gehende" per Telegram die Meldung das scharfgeschaltet.
Gestern Abend wollten wir ein zweites Gerät hinzufügen. Ein Windows Phone 8.1. Dabei ist folgendes Verhalten aufgefallen:
Die Telegram-Version für Windows Phone kann anscheinend nur verschlüsselte Chats starten. Nach meiner Erinnerung kann der Bot das im Moment nicht? Und die erste Kommunikation muss ja vom (neuen) Benutzer zum Bot gehen bevor dieser senden darf.
In der Telegram-App auf dem WP stand dann, dass die App darauf wartet, dass der Bot Online geht.
Nach zwei Versuchen habe ich mir dann so beholfen, den ersten Kontakt auf dem PC über die Web-Version von Telegram aufzunehmen. Danach klappt senden und empfangen einwandfrei.
Die andere Besonderheit:
Beim ersten Versuch hat sich der RasPi komplett weggehängt. Es war nicht mal mehr anpingbar. Die OS-/fhem-logs geben nichts her. Kann zwar Zufall sein, aber eigentlich läuft der RasPi ansonsten ohne Probleme durch.
Beim 2. Versuch ist zwar nichts abgestürzt. Allerdings hatte ich mehrere Minuten Meldungen:
2015.10.21 20:22:53 3: TelegramBot_Callback msg.maXXX: resulted in :NonBlockingGet timed out on read from <hidden> after 65s: from Polling
fhem war aktuell (mit Ausnahme der neuen httputils)
set <device> reset hat nicht geholfen, erst ein shutdown restart.
Vielleicht hilft das dem einen oder anderen der "exotische" Geräte einsetzt. ;)
- Das Windows Phone nur verschlüsselte Chats starten kann finde ich so nicht in den Beschreibungen, habe aber auch kein Windows Phone um das zu verifizieren. Vielleicht gibt es da eine Option in den Einstellungen?
- Das Telegram API für Bots gibt leider keine secret chats her und bisher ist das auch nicht auf der Roadmap bei telegram, da eher aufwändig (
- Die timeout-Meldungen im lock bedeuten normalerweise, dass die Verbindung zum telegram server (oder der telegram server selber) nicht antwortet. Da diese Bedingung wohl immer mal wieder eintritt, werde ich da die log-Einträge reduzieren und nochmals nach möglichen Ursachen forschen.
- Bezüglich des ersten Versuchs kann ich leider nicht mit einer Erklärung dienen, denn das Verhalten habe ich bisher noch nicht beobachtet und auch nicht geschildert bekommen. Wenn Du ersten versuch sagst , nehme ich an, dass das aufgetreten ist, als Du den Device per "define" angelegt hast, oder als Du versucht hast die erste Message zu senden/empfangen?
Es wäre toll, wenn Du bei ähnlichem Verhalten mal "verbose" auf 4 (oder gar 5) setzen könntest und dann den log zur Verfügung zu stellen.
Hallo Johannes,
auch von mir vielen Dank für das nützliche Modul. Bekomme jetzt zuverlässig eine Nachricht, wenn einer der beiden Server neu startet. Um die Mailbenachrichtigung über zu warmen Kühlschrank und solchess Zeug abzulösen - wie bekomme ich in den zu übermittelnden Text "Temperatur, Uhrzeit" als Variable rein? Sorry für die dumme Frage.
Zitat
- Das Windows Phone nur verschlüsselte Chats starten kann finde ich so nicht in den Beschreibungen, habe aber auch kein Windows Phone um das zu verifizieren. Vielleicht gibt es da eine Option in den Einstellungen?
Ich bin zwar jetzt nicht der Windows Phone Spezialist, aber in den Einstellungen habe ich nichts gefunden. Google hatte auf die Schnelle auch nicht weiter geholfen.
Zitat
- Bezüglich des ersten Versuchs kann ich leider nicht mit einer Erklärung dienen, denn das Verhalten habe ich bisher noch nicht beobachtet und auch nicht geschildert bekommen. Wenn Du ersten versuch sagst , nehme ich an, dass das aufgetreten ist, als Du den Device per "define" angelegt hast, oder als Du versucht hast die erste Message zu senden/empfangen?
Zu diesem Zeitpunkt habe ich nichts definiert oder konfiguriert. Der (fhem)-Bot läuft auch schon ein paar Tage. Das der RasPi hing, ist mir nur aufgefallen weil ich in den Readings nachschauen wollte ob er vlt. doch was empfangen hat.
Ich hab das Log auch noch mal durchforstet. Diese Fehler-Meldungen gab es auch zwischendurch schon mal. Aber nicht über so einen langen Zeitraum. Häufiger sind JSON Fehler, heute morgen einmalig die o.g. Meldung und danach mehrere JSONS (11x bis 5:10 Uhr):
2015.10.22 05:06:38 3: TelegramBot_Callback msg.maXXX: resulted in :NonBlockingGet timed out on read from <hidden> after 65s: from Polling
2015.10.22 05:06:56 3: TelegramBot_Callback msg.maXXX: resulted in :Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1122.
: from Polling
Vielleicht der Hinweis: Ich hatte erst die Version aus Github. Nachdem das Bestandteil von fhem wurde, habe ich das einfach per fhem Update aktualisiert. Ich hoffe, das war unkritisch.
Hi auch von mir riesen Dank!!
Ich hatte auch das Problem das ich von ausserhalb nicht ohne viel aufwand ans system konnte wegen unitymedia-dual-stack-problematik.
Dein Modul ist echt Super und die Telegram funktionalitäten haben mich auch voll überzeugt die custom-tastatur-layouts finde ich auch super vielversprechend.
Hat jemand von euch schon eine art Dialog funktionalität gebaut sowas wie eine sicherheitsfrage für eine Keymatic wenn ich die tür auf machen will das mich das system fragt willst du wirklich die tür aufmachen oder so? wobei das ja warscheinlich mit so custom tastaur layouts dann hinfällig sein wird?
Die Nachrichten noch mit variablen zu füllen ist mir bisher auch noch nicht gelungen, das fände ich auch interessant.
Greets speex
Zitat von: det. am 22 Oktober 2015, 12:22:52
Hallo Johannes,
auch von mir vielen Dank für das nützliche Modul. Bekomme jetzt zuverlässig eine Nachricht, wenn einer der beiden Server neu startet. Um die Mailbenachrichtigung über zu warmen Kühlschrank und solchess Zeug abzulösen - wie bekomme ich in den zu übermittelnden Text "Temperatur, Uhrzeit" als Variable rein? Sorry für die dumme Frage.
Als Beispiel nehme ich mal an, dass Du die Benachrichtigung über den zu warmen Kühlschrank als DOIF realisieren willst, in Abwandlung eines Beispiels aus der commandref müsste das etwa so gehen:
define kuehl_alarm DOIF ([kuehl:temperature]>10) (set telegrambot message Kuehlschrank ist zu warm, aktuell [kuehl:temperature] Grad)
Müsste man aber noch am System überprüfen, das war jetzt eine Trockenübung
Zitat von: Buwe am 22 Oktober 2015, 12:54:40
Zu diesem Zeitpunkt habe ich nichts definiert oder konfiguriert. Der (fhem)-Bot läuft auch schon ein paar Tage. Das der RasPi hing, ist mir nur aufgefallen weil ich in den Readings nachschauen wollte ob er vlt. doch was empfangen hat.
Ich hab das Log auch noch mal durchforstet. Diese Fehler-Meldungen gab es auch zwischendurch schon mal. Aber nicht über so einen langen Zeitraum. Häufiger sind JSON Fehler, heute morgen einmalig die o.g. Meldung und danach mehrere JSONS (11x bis 5:10 Uhr):
Vielleicht der Hinweis: Ich hatte erst die Version aus Github. Nachdem das Bestandteil von fhem wurde, habe ich das einfach per fhem Update aktualisiert. Ich hoffe, das war unkritisch.
Das mit der Version sollte eigentlich keinen Unterschied machen.
Wie gesagt ich würde die Fehlermeldungen aus dem Log reduzieren, aber keins davon ist ein Hinweis auf einen Fehler bei fhem, sondern genau das Gegenteil, nämlich, dass unerwartetetes Verhalten des Netzwerks oder externen Servers erkannt wurde und der nächste Versuch gestartet wird. Nachts sehe ich diese Meldungen bei mir auch regelmässig, ohne dass ich einen Einfluss von meinem Netzwerk oder Fhem vermute. Vielleicht Maintenance bei telegram.org?
Ich sehe jetzt erstmal keinen Hinweis darauf, dass der Hänger zwingend von telegramBot kommen muss, aber wie gesagt es wäre wichtig zu erfahren, wenn so etwas wieder auftritt.
Zitat von: speex am 22 Oktober 2015, 13:30:58
Hi auch von mir riesen Dank!!
Ich hatte auch das Problem das ich von ausserhalb nicht ohne viel aufwand ans system konnte wegen unitymedia-dual-stack-problematik.
Dein Modul ist echt Super und die Telegram funktionalitäten haben mich auch voll überzeugt die custom-tastatur-layouts finde ich auch super vielversprechend.
Hat jemand von euch schon eine art Dialog funktionalität gebaut sowas wie eine sicherheitsfrage für eine Keymatic wenn ich die tür auf machen will das mich das system fragt willst du wirklich die tür aufmachen oder so? wobei das ja warscheinlich mit so custom tastaur layouts dann hinfällig sein wird?
Die Nachrichten noch mit variablen zu füllen ist mir bisher auch noch nicht gelungen, das fände ich auch interessant.
Greets speex
Danke :)
Zu Dialogen gibt es bisher nur unfertige Überlegungen, zum Teil auch in diesem Thread. Als ersten Schritt plane ich immer noch es zu erlauben eine eigene perl subroutine zu hinterlegen, die dann für die richtige Antwort aufgerufen wird. Tastaturen habe ich bisher nicht ausprobiert und auch noch nicht ins Modul eingebaut.
Vorschläge um so etwas deklarativ zu machen sind erwünscht, denn bisher ist mir nur eingefallen so etwas wie einen endlichen automaten https://de.wikipedia.org/wiki/Endlicher_Automat (https://de.wikipedia.org/wiki/Endlicher_Automat)hinzuzufügen, allerdings ist das ein grösseres Ding und nur eine externe Funktion zu rufen ist doch viel einfacher ;)
Wie gesagt Variablen lässt sich am einfachsten über die Möglichkeiten von DOIF oder notify erledigen, ansonsten in einer myUtils-Routine. Gibt es ein Szenario, wo messages mit Variablen nucht über notify oder DOIF oder ähnliches verschickt werden sollen?
Zitat von: viegener am 22 Oktober 2015, 17:43:06
Wie gesagt Variablen lässt sich am einfachsten über die Möglichkeiten von DOIF oder notify erledigen, ansonsten in einer myUtils-Routine. Gibt es ein Szenario, wo messages mit Variablen nucht über notify oder DOIF oder ähnliches verschickt werden sollen?
mMn reicht es wenn es mit DOIF oder THRESHOLD gehen würde, Dein Beispiel in Antwort 216 liefert aber als Message leider ohne Variablenwert nur den Text bis zum Komma:
Kuehlschrank ist zu warm und die Meldung im LOG: kuehl_alarm: aktuell 5.5 Grad: Unknown command aktuell, try help
Zitat von: det. am 22 Oktober 2015, 17:59:34
mMn reicht es wenn es mit DOIF oder THRESHOLD gehen würde, Dein Beispiel in Antwort 216 liefert aber als Message leider ohne Variablenwert nur den Text bis zum Komma
Das sollte auch möglich sein, aber hier ist es vermutlich wirklich das Komma (ich konnte es ja nicht ausprobieren), versuch es doch einfach mal ohne Komma. Wie gesagt die Ersetzung wird dann in DOIF gemacht, TelegramBot bekommt schon einen fertigen String.
Sobald ich kann werde ich auch testen.
Johannes
Bei DOIF ist das Komma ein Trenner für FHEM Befehle, wird es innerhalb eines Befehls benutzt muss dieser zusätlich geklammert werden. Steht auch irgendwo in der Commandref.
Nur das Komma wech, dann klappt's.
Danke, das war es! Funktioniert!
Zitat von: viegener am 22 Oktober 2015, 17:43:06
Vorschläge um so etwas deklarativ zu machen sind erwünscht
Habe heute mal wieder ein bisschen programmiert, herausgekommen ist dabei folgendes:
myTelegramBot_dialog_notify
myTelegramBot.msgText.* {
my @command = split(" ", $EVENT);
splice(@command, 0, 1);
my $msgPeerId = ReadingsVal($NAME, "msgPeerId", 0);
telegramBot_dialog(@command, $msgPeerId);
}
sub telegramBot_dialog(@_){
my @command = shift;
my $msgPeerId = shift;
my $msg;
my @cmdRestrictedPeer = split(" ", AttrVal("myTelegramBot", "cmdRestrictedPeer", 0));
my $dialog = ReadingsVal("myTelegramBot_dialog_notify", $msgPeerId."_dialog", $command[0]);
my $level = ReadingsVal("myTelegramBot_dialog_notify", $msgPeerId."_level", 0);
if($msgPeerId ~~ @cmdRestrictedPeer){
switch ($dialog) {
case /heimdall/i {
$msg = "Ich kann folgendes für dich tun:";
$msg .= "\n";
$msg .= "\n/Waschmaschine";
}
case /Waschmaschine/i {
my $actor = "HM_2C10D8_Sw";
my $controlUnit = "d_Waschmaschine";
my $mode = ReadingsVal($controlUnit, "controlMode", "manual");
my $state = ReadingsVal($actor, "state", "off");
my $stop = ReadingsVal($controlUnit, "stopTime", undef);
switch ($level) {
case 0 {
$msg = "Modus: $mode";
$msg .= "\nStatus: $state";
$msg .= "\nWäsche voraussichtlich um $stop Uhr fertig."if($mode eq "auto");
$msg .= "\n";
$msg .= "\n/manual"if($mode eq "auto");
$msg .= "\n/programmieren";
$msg .= "\n/abbrechen";
fhem(
"
setreading myTelegramBot_dialog_notify ".$msgPeerId."_dialog $dialog;
setreading myTelegramBot_dialog_notify ".$msgPeerId."_level 1;
"
);
}
case 1 {
switch ($command[0]) {
case /manual/i {
if($mode eq "auto"){
$msg = "Das Zeitprogramm wurde gestoppt.";
fhem("set $controlUnit controlMode manual");
$command[0] = "abbrechen";
}
}
case /programmieren/i {
$msg = "Wann soll die Wäsche fertig sein?";
$msg .= "\nBitte Uhrzeit in HH:MM angeben";
if(defined($stop)){
$msg .= "\n,aktuell ist $stop Uhr eingestellt.";
$msg .= "\n";
$msg .= "\n/bestätigen";
}
else{
$msg .= ".";
}
fhem("setreading myTelegramBot_dialog_notify ".$msgPeerId."_level 2");
}
}
}
case 2 {
switch ($command[0]) {
case /bestätigen/i {
if(defined($stop)){
$msg = "Das Zeitprogramm wurde eingestllt.";
$msg .= "\nDie Wäsche wird voraussichtlich um $stop Uhr ferig sein.";
$msg .= "\nBitte die Waschmaschine vorbereiten.";
fhem("set $controlUnit controlMode auto");
$command[0] = "abbrechen";
}
}
else {
my ($HH, $MM) = split(":", $command[0]);
if(
defined($HH) and
$HH =~ /\d\d/ and
$HH >= 0 and
$HH <= 24 and
defined($MM) and
$MM =~ /\d\d/ and
$MM >= 0 and
$MM <= 59
){
$msg = "Das Zeitprogramm wurde eingestllt.";
$msg .= "\nDie Wäsche wird voraussichtlich um $command[0] Uhr ferig sein.";
$msg .= "\nBitte die Waschmaschine vorbereiten.";
fhem(
"
set $controlUnit stopTime $command[0];
set $controlUnit controlMode auto;
"
);
$command[0] = "abbrechen";
}
}
}
}
}
}
}
if($msg ne ""){
fhem("set myTelegramBot message \@$msgPeerId $msg");
}
if($command[0] =~ /abbrechen/i){
$msg = "Dialog beendet.";
$msg .= "\n";
$msg .= "\n/heimdall";
fhem("set myTelegramBot message \@$msgPeerId $msg");
fhem(
"
deletereading myTelegramBot_dialog_notify ".$msgPeerId."_dialog;
deletereading myTelegramBot_dialog_notify ".$msgPeerId."_level;
"
);
}
}else{
$msg = "Du bist nich würdig!";
fhem("set myTelegramBot message \@$msgPeerId $msg");
}
}
alles noch etwas klobig. Werde aber sehen, dass ich da schnell weiter komme. Bisher funktioniert es mit der einen Funktion ganz gut.
Grüße
igami
Edit: 23.10.15 fertige sub eingefügt
Hallo ihr lieben, also ein riesen Problem telegramBot mach bei mir nur noch Probleme.
Der Server wird praktisch jede minute neu gestartet weil sich das telegrammodul nicht mehr fängt.
Angefangen hat das ganze bei mir seitdem ich mir den TeleGramBot + HTTPUtils über den update command geholt habe, seitdem wird nicht mehr gepollt und er kackt immer beim letzten an telegrambot verschicken command ab. Das geht inzwischen soweit das ich das system praktisch nicht mehr anrühren kann alles sielt verrückt.#
2015.10.25 06:09:20 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:09:20 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.25 06:09:20 3: ipc RPiFronthem:127.0.0.1:41942 (ws): ws alive with pid 18599
2015.10.25 06:09:58 3: TelegramBot_ReadHandleCommand teleBot: cmd found :list global:
2015.10.25 06:09:58 3: TelegramBot_SendIt teleBot: add send to queue :xxxxxxxxx: -:TelegramBot fhem cmd :list global: result :Internals:
DEF <no definition>
NAME global
NR 1
STATE <no definition>
TYPE Global
currentlogfile ./log/fhem-2015-10.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
configfile fhem.cfg
latitude 51.229455
logfile ./log/fhem-%Y-%m.log
longitude 6.760991
modpath .
motd SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
statefile ./log/fhem.save
updateInBackground 1
userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
verbose 3
version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $
:: - :<undef>:
2015.10.25 06:09:58 3: TelegramBot_ReadHandleCommand teleBot: cmd found :shutdown restart:
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 0: Server shutdown
2015.10.25 06:10:01 1: Including fhem.cfg
2015.10.25 06:10:01 3: telnetPort: port 7072 opened
2015.10.25 06:10:01 3: WEB: port 8083 opened
2015.10.25 06:10:01 3: WEBphone: port 8084 opened
2015.10.25 06:10:01 3: WEBtablet: port 8085 opened
2015.10.25 06:10:01 2: eventTypes: loaded 1350 events from ./log/eventTypes.txt
2015.10.25 06:10:02 3: fl_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:02 3: wz_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:02 3: wz_SchreibtischLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:02 3: master_LED_Define: I/O device is MilightBridge
2015.10.25 06:10:02 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:10:02 3: Opening HMLAN1 device 192.168.1.111:1000
2015.10.25 06:10:02 3: HMLAN1 device opened
2015.10.25 06:10:02 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:10:03 2: RPiFronthem: ipc listener opened at port 16384
2015.10.25 06:10:04 3: TelegramBot_Define teleBot: called
2015.10.25 06:10:04 1: Including ./log/fhem.save
2015.10.25 06:10:05 3: Device fl_Dor_Sensor added to ActionDetector with 028:00 time
2015.10.25 06:10:05 3: Device fl_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:10:05 3: Device wz_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:10:05 3: Device wz_HK2 added to ActionDetector with 000:10 time
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: usb create starting
2015.10.25 06:10:05 3: Probing CUL device /dev/ttyAMA0
2015.10.25 06:10:05 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.10.25 06:10:06 3: Probing FRM device /dev/ttyAMA0
2015.10.25 06:10:11 1: usb create end
2015.10.25 06:10:11 1: PERL WARNING: Use of uninitialized value $devname in hash element at ./FHEM/31_MilightDevice.pm line 2097.
2015.10.25 06:10:11 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.10.25 06:10:11 0: Featurelevel: 5.6
2015.10.25 06:10:11 0: Server started with 80 defined entities (version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $, os linux, user fhem, pid 18609)
2015.10.25 06:10:11 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:10:11 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.25 06:10:11 3: ipc RPiFronthem:127.0.0.1:41951 (ws): ws alive with pid 18611
2015.10.25 06:10:49 3: TelegramBot_ReadHandleCommand teleBot: cmd found :list global:
2015.10.25 06:10:50 3: TelegramBot_SendIt teleBot: add send to queue :xxxxxxxxx: -:TelegramBot fhem cmd :list global: result :Internals:
DEF <no definition>
NAME global
NR 1
STATE <no definition>
TYPE Global
currentlogfile ./log/fhem-2015-10.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
configfile fhem.cfg
latitude 51.229455
logfile ./log/fhem-%Y-%m.log
longitude 6.760991
modpath .
motd SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
statefile ./log/fhem.save
updateInBackground 1
userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
verbose 3
version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $
:: - :<undef>:
2015.10.25 06:10:50 3: TelegramBot_ReadHandleCommand teleBot: cmd found :shutdown restart:
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 0: Server shutdown
2015.10.25 06:10:52 1: Including fhem.cfg
2015.10.25 06:10:52 3: telnetPort: port 7072 opened
2015.10.25 06:10:53 3: WEB: port 8083 opened
2015.10.25 06:10:53 3: WEBphone: port 8084 opened
2015.10.25 06:10:53 3: WEBtablet: port 8085 opened
2015.10.25 06:10:53 2: eventTypes: loaded 1350 events from ./log/eventTypes.txt
2015.10.25 06:10:53 3: fl_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:53 3: wz_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:53 3: wz_SchreibtischLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:53 3: master_LED_Define: I/O device is MilightBridge
2015.10.25 06:10:53 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:10:53 3: Opening HMLAN1 device 192.168.1.111:1000
2015.10.25 06:10:53 3: HMLAN1 device opened
2015.10.25 06:10:53 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:10:55 2: RPiFronthem: ipc listener opened at port 16384
2015.10.25 06:10:55 3: TelegramBot_Define teleBot: called
2015.10.25 06:10:56 1: Including ./log/fhem.save
2015.10.25 06:10:56 3: Device fl_Dor_Sensor added to ActionDetector with 028:00 time
2015.10.25 06:10:56 3: Device fl_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:10:56 3: Device wz_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:10:56 3: Device wz_HK2 added to ActionDetector with 000:10 time
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: usb create starting
2015.10.25 06:10:57 3: Probing CUL device /dev/ttyAMA0
2015.10.25 06:10:57 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.10.25 06:10:57 3: Probing FRM device /dev/ttyAMA0
2015.10.25 06:11:02 1: usb create end
2015.10.25 06:11:02 1: PERL WARNING: Use of uninitialized value $devname in hash element at ./FHEM/31_MilightDevice.pm line 2097.
2015.10.25 06:11:02 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.10.25 06:11:02 0: Featurelevel: 5.6
2015.10.25 06:11:02 0: Server started with 80 defined entities (version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $, os linux, user fhem, pid 18621)
2015.10.25 06:11:03 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:11:03 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.25 06:11:03 3: ipc RPiFronthem:127.0.0.1:41960 (ws): ws alive with pid 18622
2015.10.25 06:11:41 3: TelegramBot_ReadHandleCommand teleBot: cmd found :list global:
2015.10.25 06:11:41 3: TelegramBot_SendIt teleBot: add send to queue :xxxxxxxxx: -:TelegramBot fhem cmd :list global: result :Internals:
DEF <no definition>
NAME global
NR 1
STATE <no definition>
TYPE Global
currentlogfile ./log/fhem-2015-10.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
configfile fhem.cfg
latitude 51.229455
logfile ./log/fhem-%Y-%m.log
longitude 6.760991
modpath .
motd SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
statefile ./log/fhem.save
updateInBackground 1
userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
verbose 3
version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $
:: - :<undef>:
2015.10.25 06:11:41 3: TelegramBot_ReadHandleCommand teleBot: cmd found :shutdown restart:
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 0: Server shutdown
2015.10.25 06:11:44 1: Including fhem.cfg
2015.10.25 06:11:44 3: telnetPort: port 7072 opened
2015.10.25 06:11:44 3: WEB: port 8083 opened
2015.10.25 06:11:44 3: WEBphone: port 8084 opened
2015.10.25 06:11:44 3: WEBtablet: port 8085 opened
2015.10.25 06:11:44 2: eventTypes: loaded 1350 events from ./log/eventTypes.txt
2015.10.25 06:11:45 3: fl_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:11:45 3: wz_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:11:45 3: wz_SchreibtischLampe_Define: I/O device is MilightBridge
2015.10.25 06:11:45 3: master_LED_Define: I/O device is MilightBridge
2015.10.25 06:11:45 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:11:45 3: Opening HMLAN1 device 192.168.1.111:1000
2015.10.25 06:11:45 3: HMLAN1 device opened
2015.10.25 06:11:45 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:11:46 2: RPiFronthem: ipc listener opened at port 16384
2015.10.25 06:11:47 3: TelegramBot_Define teleBot: called
2015.10.25 06:11:47 1: Including ./log/fhem.save
2015.10.25 06:11:48 3: Device fl_Dor_Sensor added to ActionDetector with 028:00 time
2015.10.25 06:11:48 3: Device fl_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:11:48 3: Device wz_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:11:48 3: Device wz_HK2 added to ActionDetector with 000:10 time
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: usb create starting
2015.10.25 06:11:48 3: Probing CUL device /dev/ttyAMA0
2015.10.25 06:11:48 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.10.25 06:11:49 3: Probing FRM device /dev/ttyAMA0
2015.10.25 06:11:54 1: usb create end
2015.10.25 06:11:54 1: PERL WARNING: Use of uninitialized value $devname in hash element at ./FHEM/31_MilightDevice.pm line 2097.
2015.10.25 06:11:54 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.10.25 06:11:54 0: Featurelevel: 5.6
2015.10.25 06:11:54 0: Server started with 80 defined entities (version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $, os linux, user fhem, pid 18632)
2015.10.25 06:11:54 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.25 06:11:54 3: ipc RPiFronthem:127.0.0.1:41969 (ws): ws alive with pid 18633
2015.10.25 06:12:12 1: 192.168.1.111:1000 disconnected, waiting to reappear (HMLAN1)
2015.10.25 06:12:12 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:12:12 1: 192.168.1.111:1000 reappeared (HMLAN1)
2015.10.25 06:12:12 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:12:12 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:12:33 3: TelegramBot_ReadHandleCommand teleBot: cmd found :list global:
2015.10.25 06:12:33 3: TelegramBot_SendIt teleBot: add send to queue :xxxxxxxxx: -:TelegramBot fhem cmd :list global: result :Internals:
DEF <no definition>
NAME global
NR 1
STATE <no definition>
TYPE Global
currentlogfile ./log/fhem-2015-10.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
configfile fhem.cfg
latitude 51.229455
logfile ./log/fhem-%Y-%m.log
longitude 6.760991
modpath .
motd SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
statefile ./log/fhem.save
updateInBackground 1
userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
verbose 3
version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $
:: - :<undef>:
2015.10.25 06:12:33 3: TelegramBot_ReadHandleCommand teleBot: cmd found :shutdown restart:
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 0: Server shutdown
2015.10.25 06:12:35 1: Including fhem.cfg
2015.10.25 06:12:35 3: telnetPort: port 7072 opened
2015.10.25 06:12:36 3: WEB: port 8083 opened
2015.10.25 06:12:36 3: WEBphone: port 8084 opened
2015.10.25 06:12:36 3: WEBtablet: port 8085 opened
2015.10.25 06:12:36 2: eventTypes: loaded 1350 events from ./log/eventTypes.txt
2015.10.25 06:12:36 3: fl_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:12:36 3: wz_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:12:36 3: wz_SchreibtischLampe_Define: I/O device is MilightBridge
2015.10.25 06:12:36 3: master_LED_Define: I/O device is MilightBridge
2015.10.25 06:12:36 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:12:36 3: Opening HMLAN1 device 192.168.1.111:1000
2015.10.25 06:12:36 3: HMLAN1 device opened
2015.10.25 06:12:36 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:12:38 2: RPiFronthem: ipc listener opened at port 16384
2015.10.25 06:12:38 3: TelegramBot_Define teleBot: called
2015.10.25 06:12:39 1: Including ./log/fhem.save
2015.10.25 06:12:39 3: Device fl_Dor_Sensor added to ActionDetector with 028:00 time
2015.10.25 06:12:39 3: Device fl_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:12:39 3: Device wz_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:12:39 3: Device wz_HK2 added to ActionDetector with 000:10 time
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: usb create starting
2015.10.25 06:12:40 3: Probing CUL device /dev/ttyAMA0
2015.10.25 06:12:40 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.10.25 06:12:40 3: Probing FRM device /dev/ttyAMA0
2015.10.25 06:12:45 1: usb create end
2015.10.25 06:12:46 1: PERL WARNING: Use of uninitialized value $devname in hash element at ./FHEM/31_MilightDevice.pm line 2097.
2015.10.25 06:12:46 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.10.25 06:12:46 0: Featurelevel: 5.6
2015.10.25 06:12:46 0: Server started with 80 defined entities (version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $, os linux, user fhem, pid 18643)
2015.10.25 06:12:46 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:12:46 1: 192.168.1.102:9090 reappeared (wz_Kodi)
Alo hier geht gerade nichts mehr... ein set teleBot reset zeigt keine wirknug neustart nichts und der server wird jede minute neugestartet....
Ausser mir das offizielle update zu holen habe ich nichts verändert.
Das polling steht dauerhaft auf -1 und egal was ich an Polling werten vergebe und auch ein telegramBot reset hat auch keinerlei änderung erbracht.
Ich habe die ganze Hardware vom Strom getrennt und lebe jetzt momentan wieder oldschool - manuell , da merkt man dann leider wie sehr man sich daran schon gewöhnt hat.
DIe gewonnen log eriegnisse hab ich hier mal reingepackt
Desweiteren habe ich das ganze auch noch bei einem Bekannten in Betrieb genommen auch in diesem Fall ist das system nicht mehr ansprechbar.
Was mach ich denn jetzt? Hat jemand rat?
Diese ganzen Probleme habe ich zwar nicht, dafür aber sind die anderen Kontakte verschwunden...ebenso meine mühselig eingerichtete Gruppe.
Gruß
Uwe
Hallo zusammen,
ich habe gestern per Update den bot aktualisiert.
Bei mir funktioniert noch alles.
Allerdings habe ich nicht wirklich viel eingerichtet. Bisher nur drei Kontakte und ein paar Favoriten.
Nach dem Update stehen nun zwar viele Fehlermeldungen im Log, diese haben aber scheinbar nichts mit dem TelegramBot zu tun.
Zitat2015.10.21 19:42:15 1: Error: 1 has no TYPE
Diese Meldung taucht alle paar Sekunden auf, aber nicht erkennbar wer das erzeugt.
Schönen Sonntag
Gerd
Edit1: Gerade neu gestartet, kommen keine Meldungen (mehr)
Edit2: In der CFG war beim Zähler DS2423 folgendes gesetzt:
Zitat
attr OWX_1D_A2D984000002 LogM 1
attr OWX_1D_A2D984000002 LogY 1
Das entfernt und keine Massen-Meldungen mehr im Log
Zitat von: speex am 25 Oktober 2015, 06:18:54
Hallo ihr lieben, also ein riesen Problem telegramBot mach bei mir nur noch Probleme.
Der Server wird praktisch jede minute neu gestartet weil sich das telegrammodul nicht mehr fängt.
Angefangen hat das ganze bei mir seitdem ich mir den TeleGramBot + HTTPUtils über den update command geholt habe, seitdem wird nicht mehr gepollt und er kackt immer beim letzten an telegrambot verschicken command ab. Das geht inzwischen soweit das ich das system praktisch nicht mehr anrühren kann alles sielt verrückt.#
2015.10.25 06:09:20 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:09:20 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.25 06:09:20 3: ipc RPiFronthem:127.0.0.1:41942 (ws): ws alive with pid 18599
2015.10.25 06:09:58 3: TelegramBot_ReadHandleCommand teleBot: cmd found :list global:
2015.10.25 06:09:58 3: TelegramBot_SendIt teleBot: add send to queue :xxxxxxxxx: -:TelegramBot fhem cmd :list global: result :Internals:
DEF <no definition>
NAME global
NR 1
STATE <no definition>
TYPE Global
currentlogfile ./log/fhem-2015-10.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
configfile fhem.cfg
latitude 51.229455
logfile ./log/fhem-%Y-%m.log
longitude 6.760991
modpath .
motd SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
statefile ./log/fhem.save
updateInBackground 1
userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
verbose 3
version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $
:: - :<undef>:
2015.10.25 06:09:58 3: TelegramBot_ReadHandleCommand teleBot: cmd found :shutdown restart:
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 1: in SHUTDOWN
2015.10.25 06:09:58 0: Server shutdown
2015.10.25 06:10:01 1: Including fhem.cfg
2015.10.25 06:10:01 3: telnetPort: port 7072 opened
2015.10.25 06:10:01 3: WEB: port 8083 opened
2015.10.25 06:10:01 3: WEBphone: port 8084 opened
2015.10.25 06:10:01 3: WEBtablet: port 8085 opened
2015.10.25 06:10:01 2: eventTypes: loaded 1350 events from ./log/eventTypes.txt
2015.10.25 06:10:02 3: fl_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:02 3: wz_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:02 3: wz_SchreibtischLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:02 3: master_LED_Define: I/O device is MilightBridge
2015.10.25 06:10:02 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:10:02 3: Opening HMLAN1 device 192.168.1.111:1000
2015.10.25 06:10:02 3: HMLAN1 device opened
2015.10.25 06:10:02 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:10:03 2: RPiFronthem: ipc listener opened at port 16384
2015.10.25 06:10:04 3: TelegramBot_Define teleBot: called
2015.10.25 06:10:04 1: Including ./log/fhem.save
2015.10.25 06:10:05 3: Device fl_Dor_Sensor added to ActionDetector with 028:00 time
2015.10.25 06:10:05 3: Device fl_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:10:05 3: Device wz_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:10:05 3: Device wz_HK2 added to ActionDetector with 000:10 time
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: in INITIALIZED
2015.10.25 06:10:05 1: usb create starting
2015.10.25 06:10:05 3: Probing CUL device /dev/ttyAMA0
2015.10.25 06:10:05 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.10.25 06:10:06 3: Probing FRM device /dev/ttyAMA0
2015.10.25 06:10:11 1: usb create end
2015.10.25 06:10:11 1: PERL WARNING: Use of uninitialized value $devname in hash element at ./FHEM/31_MilightDevice.pm line 2097.
2015.10.25 06:10:11 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.10.25 06:10:11 0: Featurelevel: 5.6
2015.10.25 06:10:11 0: Server started with 80 defined entities (version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $, os linux, user fhem, pid 18609)
2015.10.25 06:10:11 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:10:11 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.25 06:10:11 3: ipc RPiFronthem:127.0.0.1:41951 (ws): ws alive with pid 18611
2015.10.25 06:10:49 3: TelegramBot_ReadHandleCommand teleBot: cmd found :list global:
2015.10.25 06:10:50 3: TelegramBot_SendIt teleBot: add send to queue :xxxxxxxxx: -:TelegramBot fhem cmd :list global: result :Internals:
DEF <no definition>
NAME global
NR 1
STATE <no definition>
TYPE Global
currentlogfile ./log/fhem-2015-10.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
configfile fhem.cfg
latitude 51.229455
logfile ./log/fhem-%Y-%m.log
longitude 6.760991
modpath .
motd SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
statefile ./log/fhem.save
updateInBackground 1
userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
verbose 3
version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $
:: - :<undef>:
2015.10.25 06:10:50 3: TelegramBot_ReadHandleCommand teleBot: cmd found :shutdown restart:
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 1: in SHUTDOWN
2015.10.25 06:10:50 0: Server shutdown
2015.10.25 06:10:52 1: Including fhem.cfg
2015.10.25 06:10:52 3: telnetPort: port 7072 opened
2015.10.25 06:10:53 3: WEB: port 8083 opened
2015.10.25 06:10:53 3: WEBphone: port 8084 opened
2015.10.25 06:10:53 3: WEBtablet: port 8085 opened
2015.10.25 06:10:53 2: eventTypes: loaded 1350 events from ./log/eventTypes.txt
2015.10.25 06:10:53 3: fl_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:53 3: wz_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:53 3: wz_SchreibtischLampe_Define: I/O device is MilightBridge
2015.10.25 06:10:53 3: master_LED_Define: I/O device is MilightBridge
2015.10.25 06:10:53 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:10:53 3: Opening HMLAN1 device 192.168.1.111:1000
2015.10.25 06:10:53 3: HMLAN1 device opened
2015.10.25 06:10:53 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:10:55 2: RPiFronthem: ipc listener opened at port 16384
2015.10.25 06:10:55 3: TelegramBot_Define teleBot: called
2015.10.25 06:10:56 1: Including ./log/fhem.save
2015.10.25 06:10:56 3: Device fl_Dor_Sensor added to ActionDetector with 028:00 time
2015.10.25 06:10:56 3: Device fl_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:10:56 3: Device wz_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:10:56 3: Device wz_HK2 added to ActionDetector with 000:10 time
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: in INITIALIZED
2015.10.25 06:10:56 1: usb create starting
2015.10.25 06:10:57 3: Probing CUL device /dev/ttyAMA0
2015.10.25 06:10:57 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.10.25 06:10:57 3: Probing FRM device /dev/ttyAMA0
2015.10.25 06:11:02 1: usb create end
2015.10.25 06:11:02 1: PERL WARNING: Use of uninitialized value $devname in hash element at ./FHEM/31_MilightDevice.pm line 2097.
2015.10.25 06:11:02 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.10.25 06:11:02 0: Featurelevel: 5.6
2015.10.25 06:11:02 0: Server started with 80 defined entities (version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $, os linux, user fhem, pid 18621)
2015.10.25 06:11:03 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:11:03 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.25 06:11:03 3: ipc RPiFronthem:127.0.0.1:41960 (ws): ws alive with pid 18622
2015.10.25 06:11:41 3: TelegramBot_ReadHandleCommand teleBot: cmd found :list global:
2015.10.25 06:11:41 3: TelegramBot_SendIt teleBot: add send to queue :xxxxxxxxx: -:TelegramBot fhem cmd :list global: result :Internals:
DEF <no definition>
NAME global
NR 1
STATE <no definition>
TYPE Global
currentlogfile ./log/fhem-2015-10.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
configfile fhem.cfg
latitude 51.229455
logfile ./log/fhem-%Y-%m.log
longitude 6.760991
modpath .
motd SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
statefile ./log/fhem.save
updateInBackground 1
userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
verbose 3
version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $
:: - :<undef>:
2015.10.25 06:11:41 3: TelegramBot_ReadHandleCommand teleBot: cmd found :shutdown restart:
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 1: in SHUTDOWN
2015.10.25 06:11:41 0: Server shutdown
2015.10.25 06:11:44 1: Including fhem.cfg
2015.10.25 06:11:44 3: telnetPort: port 7072 opened
2015.10.25 06:11:44 3: WEB: port 8083 opened
2015.10.25 06:11:44 3: WEBphone: port 8084 opened
2015.10.25 06:11:44 3: WEBtablet: port 8085 opened
2015.10.25 06:11:44 2: eventTypes: loaded 1350 events from ./log/eventTypes.txt
2015.10.25 06:11:45 3: fl_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:11:45 3: wz_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:11:45 3: wz_SchreibtischLampe_Define: I/O device is MilightBridge
2015.10.25 06:11:45 3: master_LED_Define: I/O device is MilightBridge
2015.10.25 06:11:45 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:11:45 3: Opening HMLAN1 device 192.168.1.111:1000
2015.10.25 06:11:45 3: HMLAN1 device opened
2015.10.25 06:11:45 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:11:46 2: RPiFronthem: ipc listener opened at port 16384
2015.10.25 06:11:47 3: TelegramBot_Define teleBot: called
2015.10.25 06:11:47 1: Including ./log/fhem.save
2015.10.25 06:11:48 3: Device fl_Dor_Sensor added to ActionDetector with 028:00 time
2015.10.25 06:11:48 3: Device fl_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:11:48 3: Device wz_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:11:48 3: Device wz_HK2 added to ActionDetector with 000:10 time
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: in INITIALIZED
2015.10.25 06:11:48 1: usb create starting
2015.10.25 06:11:48 3: Probing CUL device /dev/ttyAMA0
2015.10.25 06:11:48 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.10.25 06:11:49 3: Probing FRM device /dev/ttyAMA0
2015.10.25 06:11:54 1: usb create end
2015.10.25 06:11:54 1: PERL WARNING: Use of uninitialized value $devname in hash element at ./FHEM/31_MilightDevice.pm line 2097.
2015.10.25 06:11:54 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.10.25 06:11:54 0: Featurelevel: 5.6
2015.10.25 06:11:54 0: Server started with 80 defined entities (version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $, os linux, user fhem, pid 18632)
2015.10.25 06:11:54 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.25 06:11:54 3: ipc RPiFronthem:127.0.0.1:41969 (ws): ws alive with pid 18633
2015.10.25 06:12:12 1: 192.168.1.111:1000 disconnected, waiting to reappear (HMLAN1)
2015.10.25 06:12:12 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:12:12 1: 192.168.1.111:1000 reappeared (HMLAN1)
2015.10.25 06:12:12 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:12:12 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:12:33 3: TelegramBot_ReadHandleCommand teleBot: cmd found :list global:
2015.10.25 06:12:33 3: TelegramBot_SendIt teleBot: add send to queue :xxxxxxxxx: -:TelegramBot fhem cmd :list global: result :Internals:
DEF <no definition>
NAME global
NR 1
STATE <no definition>
TYPE Global
currentlogfile ./log/fhem-2015-10.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
configfile fhem.cfg
latitude 51.229455
logfile ./log/fhem-%Y-%m.log
longitude 6.760991
modpath .
motd SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
statefile ./log/fhem.save
updateInBackground 1
userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
verbose 3
version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $
:: - :<undef>:
2015.10.25 06:12:33 3: TelegramBot_ReadHandleCommand teleBot: cmd found :shutdown restart:
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 1: in SHUTDOWN
2015.10.25 06:12:33 0: Server shutdown
2015.10.25 06:12:35 1: Including fhem.cfg
2015.10.25 06:12:35 3: telnetPort: port 7072 opened
2015.10.25 06:12:36 3: WEB: port 8083 opened
2015.10.25 06:12:36 3: WEBphone: port 8084 opened
2015.10.25 06:12:36 3: WEBtablet: port 8085 opened
2015.10.25 06:12:36 2: eventTypes: loaded 1350 events from ./log/eventTypes.txt
2015.10.25 06:12:36 3: fl_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:12:36 3: wz_DeckenLampe_Define: I/O device is MilightBridge
2015.10.25 06:12:36 3: wz_SchreibtischLampe_Define: I/O device is MilightBridge
2015.10.25 06:12:36 3: master_LED_Define: I/O device is MilightBridge
2015.10.25 06:12:36 1: HMLAN_Parse: HMLAN1 new condition disconnected
2015.10.25 06:12:36 3: Opening HMLAN1 device 192.168.1.111:1000
2015.10.25 06:12:36 3: HMLAN1 device opened
2015.10.25 06:12:36 1: HMLAN_Parse: HMLAN1 new condition init
2015.10.25 06:12:38 2: RPiFronthem: ipc listener opened at port 16384
2015.10.25 06:12:38 3: TelegramBot_Define teleBot: called
2015.10.25 06:12:39 1: Including ./log/fhem.save
2015.10.25 06:12:39 3: Device fl_Dor_Sensor added to ActionDetector with 028:00 time
2015.10.25 06:12:39 3: Device fl_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:12:39 3: Device wz_HK1 added to ActionDetector with 000:10 time
2015.10.25 06:12:39 3: Device wz_HK2 added to ActionDetector with 000:10 time
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: in INITIALIZED
2015.10.25 06:12:39 1: usb create starting
2015.10.25 06:12:40 3: Probing CUL device /dev/ttyAMA0
2015.10.25 06:12:40 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.10.25 06:12:40 3: Probing FRM device /dev/ttyAMA0
2015.10.25 06:12:45 1: usb create end
2015.10.25 06:12:46 1: PERL WARNING: Use of uninitialized value $devname in hash element at ./FHEM/31_MilightDevice.pm line 2097.
2015.10.25 06:12:46 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.10.25 06:12:46 0: Featurelevel: 5.6
2015.10.25 06:12:46 0: Server started with 80 defined entities (version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $, os linux, user fhem, pid 18643)
2015.10.25 06:12:46 1: HMLAN_Parse: HMLAN1 new condition ok
2015.10.25 06:12:46 1: 192.168.1.102:9090 reappeared (wz_Kodi)
Alo hier geht gerade nichts mehr... ein set teleBot reset zeigt keine wirknug neustart nichts und der server wird jede minute neugestartet....
Ausser mir das offizielle update zu holen habe ich nichts verändert.
Das polling steht dauerhaft auf -1 und egal was ich an Polling werten vergebe und auch ein telegramBot reset hat auch keinerlei änderung erbracht.
Ich habe die ganze Hardware vom Strom getrennt und lebe jetzt momentan wieder oldschool - manuell , da merkt man dann leider wie sehr man sich daran schon gewöhnt hat.
DIe gewonnen log eriegnisse hab ich hier mal reingepackt
Desweiteren habe ich das ganze auch noch bei einem Bekannten in Betrieb genommen auch in diesem Fall ist das system nicht mehr ansprechbar.
Was mach ich denn jetzt? Hat jemand rat?
Hi,
aus dem log geht hervor, dass jemand das Kommando
shutdown restart
an den Bot gesendet hat!
Das erzeugt eine Endlosschleife, denn der shutdown führt natürlich dazu, dass man das Kommando nicht mehr als erledigt markieren kann (der server ist ja weg). Beim nächsten Neustart steht das Kommando wieder an...
Die einfachste Lösung führt über eine manuelle Veränderung der fhem.cfg. Dort findet sich bei Dir mindestens ein der folgenden Zeilen:
attr teleBot cmdKeyword ...
attr teleBot cmdFavorites ...
Diese Zeile auskommentieren ('#' in die erste Spalte, dann laufen die Kommandos ins Leere und alles ist wieder normal. Die Attribute können dann wieder gesetzt werden.
Also: "shutdown" ist kein Kommando, dass über den Bot ausgeführt werden sollte...
Zitat von: UweH am 25 Oktober 2015, 11:13:35
Diese ganzen Probleme habe ich zwar nicht, dafür aber sind die anderen Kontakte verschwunden...ebenso meine mühselig eingerichtete Gruppe.
Gruß
Uwe
Die Kontakte sind ja als Reading angelegt, finden sich normalerweise also in fhem.save. Wenn allerdings diese Datei defekt oder unvollständig ist, so kann man immer noch die Kontakte manuell wiederherstellen aus Information im log file (log level 3 muss allerdings vorhanden sein):
Es finden sich für jeden Kontakt im log Einträge wie folgt:
2015.10.14 20:35:25 3: TelegramBot_ContactUpdate new contact :123456:Ralf_Mustermann:@ralf:
2015.10.14 20:35:25 3: TelegramBot_ContactUpdate new contact :-234567::#gruppe:
2015.10.14 20:35:25 3: TelegramBot_ContactUpdate new contact :3456789:jemand::
Von jedem dieser Einträge (suche nach "TelegramBot_ContactUpdate new contact") nimmt man den Text zwischen den äusseren Doppelpunkten (ohne diese Doppelpunkte). Fügt sie zusammen durch ein Leerzeichen getrennt.
Also im Beispiel oben sind das:
123456:Ralf_Mustermann:@ralf -234567::#gruppe 3456789:jemand:
Dann verwendet man das Kommando replaceContacts um die Kontakte neu zu setzen:
set <telebotdevice> replaceContacts <alle Kontakte durch leerzeichen getrennt>
OK und eine Möglichkeit das eleganter zu tun habe ich auf meine todo liste genommen.
Hinweis: Ein regelmässiger save ist in vielenFällen sinnvoll um einen aktuellen Status für alle Geräte zu haben, das kann man auch durch einen "at" Befehl automatisieren.
Johannes
Zitat von: Maista am 25 Oktober 2015, 12:44:26
Hallo zusammen,
ich habe gestern per Update den bot aktualisiert.
Bei mir funktioniert noch alles.
Allerdings habe ich nicht wirklich viel eingerichtet. Bisher nur drei Kontakte und ein paar Favoriten.
Nach dem Update stehen nun zwar viele Fehlermeldungen im Log, diese haben aber scheinbar nichts mit dem TelegramBot zu tun.
Diese Meldung taucht alle paar Sekunden auf, aber nicht erkennbar wer das erzeugt.
Schönen Sonntag
Gerd
Edit: Gerade neu gestartet, kommen keine Meldungen (mehr)
Die Meldung deutet daraufhin, dass Du eine device ohne TYPE hast. Dazu gibt es viele Lösungen hier im Forum und wie beschrieben hat das nichts mit telegramBot zu tun, solche Devices deuten daraufhin, dass irgendwo ein define unvollständig oder fehlerhaft ausgeführt wurde.
Vielleicht gibt es ein "define 1" irgendwo in Deinem fhem.cfg?
Johannes
Vielen Dank, Johannes, läuft nun wieder.
Das ist korrekt, der Bot muss aber vorher schon aufgehört haben zu arbeiten, ich war halt verwundert nach dem ich bereits eine Weile Unterwegs war wo denn die Meldung bleiben würde über das abschalten der Verbraucher, dann habe ich probiert mir einen state per list auszugeben da kam dann halt schon nix mehr und dann habe ich es probiert mit shutdown restart, mir nix dabei gedacht. - gemerkt fürs nächste mal. :)
Ich hab das jetzt im Log bei mir auch mal eingrenzen können bin aber noch nicht richtig schlau draus geworden muss noch ein bisschen tiefere ursachen forschung betrieben.
2015.10.24 19:33:34 3: HttpUtils url=<hidden>
2015.10.24 19:33:34 3: <hidden>: HTTP response code 200
2015.10.24 19:33:34 3: HttpUtils <hidden>: Got data, length: 227
2015.10.24 19:33:36 3: HttpUtils url=<hidden>
2015.10.24 19:33:36 3: <hidden>: HTTP response code 200
2015.10.24 19:33:36 3: HttpUtils <hidden>: Got data, length: 542
2015.10.24 19:34:55 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 119.176008939743 s ago
2015.10.24 19:34:55 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:34:56 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:36:56 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.025707006454 s ago
2015.10.24 19:36:56 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:36:59 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:38:59 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.027947902679 s ago
2015.10.24 19:38:59 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:39:01 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:41:01 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.026947021484 s ago
2015.10.24 19:41:01 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:41:04 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:43:04 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.026176929474 s ago
2015.10.24 19:43:04 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:43:06 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:45:06 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.019275903702 s ago
2015.10.24 19:45:06 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:45:07 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:47:07 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.022305965424 s ago
2015.10.24 19:47:07 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:47:09 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:49:09 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.051135063171 s ago
2015.10.24 19:49:09 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:49:09 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:51:09 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.023770093918 s ago
2015.10.24 19:51:09 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:51:13 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:53:13 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.021176815033 s ago
2015.10.24 19:53:13 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:53:18 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:55:18 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.026907920837 s ago
2015.10.24 19:55:18 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:55:22 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:57:22 3: XBMC_CheckConnection: Connection lost! Last data from Kodi received 120.026036977768 s ago
2015.10.24 19:57:22 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:57:22 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:58:26 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:58:27 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 19:59:31 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 19:59:33 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 20:00:37 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 20:00:39 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 20:01:44 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 20:01:47 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 20:02:51 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 20:02:52 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 20:03:56 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 20:03:58 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 20:05:02 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 20:05:03 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 20:06:07 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 20:06:09 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 20:07:14 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 20:07:14 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 20:08:18 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 20:08:18 1: 192.168.1.102:9090 reappeared (wz_Kodi)
2015.10.24 20:09:22 1: 192.168.1.102:9090 disconnected, waiting to reappear (wz_Kodi)
2015.10.24 20:09:22 1: 192.168.1.102:9090 reappeared (wz_Kodi)
Not an ARRAY reference at ./FHEM/70_XBMC.pm line 599.
2015.10.25 05:32:59 1: reload: Error:Modul 99_IPCamNonBlockUtils deactivated:
2015.10.25 05:32:59 1: Including fhem.cfg
Um 10.24 - 19:33Uhr hab ich das letzte mal vom telegrambot eine nachricht bekommen ab danach hat offensichtlich Kodi rumgesponnen, dann bin ich zwischenzeitlich nochmal zuhausse gewesen von 21-22:30Uhr ca.. und gegen Elf uhr nachts dann war ich verwundert hatte den list befehl abgesetzt der schon keine rückmeldung mehr gab und wie erwähnt eben der shutdown restart...
Die 99_IPcam war eh nur testhalber und hab ich auch erstmal entfernt, aber gegen elf gibt es irgendwie auch keine logs mehr... ich verstehe das nicht.
Wie dem auch sei läuft erstmal wieder, vielleicht hat ja jemand von euch eine ahnung was da bei mir schief lief.
Vielen Dank euch bis hierhin.
Hi,
verdächtig erscheint mir der Eintrag:
Not an ARRAY reference at ./FHEM/70_XBMC.pm line 599.
Als erste Vermutung hätte ich das dabei fhem abstürzt, denn das klingt eher nach einem schwerwiegenden Fehler, worauf das Modul nicht vorbereitet ist (meldung kommt ja nicht als log sondern als perl-Meldung).
gruss,
Johannes
Ich habe in github (also noch nicht in der offiziellen Verteilung) eine neue Version hochgeladen zum Testen. Diese enthält folgende Änderungen:
- Favoritenliste wird als Keyboard gesendet (siehe dazu hier: https://core.telegram.org/bots#keyboards (https://core.telegram.org/bots#keyboards))
- shutdown als Kommando wird herausgefiltert (auch als shutdown restart)
- Bei neuen Kontakten wird der statefile geschrieben (abschaltbar mit default an), so dass bei einem Absturz von fhem die Kontakte im statefile gesichert sind und ein log mit allen Kontakten wird erzeugt (log level 2)
- Ergebnisse von Kommandos können in der Länge beschränkt werden. Also das Resultat einer Message kann zwar beliebig lang sein, man kann aber auch eine beschränkte Grösse festlegen
Version findet sich in github hier: https://github.com/viegener/Telegram-fhem/blob/master/50_TelegramBot.pm (https://github.com/viegener/Telegram-fhem/blob/master/50_TelegramBot.pm)
Rückmeldung aus Tests ist willkommen.
Super, vielen Dank.
Die Geschichte mit den Keyboards ist ja richtig Klasse, funktioniert. Vorbei mit dem umständlichen Tippen.
Gruß
Uwe
Hallöchen hab mir auch mal die neue Gitversion besorgt funktioniert bis darauf das ich das mit dem versand des custom keyboards noch nicht verstanden habe.
Ansonsten hatte ich noch folgende neue Meldungen im Log:
2015.10.26 08:10:49 3: TelegramBot_Callback teleBot: resulted in :NonBlockingGet timed out on read from <hidden> after 29s: from Polling
2015.10.26 08:11:12 3: TelegramBot_Callback teleBot: resulted in :NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error error:00000000:lib(0):func(0):reason(0) SSL connect attempt failed with unknown error error:00000000:lib(0):func(0):reason(0): from Polling
2015.10.26 12:46:36 1: PERL WARNING: Possible unintended interpolation of <@meine-contact-id> in string at (eval 8387) line 1.
Dann wird mir noch mein Notify dazu ausgepsuckt..
2015.10.26 12:46:36 3: eval: {fhem ("set master_LED rgb 000000") } {fhem ("set teleBot message <@meine-contact-id> Licht und Medien wurden abgeschaltet!") } { if ( ReadingsVal("wz_Kodi", "type", "") eq "channel"
|| ReadingsVal("wz_Kodi", "type", "") eq "episode"
|| ReadingsVal("wz_Kodi", "type", "") eq "musicvideo"
|| ReadingsVal("wz_Kodi", "type", "") eq "picture"
|| ReadingsVal("wz_Kodi", "type", "") eq "movie") {
if (ReadingsVal("wz_Kodi", "playStatus", "") eq "playing") {
fhem("set wz_Kodi stop");;
}
} else { if (ReadingsVal("wz_Kodi", "playStatus", "") eq "playing") { \ fhem("set wz_Kodi pause");;
}
}
}
Hat aber bisher trotz dieser Fehlermeldungen alles funktioniert, die neue Version habe ich heute nacht gegen 1 Uhr eingespielt...
Greets
speex
Zitat von: speex am 26 Oktober 2015, 14:41:38
Ansonsten hatte ich noch folgende neue Meldungen im Log:
2015.10.26 08:10:49 3: TelegramBot_Callback teleBot: resulted in :NonBlockingGet timed out on read from <hidden> after 29s: from Polling
2015.10.26 08:11:12 3: TelegramBot_Callback teleBot: resulted in :NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error error:00000000:lib(0):func(0):reason(0) SSL connect attempt failed with unknown error error:00000000:lib(0):func(0):reason(0): from Polling
2015.10.26 12:46:36 1: PERL WARNING: Possible unintended interpolation of <@meine-contact-id> in string at (eval 8387) line 1.
Dann wird mir noch mein Notify dazu ausgepsuckt..
2015.10.26 12:46:36 3: eval: {fhem ("set master_LED rgb 000000") } {fhem ("set teleBot message <@meine-contact-id> Licht und Medien wurden abgeschaltet!") } { if ( ReadingsVal("wz_Kodi", "type", "") eq "channel"
|| ReadingsVal("wz_Kodi", "type", "") eq "episode"
|| ReadingsVal("wz_Kodi", "type", "") eq "musicvideo"
|| ReadingsVal("wz_Kodi", "type", "") eq "picture"
|| ReadingsVal("wz_Kodi", "type", "") eq "movie") {
if (ReadingsVal("wz_Kodi", "playStatus", "") eq "playing") {
fhem("set wz_Kodi stop");;
}
} else { if (ReadingsVal("wz_Kodi", "playStatus", "") eq "playing") { \ fhem("set wz_Kodi pause");;
}
}
}
Hat aber bisher trotz dieser Fehlermeldungen alles funktioniert, die neue Version habe ich heute nacht gegen 1 Uhr eingespielt...
Greets
speex
Die ersten Meldungen im log sind wiedermal Nichterreichbarkeit bzw. Verbindungsabbruch. Ich habe nachwievor auf meiner todo-liste diese Art Meldungen nur noch auf Wunsch auszugeben.
Die perl-Warnung deutet daraufhin, dass perl
@meine-contact-id
als Array interpretiert (Weil in perl @ ein array einleitet auch wenn es in einem String der mit " umschlossen ist steht). Ich nehme an Dein Notify enthält
@meine-contact-id
und nicht
<@meine-contact-id>
?
Probier doch mal @@ statt @ im notify? Das hat bereits funktioniert.
Johannes
Hi Johannes vielen dank für deine prompten antworten und die tolle Arbeit!
Das ist so entsprechned definiert mit @@ im notify (Im log erschint es vll. nicht weil es interpretiert ist?) ich hatte ja auch unter anderem das problem das es mit einem nicht klappte... diese meldung kam halt vorher auch nicht also ich pekier mich darüber auch nicht ganz im gegenteil sollte dir nur als info über neuigkeiten seit dem update dienen, funktioniert ja alles. :)
Hallo Johannes,
kleiner Tippfehler in der Hilfe. Steht doppelt im PM.
Zitat
Note: shutdown is not supported as a command (also in favorites) and will be rejected. This is needed to avoid reexecution of the shutdown command directly after restart (endless loop !).
Note: shutdown is not supported as a command (also in favorites) and will be rejected. This is needed to avoid reexecution of the shutdown command directly after restart (endless loop !).
Tippfehler im Wiki
Zitat
....... Nehhmen wir mal an man möchte die Favoriten mit /short ausführen.......
Bisher bin ich noch am probieren und verstehen.
Scheint so weit zu gehen.
Gruss Gerd
Zitat von: Maista am 27 Oktober 2015, 20:37:29
kleiner Tippfehler in der Hilfe. Steht doppelt im PM.
Tippfehler im Wiki
Habe ich korrigiert,
Johannes
Hallo Johannes,
kann es sein das beim letzte Update vom telegramBot welches verteilt wird, die Schaltflächen nicht erzeugt werden?
Hab die Version von Git eingespielt und hier werden die Schaltflächen wieder erzeugt.
Schönes WE,
Gerd
Ja, die GIT Hib-Version ist aktueller, ich betrachte die Versionen in github als Beta-Versionen, die neue Funktionen enthalten, die ich erst noch einige Zeit testen will bevor sie in die offizielle SVN-Verteilung kommen. Ich bin da immer wieder auf Testergebnisse und Rückmeldungen wie von Dir angeweisen, um zu überprüfen ob die neueste Version auch stabil läuft.
Über SVN wird doch an deutlich mehr Leute verteilt. Die Keyboards funktionieren zwar sind aber aus meiner Sicht noch nicht fertig (bisher gibt es sie nur bei Favoriten und neuerdings auch bei lastCommands).
Johannes
Hallo Johannes,
habe noch eine ältere Version (29.10) am laufen. Nicht die Aktuelle vom Git.
Diese Meldung hab ich gerade im Log gesehen:
Zitat
2015.11.04 18:31:10 1: TelegramBot_checkCmdKeyword(cmdFavorites) unauthorized cmd from user :MxxE: (3xxxxxx1)
Cmd: start
2015.11.04 18:31:25 1: TelegramBot_checkCmdKeyword(cmdKeyword) unauthorized cmd from user :MxxE: (3xxxxxx1)
Cmd:
2015.11.04 18:31:25 1: TelegramBot_checkCmdKeyword(cmdFavorites) unauthorized cmd from user :MxxE: (3xxxxxx1)
Cmd: hey
2015.11.04 18:38:09 1: PERL WARNING: Use of uninitialized value $ret in concatenation (.) or string at ./FHEM/50_TelegramBot.pm line 813.
Weis nicht ob die Oberen Meldungen etwas damit zu tun haben?!
Bekannter hat seine ID mitgeteilt. Danach habe ich seine ID eingetragen.
Immer das Theater mit den leeren Variablen ;)
Gruss Gerd
Edit: Neue Version von Git installiert
Ich korrigiere das und mache es mit dem nächsten Update auch verfügbar, Ist aber wiederum kein problematischer Logeintrag.
Johannes
Guten Abend,
ich möchte gerne als Favorit einen Befehl einspeichern, der bei Aufruf ein Reading zurückschickt. Bekomme leider immer nur den Text statt der Variable zurück.
set TelegramBot message Aktuelle Temperatur: ReadingsVal("wetterstation","temperatur","1")
Wo liegt der Fehler?
Danke
Gruß JoJota
Hallo Jojota,
Der telegrambot selber wertet keine perlausdruecke aus, sondern schickt den text so wie er ist. Fuer die auswertung von perl ausdrücken oder fhem kommandos muss man eines der fhem kommandos bemuehen, die auch perl ausdruecke auswerten.
Ich kann die jetzt keine vollstaendige syntax geben, da ich geschäftlich unterwegs bin, aber wenn Du deinen ausdruck in als notify mit {} umschlossen definierst, dann kannst du den befehl als favoriten mit trigger ... definieren. Dann wird im notify auch der readingsval ausgewertet.
Gruss,
Johannes
Hallo Johannes,
danke für die schnelle Antwort.
Habe das ganze jetzt in die 99_myUtils.pm ausgelagert und rufe jetzt einfach unter favorites nur die fertige Funktion auf, die dann die Befehle ausführt und die Nachricht verschickt.
Hat auch den Vorteil, dass alles etwas übersichtlicher wird.
Eine Frage habe ich aber noch: Kann man diese automatische Antwort, die beim Ausführen von einem Befehl zurückgesendet wird irgendwie stumm schalten?
Möchte als Bestätigung gerne meine eigene Nachricht senden und die automatische Antwort stört da ein wenig. ;)
Danke und schönen Abend,
Johannes
Zitat von: JoJota am 10 November 2015, 21:55:50
Hallo Johannes,
danke für die schnelle Antwort.
Habe das ganze jetzt in die 99_myUtils.pm ausgelagert und rufe jetzt einfach unter favorites nur die fertige Funktion auf, die dann die Befehle ausführt und die Nachricht verschickt.
Hat auch den Vorteil, dass alles etwas übersichtlicher wird.
Eine Frage habe ich aber noch: Kann man diese automatische Antwort, die beim Ausführen von einem Befehl zurückgesendet wird irgendwie stumm schalten?
Möchte als Bestätigung gerne meine eigene Nachricht senden und die automatische Antwort stört da ein wenig. ;)
Danke und schönen Abend,
Johannes
Bisher kann man das noch nicht :D
Macht aber vermutlich sinn so etwas schaltbar zu machen, so dass leere responses nicht gesendet werden muessen. Auch wenn es eher danach klingt, als ob Du auch eine art dialogfukntion brauchst, wo man einen dialog über telegram abwickeln kann. Also auf ein kommando über telegram mit einem selbstdefinierten rückgabetext (reading oder anderes) antworten.
Aber wie gesagt noch bin ich unterwegs und habe nicht mal zugriff auf meinen entwicklungsrechner...
Hallo JoJota-Johannes :)
Wie wärs wenn du dein 99_myutils.pm als Beispiel hier abrufbar machst?
Danke ;D
Gruss Gerd
Zitat von: Maista am 10 November 2015, 22:30:34
Hallo JoJota-Johannes :)
Wie wärs wenn du dein 99_myutils.pm als Beispiel hier abrufbar machst?
Danke ;D
Gruss Gerd
Hallo Gerd,
ist jetzt kein weltbewegendes Stück Code geworden, aber wenn es manchen hilft, gerne:
sub SendWeather()
{
my $weather_condition = ReadingsVal("MeinWetter","condition","1");
my $weather_temp = ReadingsVal("wetterstation","Temperatur","1");
my $weather_hum = ReadingsVal("wetterstation","Luftfeuchtigkeit","1");
fhem("set TelegramBot message Daten der Wetterstation: Draußen ist es $weather_condition bei ".$weather_temp."°C. Die Luftfeuchtigkeit beträgt: ".$weather_hum."%.");
}
Aufgerufen wird die Funktion dann unter favorites über
{ SendWeather() }Gruß JoJota-Johannes :D
Zitat von: viegener am 10 November 2015, 22:02:11
Bisher kann man das noch nicht :D
Macht aber vermutlich sinn so etwas schaltbar zu machen, so dass leere responses nicht gesendet werden muessen. Auch wenn es eher danach klingt, als ob Du auch eine art dialogfukntion brauchst, wo man einen dialog über telegram abwickeln kann. Also auf ein kommando über telegram mit einem selbstdefinierten rückgabetext (reading oder anderes) antworten.
Aber wie gesagt noch bin ich unterwegs und habe nicht mal zugriff auf meinen entwicklungsrechner...
So ungefähr habe ich mir das vorgestellt. Lasse mir im Moment beispielsweise über Favoritenbefehle das aktuelle Bild meiner IPCAM schicken, jetzt auch Wetterdaten und möchte das gerne noch mit anderen Geräten erweitern. Da stört die automatische Meldung dann immer etwas. Und wenn man das ganze jetzt noch mit frei definierbaren Befehlen machen könnte, also nicht nur /favorit1 /favorit2 etc. sondern z.B. /camera oder /weather wäre das natürlich perfekt. ;)
In der github-Version habe ich das mal eingebaut. Ich habe dazu ein Attribut: cmdReturnEmptyResult eingebaut. Bei Wert 1 (default) wird weiterhin auch ein leeres Result gesendet. Beim Wert 0 wird nach einem Kommando nur dann eine Antwort gesendet, wenn eine Fehlermeldung oder ein anderes Resultat als Ergebnis des Kommandos kommt.
Wie gesagt, momentan ist die Version nur in Github
Bei mir scheitert es schon an der Definition:
define Mein_bot TelegramBot 14540XXXX:AAGQVRx4MAXXXXXXXXXXXXXXXXXXXX
Antwort:
Cannot load module TelegramBot
Hier mein log:
2015.11.12 16:11:48 1: PERL WARNING: Bareword found where operator expected at ./FHEM/50_TelegramBot.pm line 5, near ""en" class"
2015.11.12 16:11:48 1: PERL WARNING: (Missing operator before class?)
2015.11.12 16:11:48 1: PERL WARNING: Bareword found where operator expected at ./FHEM/50_TelegramBot.pm line 13, near "<title>Telegram"
2015.11.12 16:11:48 1: PERL WARNING: (Missing operator before Telegram?)
2015.11.12 16:11:48 1: PERL WARNING: Ambiguous use of -fhem resolved as -&fhem() at ./FHEM/50_TelegramBot.pm line 13.
2015.11.12 16:11:48 1: reload: Error:Modul 50_TelegramBot deactivated:
Unrecognized character \xC2; marked by <-- HERE after gram-fhem <-- HERE near column 80 at ./FHEM/50_TelegramBot.pm line 13.
2015.11.12 16:11:48 0: Unrecognized character \xC2; marked by <-- HERE after gram-fhem <-- HERE near column 80 at ./FHEM/50_TelegramBot.pm line 13.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 148) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 149) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 150) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 151) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 152) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 153) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 154) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 155) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 156) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 157) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 158) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 159) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 160) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 161) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 162) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 163) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 164) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 165) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 166) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 167) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 168) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 169) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 170) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 171) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 172) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 173) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 174) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 175) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 176) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 177) line 1.
2015.11.12 16:13:22 1: PERL WARNING: Useless use of string eq in void context at (eval 178) line 1.
2015.11.12 16:13:32 1: PERL WARNING: Argument "100]" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1224.
2015.11.12 16:13:39 1: PERL WARNING: Useless use of string eq in void context at (eval 190) line 1.
2015.11.12 16:13:40 1: PERL WARNING: Useless use of string eq in void context at (eval 194) line 1.
2015.11.12 16:13:43 1: PERL WARNING: Useless use of string eq in void context at (eval 196) line 1.
2015.11.12 16:13:43 1: PERL WARNING: Useless use of string eq in void context at (eval 197) line 1.
2015.11.12 16:14:00 1: reload: Error:Modul 50_TelegramBot deactivated:
Unrecognized character \xC2; marked by <-- HERE after gram-fhem <-- HERE near column 80 at ./FHEM/50_TelegramBot.pm line 13.
2015.11.12 16:14:00 0: Unrecognized character \xC2; marked by <-- HERE after gram-fhem <-- HERE near column 80 at ./FHEM/50_TelegramBot.pm line 13.
2015.11.12 16:15:19 1: HMLAN_Parse: HMLAN1 new condition ok
2015.11.12 16:17:41 1: reload: Error:Modul 50_TelegramBot deactivated:
Unrecognized character \xC2; marked by <-- HERE after gram-fhem <-- HERE near column 80 at ./FHEM/50_TelegramBot.pm line 13.
2015.11.12 16:17:41 0: Unrecognized character \xC2; marked by <-- HERE after gram-fhem <-- HERE near column 80 at ./FHEM/50_TelegramBot.pm line 13.
Ich benutze die version von Github, die 50_TelegramBot.pm liegt im FHEM Verzeichnis
Danke
Marek
Zitat von: Marekh am 12 November 2015, 16:31:39
Bei mir scheitert es schon an der Definition:
define Mein_bot TelegramBot 14540XXXX:AAGQVRx4MAXXXXXXXXXXXXXXXXXXXX
Antwort:
Cannot load module TelegramBot
Hier mein log:
2015.11.12 16:11:48 1: PERL WARNING: Bareword found where operator expected at ./FHEM/50_TelegramBot.pm line 5, near ""en" class"
2015.11.12 16:11:48 1: PERL WARNING: (Missing operator before class?)
2015.11.12 16:11:48 1: PERL WARNING: Bareword found where operator expected at ./FHEM/50_TelegramBot.pm line 13, near "<title>Telegram"
2015.11.12 16:11:48 1: PERL WARNING: (Missing operator before Telegram?)
[/quote]
Die log deuten daraufhin, dass die Datei, die Du im fhem-verzeichnis hast nicht die 50_TelegramBot.pm datei ist, sondern ein HTML-File.
Das Modul enthält in Zeile 5 eine Kommentarzeile und der text [code]"<title>Telegram"
kommt nicht vor.
Wenn Du aus Githib herunterlädsts, solltest Du den "raw" button verwenden, sonst speicherst Du vielleicht die github HTML-Seite.
ZitatWenn Du aus Githib herunterlädsts, solltest Du den "raw" button verwenden, sonst speicherst Du vielleicht die github HTML-Seite.
Danke das wars!
Läuft prima jetzt :-)
Marek
Zitat von: Marekh am 13 November 2015, 10:52:29
Danke das wars!
Läuft prima jetzt :-)
Marek
Schön, ich habe noch eine Bemerkung dazu in den ersten Post mitaufgenommen.
Johannes
Zitat von: viegener am 11 November 2015, 23:25:45
In der github-Version habe ich das mal eingebaut. Ich habe dazu ein Attribut: cmdReturnEmptyResult eingebaut. Bei Wert 1 (default) wird weiterhin auch ein leeres Result gesendet. Beim Wert 0 wird nach einem Kommando nur dann eine Antwort gesendet, wenn eine Fehlermeldung oder ein anderes Resultat als Ergebnis des Kommandos kommt.
Wie gesagt, momentan ist die Version nur in Github
Funktioniert. Danke!
Es wird wohl wieder Zeit den jetzigen Stand auch offiziell über das update verfügbar zu machen.
Ich werde morgen diese Version 1.1 ins SVN hochladen (wenn es keine Probleme gibt).
-> Letzte Änderungen betreffen nur ein paar Abrundungen eingebaut, damit die logfiles nicht zu gross werden.
Achtung: Mit update auf FHEM 5.7 (siehe Ankündigung von Rudi --> http://forum.fhem.de/index.php/topic,44094.0.html (http://forum.fhem.de/index.php/topic,44094.0.html))
wird im notify "@@" nicht mehr auf "@" umgewandelt. Wenn Ihr Empfänger in notify-Befehlen angegeben habt, müsst Ihr die doppelten @ nach dem Update auf einfache @ ändern.
Das betrifft natürlich nur die Verwendung innerhalb des notify!
Hallo Johannes,
ich habe ein kleines Problem nach dem letzten Update: Die Nachricht an eine Gruppe (in meinem Fall "FHEM") wird nicht gesendet. Mit dem Befehl "set myTeleBot msg @#FHEM blabla" hat es bisher funktioniert, seit der Version vom 14.11. nicht mehr. Senden an einzelne Empfänger funktioniert. Mit verbose 3 habe ich dazu keine Einträge im Log. Kannst Du das so schon eingrenzen oder brauchst Du weitere Infos?
Edit: Was ich gerade noch gesehen habe: Das Reading "PollingLastError" sagt mir "NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first" mit dem Zeitstempel 2015-11-16 14:30:18.
Aber es funktioniert alles außer Senden an die Gruppe...
Danke und Gruß
Uwe
Hallo Uwe,
hast Du die Meldung direkt darüber gesehen (http://forum.fhem.de/index.php/topic,38328.msg359574.html#msg359574 (http://forum.fhem.de/index.php/topic,38328.msg359574.html#msg359574))?
Kann es sein, dass der Aufruf aus einem notify nicht funktioniert?
Die Version im update habe ich noch nicht geändert, wenn Du also die offizielle Version vorher hattest, ist dies unverändert.
Gruss,
Johannes
Ja, die Info kenne ich, habe aber noch nicht das Update gezogen...
Ich benutze immer die Version aus dem Github...
OK, konnte es nachvollziehen.
Es sieht so aus, als ob Telegram etwas geändert hat. Die Gruppenmitgliedschaft für Bots scheint inaktiviert worden zu sein.
telegram.org meldet : Bad Request: chat not found
Es lässt sich aber einfach lösen, indem man den Bot entfernt und wiederhinzufügt, alternativ zur Not die Gruppe neu anlegt.
Johannes
Auf Umwegen bin ich auch gerade zu dieser Erkenntnis gekommen... Ich musste meinen Bot aus der Gruppe entfernen, über den BotFather wieder gruppenfähig machen und wieder hinzufügen, wie Du geschrieben hast. Nun funktioniert es wieder.
Danke
Viele Grüße
Uwe
muss der auf enabled?
Und ich habe ihn angelegt und defined nun kommt
2015.11.20 12:19:13 3: TelegramBot_Define teleBot: called
2015.11.20 12:19:16 2: TelegramBot_DoUrlCommand teleBot: FAILED http access returned error :https://api.telegram.org/bot12222222:AASSSSSSSSSSSSSSSSSS/getMe: Select timeout/error: :
Moin
pollingTimeout auf z.B. 10 gesetzt?
[
Zitat von: masterpete23 am 20 November 2015, 11:59:17
muss der auf enabled?
Und ich habe ihn angelegt und defined nun kommt
2015.11.20 12:19:13 3: TelegramBot_Define teleBot: called
2015.11.20 12:19:16 2: TelegramBot_DoUrlCommand teleBot: FAILED http access returned error :https://api.telegram.org/bot12222222:AASSSSSSSSSSSSSSSSSS/getMe: Select timeout/error: :
Wenn Du trotz polling attribut nicht weiterkommst, solltest Du mal versuchen den URL für telegramBot (mit getMe) direkt im Browser einzugeben, um zu verifizieren, dass die Daten korrekt sind.
Johannes
Hi,
habe es auf einer anderen pi und neuerem fhem mit der gleichen zeile zum laufen bekommen
danke
Ich glaube das habe ich nicht nochmal explizit gesagt: Mit einer BotID (also einem BotAuthToken von telegram) kann immer nur ein telegramBot laufen. Wenn mehrere gleichzeitig Abfragen machen gibt es Probleme. Die Abfragen kommen dann durcheinander.
Johannes
Hallo Johannes,
Seit ca. letzter Woche funktioniert bei mir das Erzeugen einer neuen Zeile mit \n nicht mehr. \n erscheint in der ankommenden Nachricht zwar nicht mehr, wird aber nur durch einen Leerschlag statt einen Zeilenumbruch ersetzt. Woran könnte das liegen?
Gruß JoJota
Hallo,
ich versuche mich gerade die Einbindung von Telegram in FHEM. Auf der Komandozeile habe ich die Kommunikation bereits erfolgreich testen können. Nun bin ich bei der Einbindung in FHEM ins Stocken geraten.
Mein Problem:
Nach dem Download des Modules: "50_TelegramBot.pm", Konfiguration in der fhem.cfg "define TelegraBot TelegramBot 130306834:---------vws-Vc" und Neustart von FHEM erhalte ich folgende Fehlermeldung:
Undefined subroutine &main::HttpUtils_Close called at ./FHEM/50_TelegramBot.pm line 1468.
Zitat von: JoJota am 23 November 2015, 15:26:32
Hallo Johannes,
Seit ca. letzter Woche funktioniert bei mir das Erzeugen einer neuen Zeile mit \n nicht mehr. \n erscheint in der ankommenden Nachricht zwar nicht mehr, wird aber nur durch einen Leerschlag statt einen Zeilenumbruch ersetzt. Woran könnte das liegen?
Gruß JoJota
Hallo Jojota,
sieht so aus, als ob da (leider mal wieder) eine Änderung auf der Telegram-Seite stattgefunden hat. Ich habe eine neue Version in github eingecheckt, bei der \n wieder funktionieren sollte...
Gruss,
Johannes
Zitat von: nhetzke am 24 November 2015, 14:46:25
Hallo,
ich versuche mich gerade die Einbindung von Telegram in FHEM. Auf der Komandozeile habe ich die Kommunikation bereits erfolgreich testen können. Nun bin ich bei der Einbindung in FHEM ins Stocken geraten.
Mein Problem:
Nach dem Download des Modules: "50_TelegramBot.pm", Konfiguration in der fhem.cfg "define TelegraBot TelegramBot 130306834:---------vws-Vc" und Neustart von FHEM erhalte ich folgende Fehlermeldung:
Undefined subroutine &main::HttpUtils_Close called at ./FHEM/50_TelegramBot.pm line 1468.
Ist Deine FHEM-Installation aktuell? Die Routine HTTPUtils_Close gibt es eigentlich schon viele Monate.
Die Github-Version musst Du auch nur herunterladen, wenn Du eine neuere Version verwenden willst, als die offizielle Distribution, die mit FHEM verteilt wird.
Gruss,
Johannes
Hallo,
ich hätte noch einen kleinen Verbesserungsvorschlag.
Es wäre super, wenn man mehrere Adressaten angeben könnte. Beispiel:
set TelegramBotDev message @user1,@user2 Nachricht
... ich weiß, dass man auch an Gruppen schicken kann. Das ist aber nicht immer sinnvoll.
kurze Frage: ich bekomm den Bot nicht in eine Gruppe - hat wer einen howto link oder so für mich?
Danke
Zitat von: viegener am 24 November 2015, 22:49:29
Hallo Jojota,
sieht so aus, als ob da (leider mal wieder) eine Änderung auf der Telegram-Seite stattgefunden hat. Ich habe eine neue Version in github eingecheckt, bei der \n wieder funktionieren sollte...
Gruss,
Johannes
Hallo Johannes,
vielen Dank für die - mal wieder - schnelle Hilfe!
Aus der FHEM Kommandozeile heraus funktioniert \n wieder richtig, allerdings tritt das Problem bei einem Aufruf aus der 99_myUtils.pm weiterhin auf.
Nach etwas probieren habe ich herausgefunden, dass alle \n vorher escaped werden müssen, um im Telegram Modul auch als \n anzukommen. Anstelle von \n funktioniert jetzt nur noch \\n innerhalb der 99_myUtils.pm.
Zitat von: masterpete23 am 25 November 2015, 11:42:03
kurze Frage: ich bekomm den Bot nicht in eine Gruppe - hat wer einen howto link oder so für mich?
Danke
Den Chat mit dem Bot öffnen, oben auf das Bild bzw. den Namen des Bots klicken. Anschließend rechts oben auf die drei Punkte klicken und dann "Zur Gruppe hinzufügen".
Kann ich nicht eine Gruppe mit ihm und mir machen? muss da zwingend noch wer anders mit drin sein, also vorher wohl
Zitat von: masterpete23 am 25 November 2015, 12:08:26
Kann ich nicht eine Gruppe mit ihm und mir machen?
Doch, wenn du nur mit ihm einen neuen Chat beginnst. In der Telegram Suche @ und dann den Namen des Bots eingeben (z.b. @NameDesBots) und ihm dann eine Nachricht schreiben.
Zitat von: viegener am 24 November 2015, 22:59:47
Ist Deine FHEM-Installation aktuell? Die Routine HTTPUtils_Close gibt es eigentlich schon viele Monate.
Die Github-Version musst Du auch nur herunterladen, wenn Du eine neuere Version verwenden willst, als die offizielle Distribution, die mit FHEM verteilt wird.
Gruss,
Johannes
Hallo Johannes,
ich habe nun nochmal die PM Datei aus dem Verzeichnis genommen und ein Update von FHEM gemacht, inkl. "/usr/bin/perl ./contrib/commandref_join.pl" auf der CMD. Nun bekomme ich keine Fehler mehr ausgegeben. Augenscheinlich wird auch das define nun ohne Fehler gesetzt.
Wenn ich nun aber mittels dem Beispiel "set TelegraBot message @@<Benutzername>" versenden möchte, erhalte ich immer "FAILED peer not found".
Hast du eine Idee?
Du musst zunächst das Attribut pollingTimeout setzen, damit das neue TelgramBot-Device mindestens einmal bei Telegram schauen geht, was für es da ist. Erst dann bekommt es die Kontakte mitgeteilt, die Du danach dann auch erst adressieren kannst (Du hast dann das Reading Contacts - so lange das nicht da ist, kannst Du jemanden, der da nicht drin steht, nicht adressieren).
Und vorher musst Du von dem User aus, der durch den Bot angeschrieben werden soll, eine Eröffnung an den Bot schreiben.
Zitat von: Ralli am 25 November 2015, 13:06:58
Du musst zunächst das Attribut pollingTimeout setzen, damit das neue TelgramBot-Device mindestens einmal bei Telegram schauen geht, was für ihn da ist. Erst dann bekommt er die Kontakte mitgeteilt, die Du danach dann auch erst adressieren kannst (Du hast dann das Reading Contacts - so lange das nicht da ist, kannst Du jemanden, der da drin steht, nicht adressieren).
Und vorher musst Du von dem User aus, der durch den Bot angeschrieben werden soll, eine Eröffnung an den Bot schreiben.
Hi,
danke für die Hilfe an alle. Hab nun noch pollingTimeout 0 gesetzt und dem Bot eine Nachricht geschrieben. Danach ging dann auch die Nachricht von FHEM -> Telegram.
Danke
Hi nhetzke, ich würde dir mal empfehlen dich durch folgenden Wiki-Eintrag zu lesen denn "pollingtimeout 0" sollte zu Problemen führen wenn ich mich nicht irre. - Bei pollingtimeout 0 funktioniert doch die Kommunikaton von Telegram zu Fhem nicht oder hab ich was falsch in Erinnerung. http://www.fhemwiki.de/wiki/TelegramBot#Hinweise_zum_Betrieb_mit_Fhem (http://www.fhemwiki.de/wiki/TelegramBot#Hinweise_zum_Betrieb_mit_Fhem)
Desweiteren wenn du im TelegramBot-Device bist kannst du unten rechts auch auf "Device specific help" klicken und erhältst dann weitere Infos zum Modul.
Zitat von: nhetzke am 25 November 2015, 13:39:46
Hi,
danke für die Hilfe an alle. Hab nun noch pollingTimeout 0 gesetzt und dem Bot eine Nachricht geschrieben. Danach ging dann auch die Nachricht von FHEM -> Telegram.
Danke
Viel erfolg! :)
P.S. Die Möglichkeit mehrere Empfänger für eine Nachricht definieren zu können fände ich übrigens auch sehr cool!
Zitat von: speex am 25 November 2015, 16:47:22
Hi nhetzke, ich würde dir mal empfehlen dich durch folgenden Wiki-Eintrag zu lesen denn "pollingtimeout 0" sollte zu Problemen führen wenn ich mich nicht irre. - Bei pollingtimeout 0 funktioniert doch die Kommunikaton von Telegram zu Fhem nicht oder hab ich was falsch in Erinnerung. http://www.fhemwiki.de/wiki/TelegramBot#Hinweise_zum_Betrieb_mit_Fhem (http://www.fhemwiki.de/wiki/TelegramBot#Hinweise_zum_Betrieb_mit_Fhem)
Desweiteren wenn du im TelegramBot-Device bist kannst du unten rechts auch auf "Device specific help" klicken und erhältst dann weitere Infos zum Modul.
Viel erfolg! :)
Absolut richtig, pollingtimeout 0 heisst es wird NICHT nach Änderungen gefragt und damit werden keine Nachrichten empfangen (Es kann nur gesendet werden).
Versuche hier im "telegrammstil" ;) die generelle Vorgehensweise nochmals aufzulisten aus dem Kopf (sollte so eigentlich auch im wiki/doku stehen, vielleicht nicht als eine Liste):
- Über telegram vom eigenen account beim Botfather einen neuen Bot anmelden
- Diesen Bot beim Botfather so konfigurieren, dass er Nachrichten auch aus Gruppen lesen kann (Optional, wenn man das braucht/nutzen will)
- API Token gut speichern und nicht weitergeben!
-
define mit dem API token in FHEM
- Prüfen ob der device in fhem seinen Bot-Namen in den Internals hat, dann ist sicher, dass Verbindung zu telegram und identität des Bots klappt
- Für das Empfangen von Nachrichten noch das Attribut
pollingTimeout auf einen Wert grösser 0 setzen (20 oder 60 sind übliche Werte)
- Testmessage an den bot vom eigenen Account schicken
- Nach einiger Zeit sollte die Nachricht in den Readings angezeigt werden - wenn nicht
reset auf dem telegrambot Device ausführen und nochmals etwas warten
- Für alle weiteren Benutzer ERST eine Nachricht an den Bot senden, erst dann kann von FHEM aus an die Benutzer gesendet werden (Benutzer werden in Contacts abegelegt und man kann dadruch sehen, wer dem Bot bekannt ist)
- Weitere Konfiguration nach eigenem Geschmack...
Zitat von: viegener am 25 November 2015, 17:06:30
- Für das Empfangen von Nachrichten noch das Attribut pollingTimeout auf einen Wert grösser 0 setzen (20 oder 60 sind übliche Werte)
Nach meiner Erfahrung muss das pollingTimeout auf jeden Fall nach der Definition einmal auf größer 0 gesetzt werden, um überhaupt einmal erst Kontakt zu Telegram herzustellen und ein Update der Kontaktliste zu bekommen.
Zitat von: Ralli am 25 November 2015, 17:13:56
Nach meiner Erfahrung muss das pollingTimeout auf jeden Fall nach der Definition einmal auf größer 0 gesetzt werden, um überhaupt einmal erst Kontakt zu Telegram herzustellen und ein Update der Kontaktliste zu bekommen.
OK habs gerade getested,zumindest der Name des Bots (im Internal
me) wird auch ohne Pollingtimeout gesetzt.
Aber Du hast auf jeden Fall Recht, dass die Kontaktliste nur über Message-Polling aufgefrischt wird, da es leider keine Abfrage von Kontakten über das API gibt.
Johannes
Habe gerade die Version 1.1 (Aktueller Stand github) ins SVN hochgeladen. Diese Version wird dann morgen übers update verteilt.
Dankeschön!
Was hältst Du denn davon? : http://forum.fhem.de/index.php/topic,38328.msg364613.html#msg364613
Zitat von: Ralli am 26 November 2015, 06:55:44
Dankeschön!
Was hältst Du denn davon? : http://forum.fhem.de/index.php/topic,38328.msg364613.html#msg364613
Ich habe die Funktionalität mehrere empfänger mit einem msg (liste von kontakten) auf meine todo liste aufgenommen. Es erfordert aber etwas Umbau (mehrere rückgaben etc), da telegram selber diese möglichkeit nicht bietet und damit mehrere getrennte sendevorgänge notwendig sind.
Danke, Daumen hoch!
Mehrere Empfänger können auch mittels des FHEM msg-Kommandos (http://forum.fhem.de/index.php/topic,39983.0.html) adressiert werden:
msg push @TelegramDevice:@@Empfaenger2,@TelegramDevice:@@Empfaenger2 |Titel| Dies ist die Nachricht.
Das ist aber nur "quick and dirty" aus Sicht von msg (es geht viel mehr, ausfürhliche commandref fehlt leider noch). Man kann mehrere Empfänger besser in ein msgContactPush-Attribut packen (gleiche Notation wie oben, kann man auch mit anderen Push-Diensten mischen) und dann macht man nur noch:
msg push @rgr_Residents |Titel| Dies ist die Nachricht.
In diesem Fall wäre es (sinnvollerweise) ein RESIDENTS Device, wo dann alle Kontakte der Bewohner hinterlegt sind, wenn man alle zusammen anschreiben will.
Es geht auch für jeden Bewohner ein ROOMMATE Device zu haben und dort jeweils ein msgContactPush Attribut nur mit den Empfängerdaten für diesen Bewohner anzulegen und dann eben die Bewohner einzeln oder zusammen zu adressieren:
msg push @Bewohner1,Bewohner2,Bewohner3 |Titel| Dies ist die Nachricht.
Hallo Loredo,
danke für Deine Alternative!
Hi,
Ich würde gerne Kommandos über Telegram aus der Ferne ausführen. Dafür empfiehlt sich die schon vorhandene favorites Funktion um den lästigen tipp aufwand zu reduzieren.
Super wäre es aber wenn man Favoriten anlegen kann und diese aber dann über eine alias ausführen könnte, anstatt über die Index Nummer.
Man könnte z.b. über ein Attribute favorites definieren
Licht1:set light1 on; Licht2:set light2 on
Die sich dann über ein einfaches Kommando per telegram wie folgt ausführen lassen?
/Licht1
Was haltet ihr davon?
OK, nach dem 2.Lesen habe ich es verstanden, Du möchtest den alias (vor dem Doppelpunkt) für jeden Befehl einzeln definieren um damit unterschiedliche Kurzformen zu ermöglichen.
Generell kein Problem, den Vorschlag finde ich gut, ich nehme das gerne mal auf die todoliste.
Ich würde es vermutlich zusätzlich zu den bisherigen Favoriten aufnehmen, damit ich kompatibel bleiben kann
Sorry für die schlechte Formulierung, du hast es aber richtig verstanden :)
Evtl wäre es auch noch praktisch wenn man den Befehl über ein voran gestelltes Zeichen. / erkennt?
Hallo,
ich hab versuche mich grad daran Telegram auf FHEM zum laufen zu bekommen, leider ohne Erfolg.
Nachdem ich Telegram mit define hinzugefügt habe bekomme ich bei den eadings folgendes zu sehen:
Readings:
2015-12-04 18:29:52 PollingErrCount 23
2015-12-04 18:29:52 PollingLastError NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL Version SSLv2 not supported error:00000000:lib(0):func(0):reason(0)
Wenn ich manuell über den Browser den Bot abfrage funktioniert es.
Jemand eine Idee?
Zitat von: Marcel2209 am 04 Dezember 2015, 18:36:48
Hallo,
ich hab versuche mich grad daran Telegram auf FHEM zum laufen zu bekommen, leider ohne Erfolg.
Nachdem ich Telegram mit define hinzugefügt habe bekomme ich bei den eadings folgendes zu sehen:
Readings:
2015-12-04 18:29:52 PollingErrCount 23
2015-12-04 18:29:52 PollingLastError NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL Version SSLv2 not supported error:00000000:lib(0):func(0):reason(0)
Wenn ich manuell über den Browser den Bot abfrage funktioniert es.
Jemand eine Idee?
Möglicherweise hilft Dir die Information in folgendem Thread weiter:
http://forum.fhem.de/index.php/topic,33819.0.html (http://forum.fhem.de/index.php/topic,33819.0.html)
Ansonsten wäre es wichtig etwas über Deine Infrastruktur (Worauf läuft FHEM, was für eine Version für Betriebssystem und perl etc).
Johannes
Zitat von: viegener am 04 Dezember 2015, 18:57:05
Möglicherweise hilft Dir die Information in folgendem Thread weiter:
http://forum.fhem.de/index.php/topic,33819.0.html (http://forum.fhem.de/index.php/topic,33819.0.html)
Ansonsten wäre es wichtig etwas über Deine Infrastruktur (Worauf läuft FHEM, was für eine Version für Betriebssystem und perl etc).
Johannes
Das scheint in der Tat mein Problem zu sein, FHEM läuft bei mir auf einem Raspberry Pi, wie kann ich den Fehler darauf beheben? Die Lösung aus dem Thread klappt bei mir nicht.
Zitat von: Marcel2209 am 04 Dezember 2015, 19:09:40
Das scheint in der Tat mein Problem zu sein, FHEM läuft bei mir auf einem Raspberry Pi, wie kann ich den Fehler darauf beheben? Die Lösung aus dem Thread klappt bei mir nicht.
Welche Lösung genau hast Du genau probiert?
Kannst Du überhaupt auf dem PI https-Urls aufrufen und geht es auch aus FHEM heraus?
Ich habe versucht diesen Befehl abzusetzen das klappt aber auf dem Raspberry nicht.
sudo apt-get --reinstall libio-socket-ssl-perl
Wie kann ich den aus FHEM heraus versuchen eine https Url aufzurufen?
Ich habe am Raspberry keinen Monitor dran habe also nur Zugriff über Putty und die Weboberfläche von FHEM.
Das Kommando muss eigentlich wohl
sudo apt-get install --reinstall libio-socket-ssl-perl
heissen.
Die Syntax der Kommandos lässt sich leicht über man apt-get nachschauen. Nur zur Info, es geht hier wohl eher nicht um ein Problem mit telegram, sondern eher mit der Umgebung in der FHEM läuft.
https-Verbindungen testen kannst Du auf der Kommandozeile mit wget
Zitat von: viegener am 05 Dezember 2015, 22:58:03
Das Kommando muss eigentlich wohl
sudo apt-get install --reinstall libio-socket-ssl-perl
heissen.
Die Syntax der Kommandos lässt sich leicht über man apt-get nachschauen. Nur zur Info, es geht hier wohl eher nicht um ein Problem mit telegram, sondern eher mit der Umgebung in der FHEM läuft.
https-Verbindungen testen kannst Du auf der Kommandozeile mit wget
Nach sudo apt-get install --reinstall libio-socket-ssl-perl hat es geklappt, Danke dir.
Hallo Zusammen
Ich bin blutiger Anfänger, habe aber beide Module am "laufen", so dass ich Nachrichten senden und auch empfangen kann. Nun aber zu meinem Problem.
Ich hab schon die Seiten vor und zurück gelesen, aber finde einfach nicht den richtigen Ansatz um bei einem bestimmten empfangenen Text einen entsprechenden Befehl auszufüren.
Hab "cmdKeyword" definiert (/fhem) und auch "favorites" mit "wohnzimmer" definiert.
Wie aber kann ich aus diesem gesendeten Befehl/Nachricht daraus einen entsprechenden Befehl ausführen, wie als einfaches Beispiel dann eine Nachricht senden (als Bsp "set <telegrambot> message <irgendeine Nachricht>").
Wie müsste dies dann in der fhem.cfg geschrieben werden?
Wäre für jede Hilfe dankbar.
mfg
Du musst ein entsprechendes Notify oder DOIF definieren, welches durch die empfangene Nachricht getriggert wird.
Zitat von: Ralli am 08 Dezember 2015, 14:50:36
Du musst ein entsprechendes Notify oder DOIF definieren, welches durch die empfangene Nachricht getriggert wird.
Jo sowas hatte ich schon gelesen, aber es geht sich halt um ein Beispiel wie so ein Programm Code aussehen würde.
Du könntest es zunächst mal selbst recherchieren und probieren, wie man ein entsprechendes Notify oder DOIF definiert. Wenn Du dann nicht weiterkommst, kannst Du gerne hier Deine Versuche präsentieren. Ich bin mir sicher, dass dann jemand Deinen Code optimiert.
define teleBot TelegramBot xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
attr teleBot cmdKeyword /fhem
attr teleBot defaultPeer xxxxxx
attr teleBot favorites wohnzimmer
attr teleBot pollingTimeout 10
attr teleBot room Wohnzimmer
attr teleBot verbose 5
define teleBot_DI DOIF ([teleBot:msgText] eq "hello") ({SendWeather()})
Also ich hab es jetzt mal so umgesetzt, funktioniert auch soweit (SendWeather hab ich mir hier im Forum abgeschaut und in 99_myUtils eingetragen).
Aber hier lese ich ja jetzt nur den ankommenden Text aus und reagiere entsprechend. Aber es gibt doch die Möglichkeit mit diesen definierten commands.
Also wenn ich zb "/fhem wohnzimmer" senden würde erkennt der Bot dass es ein Kommando ist und reagiert entsprechend.
Wie müsste ich das dann entsprechend umsetzen?
Danke für den Tip mit dem DOIF. Einen Schritt weiter bin ich nun schonmal :)
Zitat von: dermaverick am 08 Dezember 2015, 12:59:45
Hallo Zusammen
Ich bin blutiger Anfänger, habe aber beide Module am "laufen", so dass ich Nachrichten senden und auch empfangen kann. Nun aber zu meinem Problem.
Ich hab schon die Seiten vor und zurück gelesen, aber finde einfach nicht den richtigen Ansatz um bei einem bestimmten empfangenen Text einen entsprechenden Befehl auszufüren.
Hab "cmdKeyword" definiert (/fhem) und auch "favorites" mit "wohnzimmer" definiert.
Wie aber kann ich aus diesem gesendeten Befehl/Nachricht daraus einen entsprechenden Befehl ausführen, wie als einfaches Beispiel dann eine Nachricht senden (als Bsp "set <telegrambot> message <irgendeine Nachricht>").
Wie müsste dies dann in der fhem.cfg geschrieben werden?
Wäre für jede Hilfe dankbar.
mfg
Es hat ja schon einige Antworten und Hinweise gegeben, trotzdem hier noch eine kurze Zusammenstellung. Du hast heute generell 2 Möglichkeiten so etwas innerhalb von telegramBot anzugehen:
1) Favoriten --> Definieren eines Kommandos, dass eine Reihe von Favoriten-Kommandos auf FHEM ausführen kann. Also Attribute
cmdFavorites und
favorites. Dann kannst Du mit z.B.
/favorite 2
ein entpsrechend definiertes Kommando auslösen
2)
cmdKeyword -> Hier kannst Du generell jedes beliebige Kommando auslösen als z.B.
/command list type=CUL
und damit die Möglichkeiten von FHEM nutzen um Abkürzungen zu machen (also notify, DOIF oder ähnliches)
Die von Dir oben angewendete Möglichkeit geht zwar auch finde ich persönlich aber eher umständlicher.
Vielen Dank für die Antworten.
So langsam hab ich glaub ich den Durchblick wie ich alles am Besten zusammenbau.
Danke Danke :)
Ich habe mal wieder eine neue Version in git hochgeladen:
Damit ist es möglich mehrere Empfänger beim senden von Text und Bildern anzugeben
(siehe Vorschlag hier: http://forum.fhem.de/index.php/topic,38328.msg364613.html#msg364613 (http://forum.fhem.de/index.php/topic,38328.msg364613.html#msg364613)
Diese werden einfach durch Leerzeichen (!) getrennt hintereinander angegeben. z.B so:
set aTelegramBotDevice message @@someusername @1234567 a message to be sent to multiple receipients
Ausserdem habe ich die alten Kommandos messageTo sendImageTo sendPhotoTo jetzt endgültig entfernt
Super, vielen Dank!
Zitat von: viegener am 08 Dezember 2015, 23:56:19
Ich habe mal wieder eine neue Version in git hochgeladen:
Damit ist es möglich mehrere Empfänger beim senden von Text und Bildern anzugeben
(siehe Vorschlag hier: http://forum.fhem.de/index.php/topic,38328.msg364613.html#msg364613 (http://forum.fhem.de/index.php/topic,38328.msg364613.html#msg364613)
Diese werden einfach durch Leerzeichen (!) getrennt hintereinander angegeben. z.B so:
set aTelegramBotDevice message @@someusername @1234567 a message to be sent to multiple receipients
Ausserdem habe ich die alten Kommandos messageTo sendImageTo sendPhotoTo jetzt endgültig entfernt
Danke - wie ist der einfachste Weg die aus dem git zu bekommen? geht das direkt per fhem commandline?
Und wenn ich ein cmdFavorites definiert habe und das in einer Gruppe schreibe kommt die Antwort per PM.
Geht das auch das es in die Gruppe geht?
Zitat von: masterpete23 am 09 Dezember 2015, 08:25:35
Danke - wie ist der einfachste Weg die aus dem git zu bekommen? geht das direkt per fhem commandline?
Es mag vielleicht einen Umweg über FHEM geben, aber der direkte Weg führt über das Betriebssystem, insbesondere, da nach Einfügen der neuen Version immer ein Neustart von FHEM angeraten ist (ähnluch wie beim offiziellen Update). Die neue Version wird aber auch bald als offizieller Update bereitgestellt, also kannst Du auch gerne um Risiken zu vermeiden.
Johannes
Zitat von: masterpete23 am 09 Dezember 2015, 08:29:43
Und wenn ich ein cmdFavorites definiert habe und das in einer Gruppe schreibe kommt die Antwort per PM.
Geht das auch das es in die Gruppe geht?
Das wäre vermutlich möglich, aber ich versuche das Szenario zu verstehen bevor ich da etwas einbaue.
Bei mir werden die Favoriten benutzt, um etwas zu steuern/schalten/abzufragen. Das Ergebnis davon möchte ich direkt haben, aber die anderen Mitglieder der Gruppe (bei mir die Familie) sind normalerweise nicht interessiert, wen ich gerade die Temperatur hochgestellt habe oder ein Licht ausschalte. Gerade wenn ich nur die Liste der Favoriten als Keyboard erhalte, so möchte ich das eigentlich nur eprsönlich als Sender der Anfrage haben, oder?
ja ok das kann ich verstehen.
also bekommt der der die Anfrage schickt nen privchat mit dem bot und den befehlen. Finde es halt unübersichtlich, dass man dann das chat fenster tauschen möchte.
Aber gut ich verstehe deine gründe - dann lassen wir das erstmal und ich teste.
Good Job!
Danke!
Ja das mit dem Wechsel in den anderen Thread ist dann unhandlich, ich schaue mal ob man das lösen könnte.
Kann man irgendwie blockieren das neue Benutzer hinzugefügt und davon Nachrichten akzeptiert werden?
Ich bekomme manchmal Nachrichten von mysteriösen Kontakten und habe Angst das diese Kommandos ausführen können. ..
Zitat von: viegener am 09 Dezember 2015, 09:46:07
Es mag vielleicht einen Umweg über FHEM geben, aber der direkte Weg führt über das Betriebssystem, insbesondere, da nach Einfügen der neuen Version immer ein Neustart von FHEM angeraten ist (ähnluch wie beim offiziellen Update). Die neue Version wird aber auch bald als offizieller Update bereitgestellt, also kannst Du auch gerne um Risiken zu vermeiden.
ein
reload 50_TelegramBot
sollte eigentlich ausreichen...
Zitat von: JoeALLb am 09 Dezember 2015, 18:24:43
ein
reload 50_TelegramBot
sollte eigentlich ausreichen...
Leider nicht, aufgrund der langlaufenden longpoll-Requests, kommt es dabei zu komischen Effekten und man hat ständig 2 parallele http-requests. Wenn reload, dann bitte definitiv auch einen reset durchführen, besser ist restart!
funktionieren eigentlich sprachnachrichten ?
senden und empfangen und abspielen?
Zitat von: masterpete23 am 17 Dezember 2015, 15:44:27
funktionieren eigentlich sprachnachrichten ?
senden und empfangen und abspielen?
Nicht offiziell, aber der Versand war früher auch möglich, wenn man es einfach über sendImage oder image die Sounddatei versendet hat, allerdings unterstützt telegram nur ogg codiert mit OPUS laut API.
Empfang geht bisher nicht.
Johannes
Wie kann ich mir denn einen meiner SVG-Plots zusenden lassen?
Ich nehme an, die Grafik müsste erst gerendert, in ein Bild konvertiert und dann verschickt werden?
Genau: Wie das rendern geht, da bin ich momentan überfragt. Das Versenden von Bildern geht davon aus, dass das Bild als Datei auf dem FHEM-Server liegt. ich vermute die Datei liesse sich mit gnuplot erzeugen, allerdings habe ich mir das selber nicht angeschaut. Problem ist, dass Telegram keine SVG-Dateien akzeptiert, also muss der plot als "richtiges" Bild erzeugt werden:
Use one of .jpg, .jpeg, .gif, .png, .tif or .bmp
Hallo
Können auch Emojis versendet werden ?
Gruss Peter
Ja von Telegram werden die entsprechenden unicode emojis unterstützt. Diese sollten dann auch auf verschiedenen Plattformen gehen (und werden auch im fhemweb angezeigt). Erweiterte emojis die zum Teil in telegram angeboten werden können nicht dargestellt werden.
Für Beispiele siehe http://apps.timwhitlock.info/emoji/tables/unicode (http://apps.timwhitlock.info/emoji/tables/unicode) --> native Spalte
Leider kann man den Code hier nicht posten, da das Forum mit den erweiterten unicode-Zeichen nicht klar kommt.
Zitat von: ulli am 09 Dezember 2015, 18:13:46
Kann man irgendwie blockieren das neue Benutzer hinzugefügt und davon Nachrichten akzeptiert werden?
Ich bekomme manchmal Nachrichten von mysteriösen Kontakten und habe Angst das diese Kommandos ausführen können. ..
Sorry hatte Deine Nachricht übersehen.
Nein das TelegramBot-API bietet leider momentan keine Möglichkeit die Benutzer, die dem Bot Nachrichten schicken können zu beschränken. Der Mechanismus über die BenutzerIDs den Zugriff auf Kommandos zu beschränken der im TelegramBot-Modul steckt halte ich aber für relativ sicher.
Trotzdem habe ich das mal auf die Todoliste genommen, wenn man das einschaltet werden keine neuen Kontakte hinzugefügt und auch keine Nachrichten ausgewertet/angezeigt
Hallo viegener
Wenn ich die emojis über die Commandozeile versende funktionieren diese.
Wie funktioniert dies aber über das Backend z.B. notify ?
Beispiele:
define Notify_TestSchalter_On notify TestSchalter:on set teleBot message @Tester GRINNING FACE WITH SMILING EYES U+1F601
define Notify_TestSchalter_On notify TestSchalter:on set teleBot message @Tester GRINNING FACE WITH SMILING EYES \xF0\x9F\x98\x81
Gruss Peter
Zitat von: viegener am 18 Dezember 2015, 22:00:22
Ja von Telegram werden die entsprechenden unicode emojis unterstützt. Diese sollten dann auch auf verschiedenen Plattformen gehen (und werden auch im fhemweb angezeigt). Erweiterte emojis die zum Teil in telegram angeboten werden können nicht dargestellt werden.
Für Beispiele siehe http://apps.timwhitlock.info/emoji/tables/unicode (http://apps.timwhitlock.info/emoji/tables/unicode) --> native Spalte
Leider kann man den Code hier nicht posten, da das Forum mit den erweiterten unicode-Zeichen nicht klar kommt.
Zitat von: PeterS am 19 Dezember 2015, 12:54:34
Hallo viegener
Wenn ich die emojis über die Commandozeile versende funktionieren diese.
Wie funktioniert dies aber über das Backend z.B. notify ?
Beispiele:
define Notify_TestSchalter_On notify TestSchalter:on set teleBot message @Tester GRINNING FACE WITH SMILING EYES U+1F601
define Notify_TestSchalter_On notify TestSchalter:on set teleBot message @Tester GRINNING FACE WITH SMILING EYES \xF0\x9F\x98\x81
Gruss Peter
Ich muss gestehen, dass ich es bisher auch nur aus dem Code des Moduls und über die Kommandozeile gemacht habe, also muss ich wohl da selber rumprobieren.
Johannes
Hallo zusammen
Anfrage von rtv betreffend der Übertragung von Bildern.
Ich habe schon viel dazu gelesen. In der Praxis habe ich das aber bisher noch nicht probiert (Zeit/Unlust).
Bisher habe ich folgendes dazu gefunden:
Zitathttp://forum.fhem.de/index.php/topic,33608.msg260221/topicseen.html#msg260221
Zitathttp://forum.fhem.de/index.php/topic,22520.30.html
Gruss Gerd
An PeterS
ich habe es heute zum ersten mal probiert Emoji zu verschicken.
Wenn man auf der von Johannes angegebenen URL das entsprechende NATIVE Emoji mit der Maus kopiert,
kann man das ohne Probleme in der Web-Oberfläche von FHEM abschicken und auch in die CFG einfügen.
Ich habe das Notify für Restart von FHEM einfach um das kopierte Icon ergänzt.
# Nach Neustart Meldung via Telegram ausgeben
define notify_fhem_reload notify global:INITIALIZED set fhemBot msg FHEM wurde neu gestartet ⚠
wird nach Neustart an defaultPeer ausgegeben.
Wie man sieht kann man das Emoji auch hier einfügen!?
Gruss Gerd
PS: Johannes, schreib doch die URL zu den Emojis mit in die Hilfe :=)
Hallo Gerd
Danke für die Info :-)
Mein Test hat nun funktioniert. Einfach nur das Icon direkt in die Message reinkopieren (kein UTF-8 oder unicode) und sie wird korrekt verschickt
Gruss Peter
Zitat von: Maista am 19 Dezember 2015, 14:32:38
Wie man sieht kann man das Emoji auch hier einfügen!?
Gruss Gerd
PS: Johannes, schreib doch die URL zu den Emojis mit in die Hilfe :=)
Danke fürs Ausprobieren und gute Idee, ich habe den URL ins fhemwiki eingefügt.
Johannes
Zitat von: ulli am 09 Dezember 2015, 18:13:46
Kann man irgendwie blockieren das neue Benutzer hinzugefügt und davon Nachrichten akzeptiert werden?
Ich bekomme manchmal Nachrichten von mysteriösen Kontakten und habe Angst das diese Kommandos ausführen können. ..
@ulli: Ich habe eine neue Version (bisher nur in github) eingestellt, die das hinzufügen neuer Kontakte (und das Empfangen von Nachrichten unbekannter Kontakte) unterbindet. Dafür gibt es ein neues Attribut: allowUnknownContacts
Vielleicht hilft das in Deinem Fall?
Hallo
Wie kann die Message Routine in Perl genutzt werden ?
Bei Verwndung in Perl wird der Empfänger @Tester nicht gefunden ?
define Notify_TestSchalter_On notify TestSchalter:on {fhem("set teleBot message @Tester Perl-Test-String")}
Gruss Peter
Zitat von: PeterS am 19 Dezember 2015, 20:00:51
Hallo
Wie kann die Message Routine in Perl genutzt werden ?
Bei Verwndung in Perl wird der Empfänger @Tester nicht gefunden ?
define Notify_TestSchalter_On notify TestSchalter:on {fhem("set teleBot message @Tester Perl-Test-String")}
Gruss Peter
Das @ hat in perl auch innerhalb von Strings eine Bedeutung (Arrayvariablen). Also muss es am besten in einfach Anführungszeichen gesetzt werden. Das sollte funktionieren:
define Notify_TestSchalter_On notify TestSchalter:on {fhem('set teleBot message @Tester Perl-Test-String')}
oder
define Notify_TestSchalter_On notify TestSchalter:on {fhem("set teleBot message ".'@Tester'."Perl-Test-String")}
Ich würde gerne mit dem Drücken meiner Klingel ein Bild von meiner IPCAM direkt per TelegramBot verschicken, muss ich da extra mit der get image routine vom IPCAM modul arbeiten oder gibt es da eine on-the-fly Möglichkeit?
Zitat von: e3xtreme am 20 Dezember 2015, 00:01:35
Ich würde gerne mit dem Drücken meiner Klingel ein Bild von meiner IPCAM direkt per TelegramBot verschicken, muss ich da extra mit der get image routine vom IPCAM modul arbeiten oder gibt es da eine on-the-fly Möglichkeit?
Das Bild muss als lokale Datei vorliegen, insofern benötigst Du wohl die image routine.
Also in der Richtung
set mein_TelegramBot sendimage {"get Ipcam Image 1 10"}
wird keinesfalls klappen?
Schaff es nicht das Bild abzuspeichern und dann gleich abzurufen, das ist ihm so schnell hintereinander scheinbar zu viel...
???
Ich hatte das Anfangs in einem gemeinsamen notify mit dem Ergebnis, das Bild vom vorherigen Klingeln gesendet zu bekommen. Erzeuge jetzt als Antwort auf die Klingelsignalerkennung das Bild und ein zweites notify auf das Speichern der CAM sendet dann das aktuelle Bild.
Zitat von: e3xtreme am 20 Dezember 2015, 02:15:59
Also in der Richtung
set mein_TelegramBot sendimage {"get Ipcam Image 1 10"}
wird keinesfalls klappen?
Schaff es nicht das Bild abzuspeichern und dann gleich abzurufen, das ist ihm so schnell hintereinander scheinbar zu viel...
???
Im Prinzip kann es als eine Befehlsfolge funktionieren, wenn die Zeit zu, abspeichern des bildes konstant ist.
Also folgende schritte
- abholen des bildes und speichern des dateinamens
- entweder feste wartezeit oder schleife bis datei existiert und dann kurz warten
- set bot sendImage <dateiname>
Hallo
Das Modul logt nur Fehlermeldung, richtig ?
Ein Sende-Eintrag in log muss manuell via {Log 3, "teleBot message ..."} erzeugt werden, oder gibt es ein Attribut ?
Gruss Peter
Ja und ich habe die Infos zu gesendeten Messages als Internals abgelegt, damit kann man da leider auch kein notify dranhängen.
Wenn das anderen auch relevant erscheint, könnte man daraus Readings machen oder ein zusätzliches Reading bei gesendeten Nachrichten einführen?
Hallo
Internals kann mW. leider nicht direkt auslesen. Als readings könnte man es direkt mit {Log 3,ReadingsVal("teleBot","sentMsgText",0)} im Log posten.
Cool wäre auch ein optinales Attribut, welches, wenn gesetzt, direkt die messages im Log einträgt.
Eine Nachricht an mehrere Empfänger zu senden funktioniert bei mir noch nicht ?
Ich habe die Empfänger durch Space getrennt (set teleBot message @Tester1 @Tester2 Multi-Test).
Gibt es dabei noch was zu beachten ?
Gruss Peter
Zitat von: PeterS am 20 Dezember 2015, 15:20:19
Hallo
Internals kann mW. leider nicht direkt auslesen. Als readings könnte man es direkt mit {Log 3,ReadingsVal("teleBot","sentMsgText",0)} im Log posten.
Cool wäre auch ein optinales Attribut, welches, wenn gesetzt, direkt die messages im Log einträgt.
Eine Nachricht an mehrere Empfänger zu senden funktioniert bei mir noch nicht ?
Ich habe die Empfänger durch Space getrennt (set teleBot message @Tester1 @Tester2 Multi-Test).
Gibt es dabei noch was zu beachten ?
Gruss Peter
Doch internals kann man mit InternalVal auslesen, aber man kann nicht auf eine veränderung reagieren.
Eigentlich sollte der versand an mehrere empfänger so gehen, was ist das ergbnis und was sagt das log?
Hallo
Das log sagt hier standardmässig nichts.
Der 2. Empfänger wird als Text erkannt:
sentMsgText: @Tester2 Multi-Test
Bei deinem Beispiel nutzt du 2@ ?!
set aTelegramBotDevice message @@someusername @1234567 a message to be sent to multiple receipients
Gruss Peter
Zitat von: PeterS am 20 Dezember 2015, 20:28:33
Hallo
Das log sagt hier standardmässig nichts.
Der 2. Empfänger wird als Text erkannt:
sentMsgText: @Tester2 Multi-Test
Gruss Peter
Aua mein Fehler, die Version ist bisher nur im github, ich bin noch nicht dazugekommen die freizugeben.
OK gebe ich heute ins SVN und ist dann morgen per update verfügbar...
Ok, danke !
Bei deinem Beispiel nutzt du 2@ ?! Featurelevel 5.6 oder 5.7 ?
set aTelegramBotDevice message @@someusername @1234567 a message to be sent to multiple receipients
Gruss Peter
Zitat von: PeterS am 20 Dezember 2015, 20:43:02
Ok, danke !
Bei deinem Beispiel nutzt du 2@ ?! Featurelevel 5.6 oder 5.7 ?
set aTelegramBotDevice message @@someusername @1234567 a message to be sent to multiple receipients
Gruss Peter
Ja, unabhängig vom Featurelevel: Wenn man telegramm-Kontakte für send angibt, existieren verschiedenen Möglichkeiten, alle beginnen mindestens mit einem @:
UserIDs -> nur ein @ danach nur Ziffern (plsu am Anfang ein -)
vollstädniger Name--> nur ein @ aber ohne Leerzeichen, dafür Vor- und Nachnamen mit _ getrennt
Benutzername (ich würde es alias nennen) --> Zwei @ (einen damit ein Kontakt erkannt wird, der zweite damit es als Benutzername erkennbar ist) - wird auch in telegram mit einem @ am Anfang gezeigt
Chat-ids --> @ und dann # vor der chat id (chats erkennt man in den Kontakten im device telegramBot auch an dem #)
OK, neue Version 1.2 ist jetzt auch im SVN verfügbar, mit dem update morgen frü überall
Erweiterungen wie im Thread hier beschrieben und seit einiger Zeit auch in github bereits verfügbar:
- Mehrere Kontakte beim senden von texten und Bildern
- allowUnknownContacts
- Verschiedene bugfixes
Wichtig: Die Befehle messageTo sendImageTo sendPhotoTo habe ich jetzt endgültig entfernt
Hallo viegener
Ich habe die Rev. 10218 eingespielt.
Der Multiversand via set teleBot message @Tester1 @Tester2 Multi-Test funktioniert nun in der commandozeile.
Auch der Backend via notify und perl funktioniert nun.
define Notify_TestSchalter_On notify TestSchalter:on {fhem("set teleBot message ".'@@Tester1 @@Tester2'." Test Multiversand 21.12.");;Log 3,"set teleBot message ".InternalVal("teleBot","sentMsgPeer",0)." ".InternalVal("teleBot","sentMsgResult",0)." ".InternalVal("teleBot","sentMsgText",0)}
Logeintrag:
set teleBot message Tester1 WAITING Test Multiversand 21.12.
Ich nutze Feature 5.7, Warum benötige ich bei den Empfängern 2@ ? Mit nur einem @ wird der Empfänger nicht erkannt
Der Status (sentMsgResult) wird bei mehreren Empfängern nicht richtig gesetzt, da der Logbefehl schon während dem Versenden der Nachricht ausgeführt wird ?!
Gruss Peter
Warum Du 2 @@ brauchst habe ich 2 Postings vorher erklärt ;)
Der Status für sentMsgResult wird für jeden einzelnen Empfänger getrennt gesetzt, da es auch getrennte Sendevorgänge sind, das erklärt auch den Waiting Eintrag im Log. Denn der Versand findet "im Hintergrund" und nacheinander statt, damit muss der 2. Versand warten (WAITING).
Ich denke Dein Problem hängt damit zusammen, dass es im Hintergrund stattfindet, also zu dem Zeitpunkt wenn Du den Status überprüfst läuft der Sendvorgang noch. Da die Hintergrundoperation wichtig ist (FHEM würde sonst stehen bleiben während des Versands) wäre es vermutlich sinnvoller wenn ich sentMsgResult und die anderen zu Readings umbaue, dann kannst Du ein getrenntes notify auf Fehler machen.
Ich nehme das mal auf die Todoliste
Hallo viegener
Stimmt, hatte ich scheinbar überlesen ::)
Zitat von: viegener am 21 Dezember 2015, 12:57:39
Warum Du 2 @@ brauchst habe ich 2 Postings vorher erklärt ;)
Gruss Peter
Hi viegener
Besteht denn die möglichkeit das custom keyboard bei den Favoriten zu verändern?
Also ich meinte damit, wieviele buttons pro reihe, wieviele reihen und vorallem die beschreibung der buttons. :)
MfG
Zitat von: mchilli am 21 Dezember 2015, 21:11:53
Hi viegener
Besteht denn die möglichkeit das custom keyboard bei den Favoriten zu verändern?
Also ich meinte damit, wieviele buttons pro reihe, wieviele reihen und vorallem die beschreibung der buttons. :)
MfG
Die Beschriftung der Buttons lässt sich nicht ohne weiteres ändern, da sie genau dem entspricht, was der client dann auch schickt. Also wenn man auf der Beschriftung lieber etwas hätte wie --> "Licht Wohnzimmer Einschalten", dann müsste der Bot auch auf diesen Text richtig reagieren. Dass würde nur gehen, wenn man eine Dialogfunktion hätte, die auf dem Server auch den Status des Chats mit einem einzelnen Benutzer verwaltet, über Konfiguration stelle ich mir das sehr aufwändig vor aber eine perlfunktion könnte man anbinden.
Ich weiss aber nicht ob jeder eine perl routine schreiben kann?
Johannes
Ich habe nach einiger Überlegung gerade eine Möglichkeit eingebaut in den Favoriten aus alias namen für die Favoriten zu hinterlegen.
Dazu kann man für einen einzelnen Favoriten den Alias vor dem Kommando in der Form "/alias=" angeben.
Beispiel: Wenn ich einen alias "/licht" haben will den ich für das Kommando "set lights on" definieren will dann gebe ich dies in dem Attribute favorites wie folgt an:
/licht=set lights on;
Jetzt kann ich nicht nur durch das favorites cmd sondern auch durch die Nachricht /licht den Befehl auslösen.
Aliasnamen sind optional und müssen nicht angegeben werden, die Favorites sind weiterhin eine Liste von einzlnen Kommandos (jetzt uUmit Alias) die jeweils durch ; getrennt werden.
Wichtig: Aliasnamen müssen durch / eingeleitet werden und der / muss in der message dann auch mitgesendet werden!
Es ist auch möglich weitere Teile mit der Nachricht mitzuschicken. Wenn ich also den Alias so definiere:
/licht=set lights;
Dann kann ich mit der Message /licht on das Kommando set lights on
auslösen und entsprechend mit /licht off das Kommando set lights off
.
Die Version ist bisher nur in github
Das klingt schonmal super!! Besten Dank für die Mühen so kurz vor Weihnachten :).
Werd ich nachher gleich mal ausprobieren...
In diesem Sinne, Frohe Weihnachten allen.
Zitat von: mchilli am 23 Dezember 2015, 12:49:40
Das klingt schonmal super!! Besten Dank für die Mühen so kurz vor Weihnachten :).
Werd ich nachher gleich mal ausprobieren...
In diesem Sinne, Frohe Weihnachten allen.
Danke ebenso! Dafür habe ich doch gerade Urlaub, um so etwas zu machen ;)
Ich habe nochmals eine neue Version eingestellt dabei werden für gesendete Nachrichten jetzt auch Readings gesetzt. Damit ist es möglich auf auch das Ergebnis eines Nachrichtenversandes als event trigger zu verwenden.
Wg. des zeitversetzten Versandes (im Hintergrund) wird das Ergebnis nicht direkt nach Ausführen des Befehls gesetzt.
Es werden 2 Readings gesetzt:
- sentMsgId - Enthält die ID der versendeten Nachricht
- SentMsgResult - Enthält den Status nach Versand
version ist bisher nur in github
merry Xmas @all
Ich brauch mal ein wenig Hilfe...
Habe beide Module getestet, Ergebnis: mit dem Bot geht weder senden noch empfangen (bei mir) :( mit der 70_Telegram geht beides : 8) aber Fhem reagiert nich auf die Befehle. Ich schicke den Befehl FHEM set schalter on. Die message wird im lastmessage reading angezeigt, es passiert aber nix. Den Trick mit dem cmdalias von Seite 3 habe ich auch getestet. Ergebnis war das Selbe. Kann mir mal einer auf die Sprünge helfen?
Thx
Arthur
Hallo Arthur,
da ich das 70_Telegram_modul nicht weiterentwickle würde ich empfehlen trotzdem auf mein 50_TelegramBot-Modul zu wechseln.
Ich würde Dich auch unterstützen rauszufinden warum es nicht geht, normalerweise ist die Einrichtung des Bots sogar einfacher als telegram-cli.
Zu Deinem Problem:
Hast Du cmdKeyword gesetzt (auf welchen Wert)?
cmdalias macht eigentlich keinen Sinn, wenn Du cmdKeyword richtig gesetzt hast.
Beim senden mit dem Bot bekomme ich die Fehlermeldung Callback returned error:[Error]: Forbidden: can't write to chat with deleted user:
Telegram-cli einzurichten ist so schwer nun auch nicht. cmdKeyword steht auf dofhem. Gesendeter command sieht also so aus: dofhem set schalter1 on
Ergebnis: lastmessage [18:03] xxxxxx xxxxxxxxxxx >>> dofhem set schalter1 on
schalter1 steht auf verbose 5 und sollte jetzt wenigstens einen Eintrag im Log haben, besser noch auf on stehen.
Die Bot-Medlung sagt, dass Telegram (nicht das Modul) den übergebenen Benutzer für gelöscht hält. Kann es sein, dass hier ein altes Account verwendet wird, wie gibst Du den Benutzer an (Id oder name) --> Problem Namen sind nicht eindeutig --> siehe Liste der kontakte unter Contacts
Vielleicht sicherstellen, dass der richtige Kontakt verwendet wird im Zweifel nochmals set replaceContacts verwenden.
Bezüglich 70_Telegram - setze mal Deinen Telegram device auf Verbose 5, mit dem Logfile sollte sich dann feststellen lassen, was nicht geht.
Kann man die beiden Module nicht zusammenführen und unabhängig von der Schnittstelle machen? Über attr interface BOT oder CLI setzen, das wäre richtig cool..
Beide accounts habe ich am 23.12. eingerichtet. Die Nachrichten an den Bot werden auch als gelesen gekennzeichnet.
Hier der Auszug aus meinem Log:
2015.12.25 12:47:40 5: Telegram_Set myTelegram: called
2015.12.25 12:47:40 5: Telegram_Set myTelegram: Processing Telegram_Set( ? )
2015.12.25 12:47:40 5: Telegram_Get myTelegram: called
2015.12.25 12:47:40 5: Telegram_Get myTelegram: Processing Telegram_Get( ? )
2015.12.25 12:49:02 5: Telegram_Read myTelegram: called with noIo defined:
2015.12.25 12:49:02 5: Telegram_Read myTelegram: New read :ANSWER 64
User Arthur Dent online (was online [2015/12/25 12:54:01])
:
2015.12.25 12:49:02 5: Telegram_Read myTelegram: Full buffer :ANSWER 64
User Arthur Dent online (was online [2015/12/25 12:54:01])
:
2015.12.25 12:49:02 5: Telegram_Read myTelegram: parsed a message :User Arthur Dent online (was online [2015/12/25 12:54:01]):
2015.12.25 12:49:11 5: Telegram_Read myTelegram: called with noIo defined:
2015.12.25 12:49:11 5: Telegram_Read myTelegram: New read :ANSWER 32
User Arthur Dent is typing
:
2015.12.25 12:49:11 5: Telegram_Read myTelegram: Full buffer :ANSWER 32
User Arthur Dent is typing
:
2015.12.25 12:49:11 5: Telegram_Read myTelegram: parsed a message :User Arthur Dent is typing:
2015.12.25 12:49:17 5: Telegram_Read myTelegram: called with noIo defined:
2015.12.25 12:49:17 5: Telegram_Read myTelegram: New read :ANSWER 32
User Arthur Dent is typing
:
2015.12.25 12:49:17 5: Telegram_Read myTelegram: Full buffer :ANSWER 32
User Arthur Dent is typing
:
2015.12.25 12:49:17 5: Telegram_Read myTelegram: parsed a message :User Arthur Dent is typing:
2015.12.25 12:49:21 5: Telegram_Read myTelegram: called with noIo defined:
2015.12.25 12:49:21 5: Telegram_Read myTelegram: New read :ANSWER 54
[12:49] Arthur Dent >>> dofhem set Schalter1 on
:
2015.12.25 12:49:21 5: Telegram_Read myTelegram: Full buffer :ANSWER 54
[12:49] Arthur Dent >>> dofhem set Schalter1 on
:
2015.12.25 12:49:21 5: Telegram_Read myTelegram: parsed a message :[12:49] Arthur Dent >>> dofhem set Schalter1 on:
2015.12.25 12:49:50 5: Telegram_Read myTelegram: called with noIo defined:
2015.12.25 12:49:50 5: Telegram_Read myTelegram: New read :ANSWER 65
User Arthur Dent offline (was online [2015/12/25 12:49:29])
:
2015.12.25 12:49:50 5: Telegram_Read myTelegram: Full buffer :ANSWER 65
User Arthur Dent offline (was online [2015/12/25 12:49:29])
:
2015.12.25 12:49:50 5: Telegram_Read myTelegram: parsed a message :User Arthur Dent offline (was online [2015/12/25 12:49:29]):
der list vom Schalter1
Internals:
00 f0
CFGFN ./FHEM/fhem_IT.cfg
DEF FFF00FFF0F FF F0
IODev CUL0
NAME Schalter1
NR 181
STATE off
STILLDONETIME 0
TYPE IT
XMIT fff00fff0f
XMITdimdown 00
XMITdimup 00
XMITon ff
Code:
1 fff00fff0f
Readings:
2015-12-02 13:20:21 protocol V1
2015-12-25 05:00:09 state off
Attributes:
IODev CUL0
event-on-change-reading state
model itswitch
room IT
verbose 5
und vom myTelegram:
Internals:
DEF 4711
DeviceName localhost:4711
FD 59
NAME myTelegram
NR 2689
PARTIAL
Port 4711
Protocol telnet
REMAINING
STATE opened
TYPE Telegram
lastmessage User Arthur Dent offline (was online [2015/12/25 12:51:05])
Readings:
2015-12-25 06:07:49 state opened
Attributes:
cmdKeyword dofhem
defaultPeer Arthur_Dent
event-on-update-reading lastmessage
room Telegram
verbose 5
Zitat von: arthur_dent_2015 am 25 Dezember 2015, 13:10:47
Kann man die beiden Module nicht zusammenführen und unabhängig von der Schnittstelle machen? Über attr interface BOT oder CLI setzen, das wäre richtig cool..
Beide accounts habe ich am 23.12. eingerichtet. Die Nachrichten an den Bot werden auch als gelesen gekennzeichnet.
Sorry aber das mit dem Zusammenführen ist so nicht wirklich sinnvoll, momentan sind ca 10% des Codes geteilt und beide Module arbeiten völlig anders (Im Bot-Modul steckt die ganze Logik des -CLI drin, damit ist der Ablauf völlig richtig). Vielleicht hinkt der Vergleich aber ein Schraubenzieher und eine Zange sind beide Werkzeug aber lassen sich nicht gut vereinheitlichen (auch nicht beim Leatherman) ;)
Also Dein telegram funktioniert so gar nicht, es sind ja keinerlei Readings enthalten, ergo wird die Message gar nicht wirklich empfangen.
Vermutung, Du startest CLI nicht mit den notwendigen Optionen (Ich vermute mindestens -N fehlt), dazu bitte in der COmmandref nachlesen.
ich verstehe aber immer noch nicht was Du beim Bot machst, Du schreibst von 2 Accounts? Also gibt es einen gelöschten und einen aktiven? Wenn ja, dann musst Du doch nur die ID des aktiven Accounts angeben (das müsste sich durch Ausprobieren doch leicht erreichen lassen)?
Wie gesagt ich plane keine Weiterentwicklung von 70_Telegram
-N war die Lösung, Danke!!!! :) copy & paste sollte verboten werden ;)
Eigentlich waren es sogar 3 accounts, Android, CLI und BOT. Inzwischen läuft auch der BOT. Es lag an der ID (kleine Kritik, die Doku ist da nicht sehr hilfreich was die ID ist und woher man sie bekommt). Aber es gibt ja G***** und mit der richtigen Frage kommt man dann auch irgendwann an Ziel. Jetzt funktioniernen bei mir beide Module so wie sie sollen.
Zugegeben, 10% gemeinsamer code sind nicht sooooo viel. Wenn Du aber die CLI nachprogrammiert hast müssten doch die Internals and Readings weitgehend gleich sein. Es wird halt nur ne andere Schnittstelle aufgerufen. Mal sind es die Routinen die mit dem BOT kommunizieren, mal die mit der CLI. Die Leute die die CLI Version im Einsatz haben wären Dir sicherlich sehr dankbar wenn sie von der Weiterentwicklung nicht abgeschnitten wären.
Wie auch immer Du Dich entscheidest, großes Kompliment für Deine Arbeit!!!
Danke & Gruß
Arthur
P.S. muss ich beim BOT allowunknowncontacts auf 1 oder 0 setzen wenn ich dem BOT nur mit meinem account kommunizieren lassen will?
Zitat von: arthur_dent_2015 am 25 Dezember 2015, 20:15:09
-N war die Lösung, Danke!!!! :) copy & paste sollte verboten werden ;)
Eigentlich waren es sogar 3 accounts, Android, CLI und BOT. Inzwischen läuft auch der BOT. Es lag an der ID (kleine Kritik, die Doku ist da nicht sehr hilfreich was die ID ist und woher man sie bekommt). Aber es gibt ja G***** und mit der richtigen Frage kommt man dann auch irgendwann an Ziel. Jetzt funktioniernen bei mir beide Module so wie sie sollen.
Zugegeben, 10% gemeinsamer code sind nicht sooooo viel. Wenn Du aber die CLI nachprogrammiert hast müssten doch die Internals and Readings weitgehend gleich sein. Es wird halt nur ne andere Schnittstelle aufgerufen. Mal sind es die Routinen die mit dem BOT kommunizieren, mal die mit der CLI. Die Leute die die CLI Version im Einsatz haben wären Dir sicherlich sehr dankbar wenn sie von der Weiterentwicklung nicht abgeschnitten wären.
Wie auch immer Du Dich entscheidest, großes Kompliment für Deine Arbeit!!!
Danke & Gruß
Arthur
P.S. muss ich beim BOT allowunknowncontacts auf 1 oder 0 setzen wenn ich dem BOT nur mit meinem account kommunizieren lassen will?
Schön, dass es geht.
OK, die Doku schaue ich mir nochmal an.
Das mit dem CLI nachprogrammiert war eher symbolisch gemeint. Im TelegramBot steckt die direkte Kommunikation mit Telegram.org, die CLI abwickelt, allerdings benutzen TelegramBot und CLI komplett verschiedene APIs und Mechanismen. Ich hatte die Vereinheitlichung anfangs auch angedacht, musste aber erkennen, dass es zuviele Unterschiede gibt und das sehr viele ifs bedeuten würde, die den Code fehleranfällig machen und schwer wartbar.
Ja - allowUnknownContacts ist ein Beispiel für eine ungeschickte Benennung. On/Off-Attribute sollten eigentlich immer positiv benannt sein. Also bei 1 werden auch unbekannte Kontakte erlaubt also musst Du 0 verwenden.
Hallo zusammen,
schöne Bastel-Feiertage erst einmal ;)
Ich habe nun wieder einige Dinge gelesen und bin zwei Schritte weiter gekommen.
Ich habe mir eine 99_myUtils.pm wie im Wiki http://www.fhemwiki.de/wiki/99_myUtils_anlegen (http://www.fhemwiki.de/wiki/99_myUtils_anlegen) beschrieben, erzeugt.
Hier habe ich nun u.a. folgendes eingefügt (Funktioniert sogar) :)
sub SendPic
{
fhem("get Cam2 image");
fhem("set myTGBot message Achtung!\n Das Bild ist eventuel alt!\n Erneut anfordern um ein Aktuelles zu bekommen!");
fhem("set myTGBot sendImage ./www/snapshots/Cam2_snapshot.jpg");
}
Wie bekomme ich Zeilenumbrüche hin? Das Perl-Übliche
Zitat\n
wird nicht ausgeführt.
Sind das andere Zeichen die ein CRLF erzeugen?
In einem vorhergehenden Post http://forum.fhem.de/index.php/topic,38328.msg335792/topicseen.html#msg335792 (http://forum.fhem.de/index.php/topic,38328.msg335792/topicseen.html#msg335792) war dies schon mal ein Thema.
Obige drei Zeilen holen von einer Maginon IPC-10 per WLAN ein Bild, speichert es ab.
Zufällig langt nun die Zeitverzögerung durch den folgenden Text um anschließend doch noch das Aktuelle Bild zu schicken.
Dies geschieht in der dritten Zeile.
Danke und schönes WE.
Gerd
Probier mal einfache Anführungszeichen wie folgt:
fhem('set myTGBot message Achtung!\n Das Bild ist eventuel alt!\n Erneut anfordern um ein Aktuelles zu bekommen!');
Hintergrund, Du willst das \n nicht beim Aufruf der fhem-Funktion auflösen sondern erst innerhalb vom telegramBot, das wird durch die einfachen Anführungszeichen (quotes) erreicht.
Hui,
schneller Support ;)
fhem('set myTGBot message Achtung!\n Das Bild ist eventuel alt!\n Erneut anfordern um ein Aktuelles zu bekommen!');
Das erste einfache Anführungszeichen fehlt im Beispiel.
So funktioniert es aber nun!
Klasse!
Danke Johannes.
Gruss Gerd
Zitat von: Maista am 25 Dezember 2015, 22:34:20
Hui,
schneller Support ;)
fhem('set myTGBot message Achtung!\n Das Bild ist eventuel alt!\n Erneut anfordern um ein Aktuelles zu bekommen!');
Das erste einfache Anführungszeichen fehlt im Beispiel.
So funktioniert es aber nun!
Klasse!
Danke Johannes.
Gruss Gerd
Oops Ja manchmal sollte ich nochmal lesen was ich schreibe ;)
(ich habe es korrigiert, Danke)
Bitte gern geschehen!
okay, dann macht das wohl wirklich keinen Sinn :(
Gilt 0 auch für cmdRestrictedPeer? der wird default auf 1 gesetzt.
Zitat von: arthur_dent_2015 am 25 Dezember 2015, 22:58:43
okay, dann macht das wohl wirklich keinen Sinn :(
Gilt 0 auch für cmdRestrictedPeer? der wird default auf 1 gesetzt.
Nein, wie in der commandref beschrieben, werden in cmdRestrictedPeer eine Liste von peers (am besten als contact ids) angegeben (Das mit dem Default 1 kann ich bei mir nicht nachvollziehen)
sorry, Mistverständniss... ich war beim CLI, der wird default auf 1 gesetzt.
Ich habe gerade nochmals die neueste Version in github hochgeladen.
Damit ist es jetzt möglich auch voiceMessages (sendVoice) und beliebige Medienfiles (sendMedia oder sendDocument) zu versenden.
Ausserdem ihabe ich noch ein paar Fehler bei den alias-namen in favortien beseitig.
Hallo Johannes,
hab gerade das neue PM vom GIT installiert.
Die Hilfe hatte ich in der Shell manuell erzeugt.
Dabei sah ich gerade eine Fehlermeldung in der Shell!?
root@RPi2:/opt/fhem# perl contrib/commandref_join.pl
EN FHEM/50_TelegramBot.pm: Unbalanced li (1, last line ok: 2129)
Bug oder feature?
Ich wollte nun probieren eine MP3-Datei zu übertragen , via "sendVoice".
Schneller als ich schauen konnte hatte sich FHEM beendet ;)
Hatte wohl auch keine Zeit mehr etwas ins Log zu schreiben.
Im Log sehe ich nun ein paar Einträge die aber vermutlich während der ersten Versuche als der Pfad noch nicht
gestimmt hatte, erzeugt wurden.
Zitat
2015.12.26 13:05:37 1: PERL WARNING: Use of uninitialized value $args[0] in pattern match (m//) at ./FHEM/50_TelegramBot.pm line 345.
2015.12.26 13:05:37 1: PERL WARNING: Use of uninitialized value $msg in pattern match (m//) at ./FHEM/50_TelegramBot.pm line 375.
2015.12.26 13:05:37 1: PERL WARNING: Use of uninitialized value $msg in concatenation (.) or string at ./FHEM/50_TelegramBot.pm line 1033.
2015.12.26 13:05:37 1: PERL WARNING: Use of uninitialized value $msg in concatenation (.) or string at ./FHEM/50_TelegramBot.pm line 1097.
2015.12.26 13:05:37 1: PERL WARNING: Use of uninitialized value $msg in concatenation (.) or string at ./FHEM/50_TelegramBot.pm line 1102.
2015.12.26 13:05:37 1: PERL WARNING: Use of uninitialized value $_[0] in substitution (s///) at /usr/share/perl/5.14/File/Basename.pm line 341.
fileparse(): need a valid pathname at ./FHEM/50_TelegramBot.pm line 1166
Kommt vermutlich durch den Fehlerhaften Link?!
Edit:
Hab nun per sendVoice und sendMedia jeweils die MP3 übertragen bekommen.
Diesmal keine Probleme oder abstürze wie hier noch vor dem Edit zu lesen war.
Beim übertragen via sendMedia wird im Windows-TG oben eine Anzeige geöffnet mit der man das MP3
abspielen kann.
Bei sendVoice öffnet sich das bekannte Feld im TG.
Gruss Gerd
OK Danke für die Rückmeldung und die Tests.
Die Doku habe ich korrigiert und auch die Fehlerbehandlung bei set Kommandos ist verbessert. Neue Version ist in github.
Das unterschiedliche Verhalten bei sendVoice und sendMedia ist so in Telegram vorgesehen. sendMedia ist grundsätzlich für beliebige Mediendateien und soll sich laut Telegram auch anders verhalten.
Hallo Johannes
kam keine Meldung mehr in der Bash.
Mehr konnte ich bisher nicht fest stellen.
Bin gerade am Versuchen per TG Frostmeldungen zu bekommen.
DOIF machts möglich. Ob es tatsächlich funktioniert wird sich noch zeigen.
Sind schon bei 0.5°C.
Edit:
Es klappt.
Zitat❄️Frostwarnung - Glättegefahr 0.9 °C & 0.125 °C❄️
Wers probieren will, unter http://forum.fhem.de/index.php/topic,41526.msg337669.html#msg337669 (http://forum.fhem.de/index.php/topic,41526.msg337669.html#msg337669)
wurde darüber Diskutiert. Ich habe das letzte Beispiel versucht.
Die (Deutsche-)Commandref von DOIF enthält viele Beispiele dazu.
Ob das so perfekt ist, weis ich nicht. Kann man sicher verbessern. Es tut soweit, und das ist auch gut so :)
Es gibt zwei Stufen, eine bei 4°C und die zweite bei 1°C. Irgend wie muss man das ja testen.
##Frostwarner <4 Grad
define Frost dummy
attr Frost event-on-change-reading state
define doif_Frostwarner DOIF ([OWX_26_A2D984000007:temperature] <4)(set Frost on) DOELSEIF ([OWX_26_A2D984000007:temperature] >4) (set Frost off)
define Frost_TG notify Frost:on set myTgBot msg ❄Frostwarnung - Glättegefahr [OWX_26_A2D984000007:temperature] °C / [OWX_28_FF313C4E0400:temperature] °C❄
attr Frost_TG room Ereignisse
##Frostwarner <1 Grad
define Frost_1 dummy
attr Frost_1 event-on-change-reading state
define Frostwarner_1 DOIF ([OWX_26_A2D984000007:temperature] <1)(set Frost_1 on) DOELSEIF ([OWX_26_A2D984000007:temperature] >4) (set Frost_1 off)
define Frost_TG_1 notify Frost_1:on set myTgBot msg ❄Frostwarnung - Glättegefahr [OWX_26_A2D984000007:temperature] °C / [OWX_28_FF313C4E0400:temperature] °C❄
attr Frost_TG_1 room Ereignisse
Gerd
Hallöchen alle zusammen, hätte mal ne frage zum AllowUnknownContacts-Attribut wenn ich dieses auf 0 setze dann kann ich auch nicht mehr an das System schreiben, bei mir sind zB. bei cmdRestrictedPeer nur die ID eingetragen.
Im contacts reading jedoch ID:Vorname: hab das auch probiert mal bei cmdRestrictedPeer ähnlich einzutragen das hat aber nichts gebracht zumal ich nicht mal weiss ob es überhaupt damit zusammenhängt...
Jetzt meine Frage ist das verhalten des Attributs allowUnknownContacts genauso gewollt oder funktioniert hier in meinem Fall etwas nicht so richtig?
Bisher konnte ich noch nicht beobachten das ich von fremden nachrichten bekommen habe kann es allerdings auch nicht ausschliessen wobei in meinem Contacts reading nur ich auftauche was ja schonmal für sich spricht oder? Desweiteren wollte ich einfach nur eine weitere Sicherung für den fall der fälle ziehen, meint ihr unsinn oder grundsätzlich kein problem?
LG
@speex: Nein Du hattest völlig Recht, da gab es ein Problem. Ist im github gefixt. In der Version sollte allowunknowncontacts wieder korrekt funktionieren:
0 heisst es werden nur Meldungen von bekannten Kontakten angenommen
1 heisst unbekannte Kontakte werden hinzugefügt (zu Contacts) und die Messages werden angenommen (und in Readings gezeigt)
Sorry und Danke
Getestet, jetzt läuft es hier auch!
Vielen Dank für den schnellen fix. :)
Habe gerade das "allowunknowncontacts" nutzen wollen, musste aber feststellen das obwohl mein Kontakt schon im reading "Contacts" aufgelistet ist, trotzdem die Nachrichten von diesem bei "allowunknowncontacts=0" ignoriert werden.
Gibt es da noch einen Bug?
Zitat von: ulli am 01 Januar 2016, 21:37:12
Habe gerade das "allowunknowncontacts" nutzen wollen, musste aber feststellen das obwohl mein Kontakt schon im reading "Contacts" aufgelistet ist, trotzdem die Nachrichten von diesem bei "allowunknowncontacts=0" ignoriert werden.
Gibt es da noch einen Bug?
Hast Du das offizielle Modul über update oder das Modul aus github?
In github habe ich dazu einen Fix gemacht.
Dann kommt das Problem daher.
Ich habe es über update geholt, dann ist das noch nicht aktuell. Wann kommt es denn über FHEM rein?
Neue Version 1.3 - ist gerade ins SVN hochgeladen. Die neue Version kommt ab morgen über den update.
Änderungen
- Alias namen für Kommandos können vergeben werden
- Neue Readings auch für gesendete Nachrichten um Event-Regsitrierungen zu ermöglichen
- Medien (Audio, Video und auch Dokumente können verschickt werden) --> sendVoice, SendMedia
- Fix für allowunknowncontacts
- ...
Hallo viegener
Kann die contactlist eingefroren bzw. geschützt werden ?
Wenn das Attribut "allowUnknownContacts" auf 0 gesetzt wird, wird auch kein Feedback von den gelisteten Kontakten mehr akzeptiert ?!
Gruss Peter
Zitat von: PeterS am 02 Januar 2016, 10:37:44
Hallo viegener
Kann die contactlist eingefroren bzw. geschützt werden ?
Wenn das Attribut "allowUnknownContacts" auf 0 gesetzt wird, wird auch kein Feedback von den gelisteten Kontakten mehr akzeptiert ?!
Gruss Peter
Eigentlich soll allowunknowncontacts genau die kontaktlist "schützen". Das heisst wenn auf 0 gesetzt werden nur nachrichten von bekannten kontakten akzeptiert und die kontaktliste nicht mehr automatisch erweitert.
Es gab einen fehler darin, der im git schon vor einiger zeit behoben wurde, seit gestern ist er auch per update verfügbar. Bitte nochmals probieren mit der neuesten version, bei meinen tests ging es nach dem fix wieder korrekt.
Hi
Mit Rev 10324 funkioniert es auch bei mir ;)
Danke und Gruss
Peter
Gut und Danke für die Bestätigung. Sorry für den Fehler,
Johannes
Wenn ich die neue Version von 50_TelegramBot.pm installiere, bekomme ich nach dem reload folgende Meldung:
Too many arguments for main::TelegramBot_checkAllowedPeer at ./FHEM/50_TelegramBot.pm line 626, near "$mtext ) "
Too many arguments for main::TelegramBot_checkCmdKeyword at ./FHEM/50_TelegramBot.pm line 895, near "1 )"
Too many arguments for main::TelegramBot_ReadHandleCommand at ./FHEM/50_TelegramBot.pm line 897, near "$mtext )"
Too many arguments for main::TelegramBot_checkCmdKeyword at ./FHEM/50_TelegramBot.pm line 905, near "1 )"
Too many arguments for main::TelegramBot_checkCmdKeyword at ./FHEM/50_TelegramBot.pm line 915, near "0 )"
Too many arguments for main::TelegramBot_checkCmdKeyword at ./FHEM/50_TelegramBot.pm line 927, near "1 )"
und das DropDown-Feld ist wech...
Senden von Nachrichten und z.B. die Reaktion auf "/short" funktioniert aber.
Mache ich was falsch?
Danke und Gruß
Uwe
Zitat von: UweH am 02 Januar 2016, 16:21:22
Wenn ich die neue Version von 50_TelegramBot.pm installiere, bekomme ich nach dem reload folgende Meldung:
Too many arguments for main::TelegramBot_checkAllowedPeer at ./FHEM/50_TelegramBot.pm line 626, near "$mtext ) "
Too many arguments for main::TelegramBot_checkCmdKeyword at ./FHEM/50_TelegramBot.pm line 895, near "1 )"
Too many arguments for main::TelegramBot_ReadHandleCommand at ./FHEM/50_TelegramBot.pm line 897, near "$mtext )"
Too many arguments for main::TelegramBot_checkCmdKeyword at ./FHEM/50_TelegramBot.pm line 905, near "1 )"
Too many arguments for main::TelegramBot_checkCmdKeyword at ./FHEM/50_TelegramBot.pm line 915, near "0 )"
Too many arguments for main::TelegramBot_checkCmdKeyword at ./FHEM/50_TelegramBot.pm line 927, near "1 )"
und das DropDown-Feld ist wech...
Senden von Nachrichten und z.B. die Reaktion auf "/short" funktioniert aber.
Mache ich was falsch?
Danke und Gruß
Uwe
Da scheint beim update oder reload etwas schief gegangen zu sein. Kannst Du den FHEM-Server mal komplett neu starten?
Aha. Nix mit reload in diesem Fall. Neustart hilft.
Danke
Zitat von: UweH am 02 Januar 2016, 16:33:19
Aha. Nix mit reload in diesem Fall. Neustart hilft.
Danke
Ja der Reload funktioniert nur mit EInschränkungen, denn es ist ja quasi eine laufende Routine die geändert wird.
Das Polling läuft im Hintergrund noch, kommt dann nach Ablauf der Zeit zurück und jemand hat das Modul umgebaut
Wenn ich aus dem Bad käme und der Flur wäre plötzlich halb so hoch wäre ich auch verstimmt ;)
Da hätte ich auch was dagegen... ;)
Was ich noch nicht ganz nachvollziehen kann, ist die Vergabe von alias für Kommandos. Kannst Du mal ein konkretes Beispiel aufzeigen? Ich probier da seit der vorletzten Version herum und komme nicht dahinter. Ich glaube, ich brauche mal einen Schubs in die richtige Richtung...
Danke
Hat sich erledigt, hab's rausgefunden. Ist natürlich nicht schwer, aber ich hatte einen Knoten im Gehirn... ;D
Erklärung: Ich bin von falschen Voraussetzungen ausgegangen (oder ich habe es immer noch nicht verstanden)... Ich hatte mir von der Alias-Vergabe eine Erleichterung versprochen. Beim bisherigen Verfahren lasse ich mir eine Liste der "shorts" schicken und tippe auf einen Button. Befehl wird ausgeführt, Ende.
Beim Alias muss ich nun den Alias und den Schaltbefehl eintippen...also umständlicher...oder?
Alles spitze!
Die Favorites und allowUnknownContacts laufen ohne Probleme!
Das ist gut!
Momentan steht auf meiner Todoliste noch 2 grössere Brocken (für TelegramBot):
- Mediendateien auch an FHEM senden können (also das TelegramBot Modul würde sie herunterladen und im Filesystem abzulegen
- Die bereits mehrfach diskutierte Dialogfunktion bei der man eine externe Funktion zum Steuern von FHEM verwenden kann
Beides ist bei mir nicht hoch auf der Prioliste oder gibt es jemanden der gerade aktiv darauf wartet?
Johannes
Gutes neues zusammen.
Auf Dialogfunktion warte ich bedingt ;)
Derzeit komme ich aber mit dem vorhandenen zu recht.
Zum Temperatur, Feuchte ..... IPCam abfragen langt es.
Gruß Gerd
Super Modul, hat alles sofort geklappt. Besten Dank dafür!
cmdKeyword und cmdFavorites funktionieren super. Gibt es die Möglichkeit weitere Kommandos zu definieren, damit man auch sowas machen kann:
/Abwesend
/Anwesend
/Urlaub
...
aktuell muß man das alles über Keyword tunneln, was am Smartphone ziemlich lästig/länglich werden kann.
Zitat von: Heinz1973 am 07 Januar 2016, 13:27:12
Super Modul, hat alles sofort geklappt. Besten Dank dafür!
cmdKeyword und cmdFavorites funktionieren super. Gibt es die Möglichkeit weitere Kommandos zu definieren, damit man auch sowas machen kann:
/Abwesend
/Anwesend
/Urlaub
...
aktuell muß man das alles über Keyword tunneln, was am Smartphone ziemlich lästig/länglich werden kann.
Danke für die Blumen ;)
Ja eine solche Möglichkeit gibt es über die favorites. Damit kann man nicht nur einzelne favoriten definieren die über nummern angesprochen werden können sondern auch alias commands genauso wie Du es Dir vorstellst. Schau mal die Attribute favorites, speziell den Absatz über alias commands in der commandref an.
Ich helfe gerne weiter, wenn Du dazu weitere Fragen hast.
Johannes
Hm, vielleicht eine blöde frage, vielleicht stehe ich grade am schlauch: kann ich mir alle Fehlermeldungen von fhem ans telegram senden? keine warnings, nur die Fehlermeldungen?
Nicht unbedingt eine blöde Frage, allerdings gibt es sicher unterschiedliche Definitionen was eine Fehlermeldung ist.
Ich hatte mal die Überlegung alle loglevel-1 Meldungen aus dem fhem.log-file per telegram zu versenden, allerdings gibt es innheralb von fhem keine Möglichkeit sich bei Meldungen im fhem-log mit einem bestimmten Level benachrichtigen zu lassen. Dis Diskussion dazu ist leider bisher auch im Sande verlaufen und braucht vielleicht etwas Unterstützung?
http://forum.fhem.de/index.php/topic,45905.0.html (http://forum.fhem.de/index.php/topic,45905.0.html)
Allerdings ist das nur eine mögliche Definition von Fehlermeldung...
Zitat von: viegener am 20 Dezember 2015, 11:44:57
Im Prinzip kann es als eine Befehlsfolge funktionieren, wenn die Zeit zu, abspeichern des bildes konstant ist.
Also folgende schritte
- abholen des bildes und speichern des dateinamens
- entweder feste wartezeit oder schleife bis datei existiert und dann kurz warten
- set bot sendImage <dateiname>
Hallo nochmal,
Bin wahrscheinlich schon Off Topic, aber meine ursprüngliche Frage war auch hier,....
wie kann ich eine Schleife mit Abfrage nach der Erstellung der Datei machen, die Datei wird in meinem Fall ja überschrieben :o???
Habs mit sleep versucht bin jetzt schon bei sleep 10 und viel mehr möcht ich nur ungern haben, denn sonst klingelt es wirklich stark verzögert...
oder gibt es eine Methode das ganze zu beschleunigen? Prioritäten oder sowas??
Danke, lg
Zitat von: e3xtreme am 13 Januar 2016, 13:43:50
Hallo nochmal,
Bin wahrscheinlich schon Off Topic, aber meine ursprüngliche Frage war auch hier,....
wie kann ich eine Schleife mit Abfrage nach der Erstellung der Datei machen, die Datei wird in meinem Fall ja überschrieben :o???
Habs mit sleep versucht bin jetzt schon bei sleep 10 und viel mehr möcht ich nur ungern haben, denn sonst klingelt es wirklich stark verzögert...
oder gibt es eine Methode das ganze zu beschleunigen? Prioritäten oder sowas??
Danke, lg
Vielleicht brauchst Du keine Schleife/sleep, wenn ich in der Commandref von IPCAM schaue, sieht es so aus, als ob IPCAM nach speichern des / der Bilder einen event schickt, denn Du als trigger für das versenden per telegram versenden könntest. Hier das Beispiel aus der commandref von IPCAM:
Zitat
Send an eMail after snapshots are taken:
define MOTION.not.02 notify ipcam:.*snapshots.* { myEmailFunction("%NAME") }
Im Aktionsteil des notify müsste dann natürlich der Versand per telegram stehen
genau so habe ich es gemacht und es funktioniert - ein notify auf die Türklingel speichert von der CAM das Bild, ein notify über die CAM notify ipcam:.*snapshots.* versendet das gespeicherte Bild. Bei einer Hikvision
DS-2CD2032-I CAM funktioniert das prima, bei einem noch billigeren Chinamodell kommt das Bild vom vorherigen Event -Lösung, ich habe mir noch eine weitere Hikvision
DS-2CD2032-I bestellt und tausche die aus.
Hallo zusammen,
kurze Frage:
Wenn ich meine Festnetznummer im Format +49 eingebe, dann kommt immer eine Fehlermeldung incorrect phone number. Mit einer Handynummer funktioniert es. Hat jemand eine Idee woran das liegen könnte?
Zitat von: derchrome am 14 Januar 2016, 21:56:21
Hallo zusammen,
kurze Frage:
Wenn ich meine Festnetznummer im Format +49 eingebe, dann kommt immer eine Fehlermeldung incorrect phone number. Mit einer Handynummer funktioniert es. Hat jemand eine Idee woran das liegen könnte?
Kannst Du erklären, wo Du die Telefonnummer eingibst?
Zitat von: viegener am 14 Januar 2016, 00:51:48
Vielleicht brauchst Du keine Schleife/sleep, wenn ich in der Commandref von IPCAM schaue, sieht es so aus, als ob IPCAM nach speichern des / der Bilder einen event schickt, denn Du als trigger für das versenden per telegram versenden könntest. Hier das Beispiel aus der commandref von IPCAM:
Hallo danke für den Tipp, klappt zwar jetzt so wie es soll, jedoch muss man auf der Klingel gefühlt um einiges länger drauf bleiben, dass es überhaupt klingelt, kann es sein, dass er da einen Befehl wegschmeißt, weil er grad zwei notifies ausführen möchte??
Bitte hier Antworten, habe einen neuen Thread eröffnet :-)
http://forum.fhem.de/index.php/topic,47359.0.html
Zitat von: viegener am 14 Januar 2016, 22:17:49
Kannst Du erklären, wo Du die Telefonnummer eingibst?
Ich war jetzt über SSH verbunden und hab den Client über "bin/telegram-cli -k tg-server.pub" (Anleitung aus dem Wiki) gestartet. Und dann kommt die Abfrage.
OK, die Meldung kommt vermutlich von telegram selbst, ist das eine VOIP-Nummer, bei denen gibt es wohl bestimmte Bereiche, die telegram ablehnt. Mit meiner eigenen Festnetznummer ging es.
Generell: Nur das TelegramBot-Modul wird weiter gepflegt, das Telegram-Modul, dass die Installation von telegram-cli und eine Telefonnummer voraussetzt läuft zwar momentan stabil, ich würde aber empfehlen das bot-Modul zu verwenden. Dieses hat inzwischen auch deutlich mehr Funktionen.
Johannes
Dann werde ich das mal ausprobieren, danke!
Wie bekomme ich den anderen Client wieder deinstalliert?
Das Modul 70_Telegram wirst Du am einfachsten wieder los in dem Du alle Devices die diesen Type verwenden entfernst und dann die Datei 70_Telegram.pm auch löscht. Danach fhem neustarten und prüfen ob es Fehler im Log wg. des Moduls gibt.
telegram-cli wird man danach wieder los, in dem man sicherstellt, das der Prozess nicht mehr läuft und dann das Verzeichnis komplett entfernt. Solange man nicht zusätzliche Schritte (wie z.B. ein service/daemon skript zu erstellen o.ä.) sollte dann auch der Client weg sein.
Zitat von: viegener am 07 Januar 2016, 17:49:39
Danke für die Blumen ;)
Ja eine solche Möglichkeit gibt es über die favorites. Damit kann man nicht nur einzelne favoriten definieren die über nummern angesprochen werden können sondern auch alias commands genauso wie Du es Dir vorstellst. Schau mal die Attribute favorites, speziell den Absatz über alias commands in der commandref an.
Ich helfe gerne weiter, wenn Du dazu weitere Fragen hast.
Johannes
Ok, habs über Google irgendwo den Hinweis gefunden, jedoch nicht auf der fhem wiki Seite http://www.fhemwiki.de/wiki/TelegramBot
Hier wäre noch ein Beispiel super, das man einfach rauskopieren kann, das hätte mir Zeit erspart. Funktioniert einwandfrei.
Zitat von: Heinz1973 am 17 Januar 2016, 22:29:43
Ok, habs über Google irgendwo den Hinweis gefunden, jedoch nicht auf der fhem wiki Seite http://www.fhemwiki.de/wiki/TelegramBot
Hier wäre noch ein Beispiel super, das man einfach rauskopieren kann, das hätte mir Zeit erspart. Funktioniert einwandfrei.
Kann man gerne machen, ich komme leider momentan einfach nicht dazu Code, Commandref und wiki weiterzupflegen (FHEM ist ja auch zum mitmachen ;) )
Ich würde gerne eine Voicemessage, die ich an den Telegrambot schicke, über meine Lautsprecher ausgeben. GGf. möchte ich über die Message sogar steuern, in welchem Raum die Message wiedergegeben werden soll. Dazu müsste ich dort einfach eine MP3 bekanntgeben.
Gibt es dazu eine Idee, wo ich anfangen könnte?
Zitat von: JoeALLb am 18 Januar 2016, 09:16:31
Ich würde gerne eine Voicemessage, die ich an den Telegrambot schicke, über meine Lautsprecher ausgeben. GGf. möchte ich über die Message sogar steuern, in welchem Raum die Message wiedergegeben werden soll. Dazu müsste ich dort einfach eine MP3 bekanntgeben.
Gibt es dazu eine Idee, wo ich anfangen könnte?
Bisher leider gar nicht, da der Bot bisher Multimedia zwar verschicken kann, aber empfangene Bilder/Audio/Dokumente werden noch nicht vollständig behandelt und heruntergeladen. Das steht auf meiner Todo, aber bisher habe ich noch keinen Use case dazu gehabt. Ich kann mir das in den nächsten Tagen anschauen.
Vorschlag: In einem ersten Schritt werden die Nachrichten vom Bot angenommen und es gibt ein zusätzliches Reading in dem ein URL zum herunterladen steckt. Dadurch wird vermieden, dass Bandbreite zum Herunterladen (und Speicherplatz lokal) nur verwendet wird, wenn die Datei auch erwünscht ist. Allerdings steckt dann im URL auch das Authtoken für den Bot mit drin, so ist die Schnittstelle von telegram aufgebaut.
Zitat von: viegener am 18 Januar 2016, 11:40:15
Vorschlag: In einem ersten Schritt werden die Nachrichten vom Bot angenommen und es gibt ein zusätzliches Reading in dem ein URL zum herunterladen steckt. Dadurch wird vermieden, dass Bandbreite zum Herunterladen (und Speicherplatz lokal) nur verwendet wird, wenn die Datei auch erwünscht ist. Allerdings steckt dann im URL auch das Authtoken für den Bot mit drin, so ist die Schnittstelle von telegram aufgebaut.
Das wäre toll. Den Rest dazu kann ich dann selbst übernehmen (denke ich...)
Zitat von: JoeALLb am 18 Januar 2016, 14:14:32
Das wäre toll. Den Rest dazu kann ich dann selbst übernehmen (denke ich...)
OK, habe gerade eine erste Version in github hochgeladen (also noch nicht über update verfügbar):
Die Nachrichten werden jetzt vom Bot angenommen und es wird ein zusätzliches Reading
msgFileId mit der ID der Datei erzeugt.
In
msgText wird angegeben welche Art Multimediafile heruntergeladen werden kann (z.T. auch mit Grösse/Bildunterschrift/Mimetype). Der Inhalt beginnt immer mit "received ", also z.B.:
received photo # Size: 264323
Um daraus dann einen URL für das Herunterladen zu erzeugen, muss man allerdings noch einen get-Befehl ausführen, um sich von telegram den URL zu einer Datei liefern zu lassen. Als Parameter wird hier der inhalt von
msgFileId übergeben.
get telegrambot urlForFile DuacxG4Yo6gVwu9pxazZPJqELgyoABHgOPu2hwuvVLjMB
Ich musste das so bauen, da die URLs nur temporär gültig sind, während die FileIds auch langfristig gültig sind. Also sollte das get Command direkt vor dem Herunterladen aufgerufen werden. Dazu kann die fileId auch zwischengespeichert werden.
Achso es können nicht nur Photos, sondern auch Voicemessages, Videos, Audio und allgemeine Dokumente empfangen werden.
Vorschlag: In einem ersten Schritt werden die Nachrichten vom Bot angenommen und es gibt ein zusätzliches Reading in dem ein URL zum herunterladen steckt. Dadurch wird vermieden, dass Bandbreite zum Herunterladen (und Speicherplatz lokal) nur verwendet wird, wenn die Datei auch erwünscht ist. Allerdings steckt dann im URL auch das Authtoken für den Bot mit drin, so ist die Schnittstelle von telegram aufgebaut.
Ich habe inzwischen alles gut am Laufen mit dem Telegram Modul.
Nun habe ich einen Chat erstellt mit zwei Benutzern und diesen Chat als defaultPeer angegeben.
Wenn ich jetzt den Bot direkt anschreibe (also nicht über den Chat) dann antwortet der Bot immer im Chat (also dem defaultPeer)
Kann man es irgendwie einstellen im Modul das der Bot dem Antwortet von dem er "gefragt" wird?
Hallo Johannes,
ich bin seit Gestern auch Benutzer des Moduls. Danke für die hervorragende Arbeit...
Ich hätte jetzt einen zusätzlichen Anwendungsfall:
Als Antwort auf eine Command-Anfrage per Telegram-App ein Bild/Plot erhalten.
Konkret geht es um Plots, die ich auf eine Anfrage hin erhalten möchte.
Ich hatte mal kurz in den Code geschaut, und denke, dass es relativ einfach umzusetzen wäre:
- Ein neuer sendImage-Befehl, der keinen Dateinamen erhält, sondern direkt den Datenstrom, der gesendet werden soll
- Eine Erweiterung der Prozedur HandleCommand, die erkennt, ob das Ergebnis des Kommandos ein Bild ist, und dann den neuen sendImage-Befehl aufruft. Das Prüfen kann man z.B. mit einem regulären Ausdruck auf dem Ergebnis von AnalyzeCommand machen:
if ($ret =~ m/^\x89PNG\r\n\x1a\n/) {
# Hier das PNG als Stream direkt versenden
}
Damit könnte man dann so Anweisungen versenden wie
ok fhem { plotAsPng('weblink_aussen_Temperatur') }
und würde als Antwort direkt den Plot erhalten.
Das ganze kann/sollte man natürlich/vielleicht um die anderen möglichen Bildtypen erweitern, falls noch andere use cases existieren...
Meinst du das wäre von deiner Seite aus möglich?
Danke schon mal für deine Reaktion...
Grüße
Reiner
Hallo,
ich benutze auch seit kurzer Zeit den TelegramBot mit FHEM.
Ich sende mit dem Smartphone diese auch im Forum behandelten Alias-Befehle. Funktioniert 1A!
Nun eine Frage, die FHEM nur indirekt betrifft (ich hoffe man verzeiht):
Hat es schon mal jemand geschafft, mit Tasker + Telegram einen Befehl an FHEM zu senden?
Ich kann dazu auch gern per PN angeschrieben werden, wenn es hier nicht passt.
Gruß! Panik
Genau danach bin ich auch schon eine std am suchen!
Hallo Johannes,
der Telegambot läuft ja soweit ganz gut aber ich finde haufenweise die folgende Fehlemeldung im Log:
TelegramBot_Callback my_fhem_bot: resulted in :NonBlockingGet: returned gethostbyname api.telegram.org failed: from SendIt
Die zu sendende msg geht nicht raus. Was ist da los?
Gruß
Arthur
Zitat von: arthur_dent_2015 am 22 Januar 2016, 19:53:37
Hallo Johannes,
der Telegambot läuft ja soweit ganz gut aber ich finde haufenweise die folgende Fehlemeldung im Log:
TelegramBot_Callback my_fhem_bot: resulted in :NonBlockingGet: returned gethostbyname api.telegram.org failed: from SendIt
Die zu sendende msg geht nicht raus. Was ist da los?
Gruß
Arthur
Die Meldung besagt, dass der FHEM-Server die IP-Adresse von api.telegram.org nicht auflösen kann. Auf dem Rechner scheint die Internetverbindung nicht korrekt zu funktionieren (Namensauflösung / DNS). Das müsste normalerweise auch alle anderen Dienste betreffen, die von dem Rechner auf das Internet zugreifen.
Wenn das linux ist, was steht in der
/etc/resolv.confGruss,
Johannes
Zitat von: Reinerlein am 22 Januar 2016, 11:14:28
Hallo Johannes,
ich bin seit Gestern auch Benutzer des Moduls. Danke für die hervorragende Arbeit...
Ich hätte jetzt einen zusätzlichen Anwendungsfall:
Als Antwort auf eine Command-Anfrage per Telegram-App ein Bild/Plot erhalten.
Konkret geht es um Plots, die ich auf eine Anfrage hin erhalten möchte.
Damit könnte man dann so Anweisungen versenden wie
ok fhem { plotAsPng('weblink_aussen_Temperatur') }
und würde als Antwort direkt den Plot erhalten.
Das ganze kann/sollte man natürlich/vielleicht um die anderen möglichen Bildtypen erweitern, falls noch andere use cases existieren...
Meinst du das wäre von deiner Seite aus möglich?
Danke schon mal für deine Reaktion...
Grüße
Reiner
Hallo Reiner.
na da bin ich ja froh, denn Dein Sonos-Modul nutze ich schon lange :-)
Dein Fall klingt erstmal exotisch ist aber sicher elegant, wenn man nicht erst eine Datei erzeugen, versenden, lsöchen will.
Ich muss mir das aber trotzdem erstmal anschauen, damit ich das bei mir auch nachbauen kann.
Also bitte noch etwas Geduld...
Gruss,
Johannes
Zitat von: viegener am 23 Januar 2016, 01:53:59
Dein Fall klingt erstmal exotisch ist aber sicher elegant, wenn man nicht erst eine Datei erzeugen, versenden, löschen will.
Johannes
Hallo Johannes und Reiner,
das ist genau der Anwendungsfall, nach dem ich mich ein paar Seiten vorher erkundigt hatte ;-)
Wäre klasse wenn ihr das hinbekommen würdet!
Da ich trotz vielen Stunden ausprobieren nicht mehr weiterkomme, hier meine Bitte um Hilfe.
Ich habe nach Wiki einen Bot angelegt. In fhem steht folgendes:
define teleBot TelegramBot xxxxx:key
attr teleBot defaultPeer @BotnameBot
attr teleBot pollingTimeout 20
Mit diesen Satz in der Wiki komme ich ins schleudern, trotz vielem testen: Der TelegramBot kann erst dann Nachrichten an einen telegram user schicken, wenn dieser zuerst an den telegram bot eine Nachricht gesendet hat.
Versuche ich eine Nachricht zu senden (set teleBot message Dies ist eine Nachricht von FHEM) erscheint in fhem immer: FAILED peer not found :@BotnameBot:
Ich komm nicht weiter.
Hermann
Umgekehrt. Du musst von dem, der zukünftig Nachrichten empfangen soll, eine Nachricht an den Bot schicken.
Hi rtv,
bislang helfe ich mir mit einer (bzw. zwei) kleinen Prozedur in meiner 99_myUtils.pm:
sub sendPlot($) {
my ($plotName) = @_;
writeFile('/tmp/plot_'.$plotName.'.png', plotAsPng($plotName));
fhem('set telegram sendImage /tmp/plot_'.$plotName.'.png '.AttrVal($plotName, 'alias', $plotName));
return undef;
}
sub writeFile($$) {
my ($fileName, $data) = @_;
open IMGFILE, '>'.$fileName;
binmode IMGFILE;
print IMGFILE $data;
close IMGFILE;
}
Für die Funktion "plotAsPng" (kommt aus dem SVG-Modul, und ist damit schon da), brauchst du aber noch eine Library:
sudo apt-get install libimage-librsvg-perl
Dabei bleiben aber Reste im tmp-Ordner übrig, die man irgendwann mal wegräumen könnte/müsste. Da der Plot jeweils nur eine Datei übrigläßt, bleibt das aber im Rahmen...
Grüße
Reiner
Zitat von: viegener am 23 Januar 2016, 01:30:15
Die Meldung besagt, dass der FHEM-Server die IP-Adresse von api.telegram.org nicht auflösen kann. Auf dem Rechner scheint die Internetverbindung nicht korrekt zu funktionieren (Namensauflösung / DNS). Das müsste normalerweise auch alle anderen Dienste betreffen, die von dem Rechner auf das Internet zugreifen.
Wenn das linux ist, was steht in der /etc/resolv.conf
Gruss,
Johannes
in der resolv.conf ist meine FB eingetragen. Der Raspi hängt per Powerline an der FB. Auf dem Netz scheint es ab und an Aussetzer zu geben. In der Weboberfläche sehe ich dann connection lost, trying to reconnect. Kann das damit zusammen hängen?
Gruß
Arthur
Zitat von: Reinerlein am 23 Januar 2016, 12:57:15
Hi rtv,
bislang helfe ich mir mit einer (bzw. zwei) kleinen Prozedur in meiner 99_myUtils.pm
Danke Reiner, funktioniert perfekt und ist direkt in die Favoriten gewandert - sehr praktisch!
Das Telegram Modul ermöglicht wirklich einige "smarte" Ideen.
Hab' z.B. gerade noch Anrufe in Abwesenheit hinzugefügt:
define Notify_Anruf_Telegram notify CallMonitor:missed_call.* set telegram msg ☎️ Anruf in Abwesenheit: [CallMonitor:missed_call]
Grüße
Ralf
Hallo,
gibt es eine elegante Lösung um an verschiedene Smartphone über Telegram unterschiedliche Nachrichten zu senden?
Mit WhatsApp (yowsup) kann ich send 49171 usw und dann eben an eine nadere auch noch schicken.
Zitat von: RitterSport am 23 Januar 2016, 17:50:46
Hallo,
gibt es eine elegante Lösung um an verschiedene Smartphone über Telegram unterschiedliche Nachrichten zu senden?
Mit WhatsApp (yowsup) kann ich send 49171 usw und dann eben an eine nadere auch noch schicken.
Ich bin nicht sicher ob ich das verstehe:
Natürlich kann man unterschiedliche Nachrichten senden ;) --> Einfach verschiedene Befehle :D
Man kann auch eine Nachricht an unterschiedliche Empfänger schicken --> Dazu gibt es die Möglichkeit bei message mehrere peers jeweils mit @ am Anfang anzugeben (siehe commandref)
Verschiedene Nachrichten an verschiedene Empfänger geht damit natürlich auch verschiedene Befehle, bei der jeweils andere Empfänger angegebene sind.
Johannes
So ich habe (bisher nur in github) mal den oben erwähnten Anwendungsfall eingebaut, bei der man das Ergebnis eines Kommandos (z.B. Favoriten) direkt als Bild verschicken kann. Es war etwas aufwändiger, da Telegram sich als etwas störrisch herausgestellt hat.
Das ganze funktioniert mit Favoriten oder auch direkt hinter dem Command Keyword. Generell sollten auch andere Dateiformate (jpg, mp3 und office-Formate funktionieren).
@Reiner,rtv: Ich habe das bisher nur mit plotAsPng getestet. Vielleicht könnt Ihr das auch mal ausprobieren, bevor ich das ins SVN hochlade
Hallo Johannes,
ich werde das heute Abend testen...
Zwischendurch mal eine andere Frage:
Ich versuche gerade eine Telegram-Tonaufnahme auf einem Sonos-Player wiederzugeben. Das klappt nicht auf Anhieb, weil der Player das Format nicht abspielen kann (obwohl Ogg auf der Website als funktionierend deklariert ist).
Nun habe ich mir mal das Format mittels avprobe angeschaut (und wollte es einfach in MP3 konvertieren), erhalte aber folgende Ausgabe:
avprobe version 0.8.6-6:0.8.6-1+rpi1, Copyright (c) 2007-2013 the Libav developers
built on Mar 31 2013 13:58:10 with gcc 4.6.3
[ogg @ 0x1eb6660] Codec not found
/mnt/SonosSpeak/telegram_file_13.ogg: End of file
Ich bekomme avconv einfach nicht dazu, diese Datei zu akzeptieren, und zu konvertieren...
In der Datei sind unter den ersten Bytes die Zeichenfolge "ogg" vorhanden, und weiter hinten wird was von opuslib geschrieben...
Hat jemand schon mal diese Tonaufnahmen weiterverwendet? Weiß jemand wie ich diese korrigeren/konvertieren kann?
Danke schon mal für sachdienliche Hinweise :)
Grüße
Reiner
Zitat von: Reinerlein am 24 Januar 2016, 11:44:25
Hallo Johannes,
ich werde das heute Abend testen...
Zwischendurch mal eine andere Frage:
Ich versuche gerade eine Telegram-Tonaufnahme auf einem Sonos-Player wiederzugeben. Das klappt nicht auf Anhieb, weil der Player das Format nicht abspielen kann (obwohl Ogg auf der Website als funktionierend deklariert ist).
Nun habe ich mir mal das Format mittels avprobe angeschaut (und wollte es einfach in MP3 konvertieren), erhalte aber folgende Ausgabe:
avprobe version 0.8.6-6:0.8.6-1+rpi1, Copyright (c) 2007-2013 the Libav developers
built on Mar 31 2013 13:58:10 with gcc 4.6.3
[ogg @ 0x1eb6660] Codec not found
/mnt/SonosSpeak/telegram_file_13.ogg: End of file
Ich bekomme avconv einfach nicht dazu, diese Datei zu akzeptieren, und zu konvertieren...
In der Datei sind unter den ersten Bytes die Zeichenfolge "ogg" vorhanden, und weiter hinten wird was von opuslib geschrieben...
Hat jemand schon mal diese Tonaufnahmen weiterverwendet? Weiß jemand wie ich diese korrigeren/konvertieren kann?
Danke schon mal für sachdienliche Hinweise :)
Grüße
Reiner
Ich muss mir das auch mal anschauen, im Browser konnte ich sie abspielen (Firefox/Windows) mit dem URL den das Modul zurückliefert. Bisher habe ich das nicht genauer analysiert.
Johannes
@Reiner, hast du den download schon automatisiert? Wenn ja, kannst du mir einen Code geben? Ich hab erst begonnen, wegen Besuch musste ich aber unterbrechen....
Hi JoeALLb,
das ist nicht weiter kompliziert :)
Hier das Notify auf meinem TelegramBot (heißt "telegram"):
telegram:msgText:.received.voice.* {
my $url = fhem("get $NAME urlForFile ".ReadingsVal($NAME, 'msgFileId', ''));
my $fileName = "$NAME_$1" if ($url =~ m/.*\/(.*)/);
my $newFileName = "$1.mp3" if ($fileName =~ m/(.*)\..*/);
writeFile('/mnt/SonosSpeak/'.$fileName, get($url));
qx(/usr/bin/avconv -i /mnt/SonosSpeak/$fileName /mnt/SonosSpeak/$newFileName);
fhem('set '.ReadingsVal($NAME, 'currentSpeakPlayer', 'tmperror').' PlayURITemp \\\\192.168.0.11/SonosSpeak/'.$newFileName.' '.ReadingsVal($NAME, 'currentSpeakVolume', 5));
}
Und dann noch die Write-Prozedur in einer 99_myUtils.pm:
sub writeFile($$) {
my ($fileName, $data) = @_;
open IMGFILE, '>'.$fileName;
binmode IMGFILE;
print IMGFILE $data;
close IMGFILE;
}
Da steckt jetzt schon der Versuch drin, die Datei vor der Verwendung in ein MP3 umzuwandeln, was ja fehlschlägt (genauso wie die direkte Wiedergabe dieser Datei auf den Sonos-Player).
Und natürlich hat bei dir der Pi vermutlich eine andere IP-Adresse.
Für die Wiedergabe auf den Playern habe ich mir am TelegramBot-Device zwei eigene Readings eingebaut, die ich per Kommando verändern kann.
"currentSpeakPlayer" - Gibt den oder die Player an, wo die Wiedergabe erfolgen soll
"currentSpeakVolume" - Gibt die zu verwendende Lautstärke an.
Dann gibt es am TelegramBot-Device noch die Favoriten zum Setzen dieser Readings:
/jim=setreading telegram currentSpeakPlayer Sonos_Jim ; /joe=setreading telegram currentSpeakPlayer Sonos_Joe ; /wohnzimmer=setreading telegram currentSpeakPlayer Sonos_Wohnzimmer ; /kinder=setreading telegram currentSpeakPlayer Sonos_Jim,Sonos_Joe ; /schlafzimmer=setreading telegram currentSpeakPlayer Sonos_Schlafzimmer ; /all=setreading telegram currentSpeakPlayer Sonos_Jim,Sonos_Joe,Sonos_Schlafzimmer,Sonos_Wohnzimmer ; /speakvolume=setreading telegram currentSpeakVolume
Da gibt es Jim und Joe (nochmal als Gruppe "Kinder" zusammen), Schlafzimmer und Wohnzimmer, und alle zusammen.
Sowie den Favoriten zum Setzen der Abspiellautstärke. Das wird im Notify auch schon alles berücksichtigt/verwendet...
Was jetzt noch fehlt, ist eine saubere Konvertierung der Datei, damit Sonos diese wiedergeben kann. Dann kann die Durchsagerei losgehen :)
Grüße
Reiner
Zitat von: Reinerlein am 24 Januar 2016, 11:44:25
Ich versuche gerade eine Telegram-Tonaufnahme auf einem Sonos-Player wiederzugeben. Das klappt nicht auf Anhieb, weil der Player das Format nicht abspielen kann (obwohl Ogg auf der Website als funktionierend deklariert ist).
Nun habe ich mir mal das Format mittels avprobe angeschaut (und wollte es einfach in MP3 konvertieren), erhalte aber folgende Ausgabe:
Hat jemand schon mal diese Tonaufnahmen weiterverwendet? Weiß jemand wie ich diese korrigeren/konvertieren kann?
Hallo Reiner,
habe gerade mal versucht das auf dem Sonos abzuspielen. Bei mir kommt auch eine Fehlermeldung auf dem Sonos (nicht unterstütztes Format). VLC kann es allerdings ebenfalls abspielen, da ich keinen Konverter auf dem System habe ich mal einen Onlinekonverter ausprobiert (https://online-audio-converter.com/de/ (https://online-audio-converter.com/de/)). Dabei gab es keine Probleme einen funktionsfähigen MP3 zu erzeugen...
Also Ja es gibt Probleme zwischen Sonos und dem Telegram Ogg-Format und ich denke man braucht dafür vermutlich einen Konverter.
Gruss,
Johannes
Zitat von: Reinerlein am 24 Januar 2016, 20:48:40
Hi JoeALLb,
das ist nicht weiter kompliziert :)
Och doch... mein Dateidownload (mit wget) war bei weitem nicht so elegant wie Deine Umsetzung!!!
Vielen Dank dafür!!
Hinweis:
Dieser Code hier konnte so nicht verwendet werden, da die Variable $NAME_ nicht definiert ist. Ich musste also den String leicht anders zusammenfügen, dann klappts aber gut!
"$NAME_$1"
Auf meinem Intel-Board mit Debian8 wird das OGG-File korrekt als MP3 umgewandelt--- Ich muss also nur noch die Sonos-Ansteuerung testen!
Vielen Dank nochmal!
Zitat von: ulli am 21 Januar 2016, 21:23:51
Ich habe inzwischen alles gut am Laufen mit dem Telegram Modul.
Nun habe ich einen Chat erstellt mit zwei Benutzern und diesen Chat als defaultPeer angegeben.
Wenn ich jetzt den Bot direkt anschreibe (also nicht über den Chat) dann antwortet der Bot immer im Chat (also dem defaultPeer)
Kann man es irgendwie einstellen im Modul das der Bot dem Antwortet von dem er "gefragt" wird?
@Johannes gibt es zu oben beschriebenen Pronomen eine Lösungsidee?
Hi Johannes, hi JoeALLb,
sooo, ich habe das mit der Durchsagewiedergabe nun hinbekommen.
Bei mir fehlten wohl einige Codecs im AVConverter.
Mit
sudo apt-get install libav-tools
hat er die fehlenden installiert. Mein Codebeispiel geht bei mir jetzt (natürlich mit der geschweiften Klammer um "$NAME", also "${NAME}_$1", die fehlten noch :) )
Auch die Rückgabe der Bilddaten direkt als Ergebnis eines Befehls klappt gut. Klasse...
Ich bin gerade noch dabei, herauszufinden, ob man einfach ein MP3 mit ID3v2-Tag erkennen kann. Meine MP3s haben immer einen solchen Tag, und kommen deshalb nicht als Ergebnis zurück... ist aber nicht Kriegsentscheidend...
Grüße
Reiner
Super, dass es klappt.
Die Verzögerungen sind meist auch relativ kurz, bis die Sprachausgabe dann am Sonos herauskommt, aber manchmal bleibt es etwas "hängen".
Das werd ich mir an einem freien Wochenende mal genauer ansehen!
@Reiner: Ich hätte dazu einen Featurerequest: Könne das Sonos-Modul ein Reading pflegen, wieviele Geräte gerade am spielen sind?
Ähnlich wie beo roommates, das ausgibt, wieviele Personen gerade zuhause sind.
Im Moment behelfe ich mir mit folgender Abfrage, aber als Reading mit Events wäre das natürlich viel eleganter!
{scalar devspec2array("TYPE=SONOSPLAYER:FILTER=transportState=PLAYING:FILTER=currentTrackProvider!=Gruppenwiedergabe.*") }
Ich möchte die Sprachausgabe nur dann starten, wenn maximal 1 Player im ganzen Haus gerade spielt....
Zitat von: Reinerlein am 25 Januar 2016, 22:57:57
Ich bin gerade noch dabei, herauszufinden, ob man einfach ein MP3 mit ID3v2-Tag erkennen kann. Meine MP3s haben immer einen solchen Tag, und kommen deshalb nicht als Ergebnis zurück... ist aber nicht Kriegsentscheidend...
Den Satz verstehe ich nicht ganz?!?
Hi JoeALLb,
das mit den gerade spielenden Playern schaue ich mir mal an.
Der Satz mit dem ID3v2-Tag bezog sich auf die neue Rückgabemöglichkeit bei Kommandos.
Dort wird die Rückgabe des Kommandos einer Identifikation unterzogen, um zu erkennen, ob ein Audio-Stream zurückgegeben werden soll.
Diese Erkennung funktioniert nicht, wenn die Rückgabedaten eine MP3-Datei mit ID3v2-Tag sind. Ob das oft vorkommt sei mal dahingestellt (deswegen ja auch nicht soo wichtig), aber der vollständigkeithalber sollte es noch dazu...
Grüße
Reiner
Super Modul - das Einrichten ging einfach, die ersten Nachrichten waren schnell geschickt. Und dann, dann kam mein Problem: Ich hätte nicht gedacht, mit dem Bot den FHEM in eine Boot-Endlosschleife zu schicken...
Meine Konfig:
#
# Telegram Interface
#
define TeleBot TelegramBot xxxxxxxxxxxxxxxxxxxxx
attr TeleBot cmdKeyword doit
# entspricht Account xxxx
attr TeleBot cmdRestrictedPeer 11111111
attr TeleBot defaultPeer xxxx
attr TeleBot pollingTimeout 20
attr TeleBot favorites shutdown restart
attr TeleBot cmdFavorites /short
Ich habe mir also einen Favoriten auf das 'shutdown restart' Kommando vom FHEM angelegt, ich dachte, es sei eine gute Idee, den FHEM bei Problemen per Kommando in den Reboot zu senden; schön. Am Telefon mittels '/short' im Telegram die Liste der Favoriten abgefragt, gewartet, das die Antwort kommt und gewundert, dass das Webinterface vom FHEM im Browser weg war.
Meine Lösungsversuche:
Reboot RasPi - negativ
Stop FHEM (sudo /etc/init.d/fhem stop); in der fhem.cfg alle Einträge vom TeleBot entfernen - negativ; Irgend ein Prozess setzt das Konfig File wieder auf den alten Stand, sobald ich den FHEM wieder starte und die Schleife geht weiter.
Steht auch schön im Logfile:
2016.01.27 21:29:27 0: Server shutdown
2016.01.27 21:29:30 1: Including fhem.cfg
2016.01.27 21:29:31 3: telnetPort: port 7072 opened
2016.01.27 21:29:31 3: WEB: port 8083 opened
2016.01.27 21:29:31 3: WEBphone: port 8084 opened
2016.01.27 21:29:31 3: WEBtablet: port 8085 opened
2016.01.27 21:29:31 2: eventTypes: loaded 48 events from ./log/eventTypes.txt
2016.01.27 21:29:31 3: Opening CUL433 device /dev/ttyACM0
2016.01.27 21:29:32 3: Setting CUL433 serial parameters to 9600,8,N,1
2016.01.27 21:29:32 3: CUL433 device opened
2016.01.27 21:29:32 3: CUL433: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2016.01.27 21:29:32 1: HMLAN_Parse: HMUSB new condition disconnected
2016.01.27 21:29:32 3: Opening HMUSB device 127.0.0.1:1234
2016.01.27 21:29:32 3: HMUSB device opened
2016.01.27 21:29:32 1: HMLAN_Parse: HMUSB new condition init
2016.01.27 21:29:32 0: Server shutdown
2016.01.27 21:29:35 1: Including fhem.cfg
Wer kann mir helfen, den Wahnsinn zu stoppen?
Als letzten Notnagel habe ich ein dd der kompletten SD auf dem NAS, da will ich aber jetzt noch nicht ran.
Eine Frage noch: Wie kann man so etwas (Restart FHEM per Telegram) besser als ich lösen? Oder besser gar nicht?!?
Vielen Dank im Voraus!
Peter
Zitat von: PSI69 am 27 Januar 2016, 21:50:10
Super Modul - das Einrichten ging einfach, die ersten Nachrichten waren schnell geschickt. Und dann, dann kam mein Problem: Ich hätte nicht gedacht, mit dem Bot den FHEM in eine Boot-Endlosschleife zu schicken...
Aua, jetzt dachte ich durch Erwähnung in der commandref und Abfangen des Befehls alles gemacht zu haben, aber jetzt stelle ich fest, dass ich nur auf shutdown selbst überprüfe. Das muss ich wohl noch Ändern.
2 Varianten:
- In Github ist eine neue Version, die den Shutdown-Befehl abfängt - Diese kannst Du manuell über die jetzige drüberkopieren dann müsste es aufhören
- Den Perl-Prozess selbst per kill beenden und dann die Änderung an der cfg durchführen, dann sollte auch Ruhe sein. Eigentlich musst Du in der cfg auch nur das Attribut für cmdRestrictedPeer auf einen unbekannten peer setzen (nicht löschen)
Johannes
Zitat von: Reinerlein am 27 Januar 2016, 11:39:48
Der Satz mit dem ID3v2-Tag bezog sich auf die neue Rückgabemöglichkeit bei Kommandos.
Dort wird die Rückgabe des Kommandos einer Identifikation unterzogen, um zu erkennen, ob ein Audio-Stream zurückgegeben werden soll.
Diese Erkennung funktioniert nicht, wenn die Rückgabedaten eine MP3-Datei mit ID3v2-Tag sind. Ob das oft vorkommt sei mal dahingestellt (deswegen ja auch nicht soo wichtig), aber der vollständigkeithalber sollte es noch dazu...
Ich habe mir das gerade nochmal angeschaut, ja ich habe ja MP3 bereits vorbereitet, allerdings nicht mit den ID3v2 tags. Problem ist dass diese Datein mit
ID3 anfangen und das war mir zu unsicher, da dieser Text auch mal am Anfang von normalen RÜckgaben/Nachrichten auftreten kann.
Ich habe jetzt mal einiges an MP3-Files angeschaut und bei meinen Versuchen würde eine Erkennung mit folgendem regexp gehen:
$msg =~ /^ID3.\x00/
Ich habe das mal so in github eingechecked, vielleicht reicht das ja aus?
Johannes
Hallo Johannes,
danke für die schnelle Antwort zu später Stunde!
Und, wer lesen kann, ist wie immer im Vorteil... in der commandref ist klar die Endlosschleife erwähnt.
Ich habe das aktuelle File und spiele das dann mal ein.
Peter
Hi Johannes,
das war auch einer meiner ersten Gedanken. Allerdings ist diese \x00 ein Teil der Versionsnummer des ID3-Tags, und könnte damit auch mal ungleich 0 sein :)
Unter http://id3.org/id3v2.3.0#ID3v2_header (http://id3.org/id3v2.3.0#ID3v2_header) gibt es eine Beschreibung des 10Byte Headers. Demnach ist dort am Anfang lediglich die ID3-Textfolge fest.
Meine Idee ging jetzt in die Richtung, dass ich diese 10 Bytes auslese, die Position für den Anfang des eigentlichen MP3-Files ausrechne (die Anzahl der Bytes für den ID3-Tag selbst stehen mit im Header), und dort die eigentlichen MP3-Identifiier suche... Ich komme da aber momentan nicht zu...
Grüße
Reiner
Hallo Reiner,
klasse mit dem PNG. Das habe ich schon lange gesucht!
Interesse halber, wo befindet sich den
/tmp genau?
Im Root unter /tmp sehe ich bei mir keine PNGs.
Zitat von: Reinerlein am 23 Januar 2016, 12:57:15
Dabei bleiben aber Reste im tmp-Ordner übrig, die man irgendwann mal wegräumen könnte/müsste. Da der Plot jeweils nur eine Datei übrig lässt, bleibt das aber im Rahmen...
Grüße
Reiner
Gruß
Gerd
Zitat von: Reinerlein am 28 Januar 2016, 09:42:48
Hi Johannes,
das war auch einer meiner ersten Gedanken. Allerdings ist diese \x00 ein Teil der Versionsnummer des ID3-Tags, und könnte damit auch mal ungleich 0 sein :)
Unter http://id3.org/id3v2.3.0#ID3v2_header (http://id3.org/id3v2.3.0#ID3v2_header) gibt es eine Beschreibung des 10Byte Headers. Demnach ist dort am Anfang lediglich die ID3-Textfolge fest.
Meine Idee ging jetzt in die Richtung, dass ich diese 10 Bytes auslese, die Position für den Anfang des eigentlichen MP3-Files ausrechne (die Anzahl der Bytes für den ID3-Tag selbst stehen mit im Header), und dort die eigentlichen MP3-Identifiier suche... Ich komme da aber momentan nicht zu...
Grüße
Reiner
Da ich die Analyse auf die verschiedenen Dateiformate bei jeder Nachricht durchführen muss, will ich vermeiden, dass das zuviel Rechenaufwand verbraucht. Ich habe deshalb jetzt mal auf die aktuell verwendeten/definierten ID3V2-Versionen geprüft
(Also 2.2.x / 2.3.x / 2.4.x wobei 2.4.x wohl noch relativ wenig in Benutzung sind)
Johannes
Die aktuelle Version 1.4 ist jetzt auch im SVN abgelegt und dann mit dem nächsten FHEM Update verfügbar.
Wesentliche Änderungen:
Das Empfangen von Mediendateien im Bot (Bilder, etc). Sobald ein solcher Empfangen wird, kann man über einen weiteren Aufruf den URL zur Datei (bei Telegram) erhalten. Dieser URL ist nur temporär verwendbar.
Achtung: Der URL enthält dann auch das TelegramBot AuthToken!
Das Senden von Mediendateien direkt im Aufruf ohne den Umweg erst eine Datei anlegen zu müssen. Das Dateiformat wird dabei aus dem Stream abgeleitet (MP3, PNG, JPG, PDF und Office-Docs sind unterstützt).
Hallo Gerd,
der Ordner liegt auf oberster Ebene (deshalb ja mit einem "/" beginnend :) ).
Mittels
ls -la /tmp/plot_*.png
kannst du dir die bereits erzeugten Dateien (zumindest wenn du mein Codebeispiel übernommen hast) auflisten lassen.
Wie gesagt, räumt sich das nicht von selber auf, ist aber schon mal an einer Stelle, die für temporäre Dateien vorgesehen ist :)
Grüße
Reiner
Hallo Reiner,
ich bin gerade etwas verwundert.
Ich habe als Favoriten z.B. folgendes in meinem Bot stehen :
Zitat/Luftdruck={plotAsPng('SVG_log_LI_28_A3D984001605_1')}
Damit und zu allen anderen Sensoren kann ich mir jeweils ein Bild der Aufzeichnung schicken lassen.
Diese Zeile habe ich in der Hilfe zum TelegramBot gesehen.
Nun bin ich davon ausgegangen das dies irgend wie mit deinem Perl-Beispiel aus der 99_myUtils.pm zusammen hängt.
Nach dem ich aber in dieser alles auskommentiert habe, geht die Funktion weiter hin.
Ich hatte dein Beispiel kopiert und nach Misserfolg noch die Library wie geschrieben installiert und dann tat es.
Erst als ich noch ein Text mit ausgeben wollte um zu sehen wo den bei mir das /tmp ist, habe ich bemerkt das die
Zeilen in der 99_myUtils.pm gar nicht angesprochen werden ::).
Und bin nun der Meinung das dein Beispiel nichts mit meinem Befehl und folglich auch nichts mit den Temp-Verzeichnis zu tun hat ???
Den ich hatte in deinem Beispiel bei mir vergessen den Bot umzubenennen.
Und war kurz erstaunt das es überhaupt funktionierte.
Demnach hat Johannes die Funktion in den TelegramBot eingebaut.
Wen dem so ist, kann natürlich auch nichts im /tmp stehen bleiben , hatte mit dem MC auf dem RPi gesucht und nichts gefunden :)
Aber für weitere Beispiele ist das auch praktisch. Programmiere zwar sporadisch etwas in Perl, aber das FHEM-Spezielle
erschliesst sich mir nicht immer sofort.
Danke fürs zuhören.
Gruss
Gerd
Hallo Gerd,
da hast du recht. Mittlerweile kann das TelegramBot-Modul direkt binäre Ergebnisse versenden. Dazu wird direkt im binären Stream geschaut, was für ein Typ das Ergebnis ist, damit die Antwort korrekt gemeldet werden kann.
Die Funktion "plotAsPng()" kommt direkt aus dem zentralen SVG-Modul. Allerdings muss man besagte Library in Perl nachinstallieren...
Mein "sendPlot()"-Beispiel ist nur noch für die Suppe :) Der einzige Vorteil ist noch, dass man direkt einen Text mitgeben kann, der dann unter dem Plot dargestellt wird. Ich lasse mir z.B. täglich Morgens die Aussentemperaturkurve der letzten 24 Stunden zusenden. Solche Infos sende ich mir gerne mit einem Untertitel, um mitzuteilen, warum das nun gesendet wurde...
Die neue Variante verwende ich für meine direkten Anweisungen für Plots, die ich gerne sehen möchte, aber keine große Vorbereitung getroffen habe. Da steht dann ja auch mein Befehl im Chat direkt drüber, und ich weiß, warum ich das Ergebnis erhalte :)
Grüße
Reiner
Zitat von: Maista am 08 Februar 2016, 22:36:00
Den ich hatte in deinem Beispiel bei mir vergessen den Bot umzubenennen.
Und war kurz erstaunt das es überhaupt funktionierte.
Demnach hat Johannes die Funktion in den TelegramBot eingebaut.
Wen dem so ist, kann natürlich auch nichts im /tmp stehen bleiben , hatte mit dem MC auf dem RPi gesucht und nichts gefunden :)
Aber für weitere Beispiele ist das auch praktisch. Programmiere zwar sporadisch etwas in Perl, aber das FHEM-Spezielle
erschliesst sich mir nicht immer sofort.
Ich kann zumindest folgendes erhellen:
Die Funktion plotAsPng stammt eigentlich aus dem SVG-Modul, ich habe nur die Möglichkeit in TelegramBot eingebaut, dass Daten direkt an den Bot übergeben werden können, die dann als Bilder/Audio oder Dokument über Telegram versendet werden, ohne dass man erst eine Datei erzeugen muss.
Johannes
Hallo zusammen,
danke für Eure Antworten.
Ich hatte mich schon gewundert das ich etwas in die 99_myUtils.pm rein schreibe welches dann nicht per Bot aufgerufen wurde :=)
Aber so ist das ganze doch wesentlich einfacher.
Vielleicht kann Johannes bei Gelegenheit noch die Möglichkeit schaffen ein Kommentar dem Bild mit zu geben ::)
Danke
Gerd
Hallo Gerd,
natürlich kann das das Modul bereits (deswegen kann ich es ja in meiner "sendPlot()" verwenden).
Nur geht das natürlich nicht bei einer Antwort eines Perl-Aufrufs. Der Aufruf kann ja nur ein Ergebnis liefern. Hier wären aber zwei notwendig. Und dann müsste vermutlich irgendwo noch stehen, was denn für ein Text mitgesendet werden sollte...
Grüße
Reiner
Hallo Johannes,
besteht die Möglichkeit, dass das Modul Nachrichten für den Versand puffert, wenn gerade keine Verbindung zum Internet besteht?
Ich habe momentan eine halbdefekte Fritzbox im Betrieb (der Austausch zieht sich leider hin) die in unmotivierten Zeitabständen das Internet neu verbindet. Wenn gerade in einem solchen Zeitraum eine Message versendet werden sollte, wird sie nach einer Timeout-Fehlermeldung verworfen...
Grüße
Reiner
Hallo Johannes,
ich schon wieder :)
Ich baue gerade eine ganze Menge Mitteilungen in mein System ein. Momentan geht das nur an mich, allerdings besteht so langsam ein Bedarf, dass manche Mitteilung auch an andere Familienmitglieder gesendet wird.
Dafür wäre es viel einfacher, wenn man dem Modul eine (bzw. mehrere) Gruppe(n) definieren könnte, die man beim Versenden der Nachrichten angibt, und einfach nachträglich zentral am Modul anpassen könnte.
Dabei wollte ich absichtlich nicht auf einen bestimmten Chat zurückgreifen, sondern das ganze Fhem-intern abwickeln.
Man könnte z.B. ein Attribut definieren:
attr telegram sendGroups &Fenster:@Nutzer1,@Nutzer2 | &Türen:@Nutzer1,@Nutzer3 | &Batterien:@Nutzer2,@Nutzer4
Dann könnte man eine Nachricht an diesen Empfängerkreis senden mit
set telegram msg &Batterien Die Batterie von Device xyz ist leer!
Wobei das absichtlich jeweils eine eigene Kopie an jeden Empfänger ist, und somit äquivalent zu
set telegram msg @Nutzer2 @Nutzer4 Die Batterie von Device xyz ist leer!
wäre.
Dafür kann man später sehr einfach den Empfängerkreis für Batteriemeldungen anpassen, ohne bei den einzelnen Meldungen eine Anpassung vornehmen zu müssen...
Ich kann dich da auch gerne unterstützen :)
Grüße
Reiner
Zitat von: Reinerlein am 13 Februar 2016, 15:45:31
Hallo Johannes,
ich schon wieder :)
Ich baue gerade eine ganze Menge Mitteilungen in mein System ein. Momentan geht das nur an mich, allerdings besteht so langsam ein Bedarf, dass manche Mitteilung auch an andere Familienmitglieder gesendet wird.
Dafür wäre es viel einfacher, wenn man dem Modul eine (bzw. mehrere) Gruppe(n) definieren könnte, die man beim Versenden der Nachrichten angibt, und einfach nachträglich zentral am Modul anpassen könnte.
Dabei wollte ich absichtlich nicht auf einen bestimmten Chat zurückgreifen, sondern das ganze Fhem-intern abwickeln.
Man könnte z.B. ein Attribut definieren:
attr telegram sendGroups &Fenster:@Nutzer1,@Nutzer2 | &Türen:@Nutzer1,@Nutzer3 | &Batterien:@Nutzer2,@Nutzer4
Dann könnte man eine Nachricht an diesen Empfängerkreis senden mit
set telegram msg &Batterien Die Batterie von Device xyz ist leer!
Wobei das absichtlich jeweils eine eigene Kopie an jeden Empfänger ist, und somit äquivalent zu
set telegram msg @Nutzer2 @Nutzer4 Die Batterie von Device xyz ist leer!
wäre.
Dafür kann man später sehr einfach den Empfängerkreis für Batteriemeldungen anpassen, ohne bei den einzelnen Meldungen eine Anpassung vornehmen zu müssen...
Ich kann dich da auch gerne unterstützen :)
Grüße
Reiner
Kein Problem: Anregungen sind immer willkommen!
Ich verstehe Deine Anfrage und auch, warum Du keine Chat-Id verwenden willst. Aber eigentlich gibt es doch dafür extra Gruppen in Telegram? Mir ist jetzt noch nicht klar, welchen Nutzen eine eigene Gruppenverwaltung im FHEM-Modul bieten würde. Ich arbeite bei mir fast nur mit den Benutzerids und das ist sicherer aber natürlich nicht sehr nutzerfreundlich.
Also die Frage, warum keine Telegram-Benutzergruppen dafür verwenden?
Johannes
Zitat von: Reinerlein am 09 Februar 2016, 13:52:12
Hallo Johannes,
besteht die Möglichkeit, dass das Modul Nachrichten für den Versand puffert, wenn gerade keine Verbindung zum Internet besteht?
Ich habe momentan eine halbdefekte Fritzbox im Betrieb (der Austausch zieht sich leider hin) die in unmotivierten Zeitabständen das Internet neu verbindet. Wenn gerade in einem solchen Zeitraum eine Message versendet werden sollte, wird sie nach einer Timeout-Fehlermeldung verworfen...
Grüße
Reiner
Ahh, das macht natürlich Sinn. Wenn man sich auf Telegram als Info zu wichtigen Ereignissen verlassen soll, dann sollte es eine Art "guaranteed delivery" geben.
Fragen dazu:
- Ich würde allerdings trotzdem eine Art "timeout" oder max-retries vorsehen, also wenn nach einer bestimmten Zeit oder eine bestimmten Anzahl von Versuchen kein durchkommen ist, wird aufgegeben? (meine Vorstellung wäre default ist 24h)
- Sollten die gepufferten Meldungen auch einen Neustart überleben? - Mein Vorschlag: erstmal nicht
Gruss,
Johannes
Hi Johannes,
danke schon mal für deine Reaktion.
zu den Gruppen: Ich wollte die wirklichen Empfänger im Prinzip darüber im unklaren lassen, wer die Nachricht noch so alles bekommen hat. Wenn ich eine Gruppe bei Telegram richtig verstehe, dann sieht jeder ja, wer noch enthalten ist, und man bekommt bei Veränderungen auch immer Nachrichten darüber (was im Normalfall nun ja auch wirklich sinnvoll ist).
Ich wollte (sind ja hauptsächlich meine Familienmitglieder) nicht mit zusätzlichen Infos spammen, sondern, sozusagen im Untergrund, die Zustellungsgruppen anpassen können.
Zu dem Buffer: Ich denke auch, dass es im ersten Schritt keinen Neustart überstehen muß, und ein 24h Timeout tut auch nicht weh und erscheint mir ebenfalls sinnvoll. Dann bereinigt sich das System auf jeden Fall selber. Die seltenen Fälle von Neustart (wegen Update oder so) dürfen dann halt nicht mit fehlendem Internet zusammenfallen :).
Mein Fhem läuft ja stabil (auch wenn die Perfomance wegen des sporadisch fehlenden Internets stark absinkt), nur mein Internet momentan überhaupt nicht :(
Ich bin da gerade sicherlich auch ein Sonderfall, aber auch der normale 24h-Trenner kann ja im ungünstigsten Fall zu einer Nachrichtenverhinderung führen...
Grüße
Reiner
Hallo Reiner,
bei den Gruppen bin ich noch nicht überzeugt, ich tue mich da etwas schwer, die Funktionalität von Telegram im Modul zu doppeln. Bei mir sollen auch alle potentiellen Empfänger mitbekommen, wenn Sie Teil einer Gruppe/Verteilerliste sind (eigentlich sollen Sie sich auch selber aus der Liste entfernen können).
Ist es möglich das innerhalb von FHEM z.B. mit dem msg-Befehl abzuwickeln?
Die Änderung zum Resend habe ich mal vorbereitet, dabei ist mir aber klar geworden, dass es verschiedene Fälle gibt:
a) Fehler, die in FHEM liegen -> Hier möchte man kein retry, damit man die Fehlermeldung sofort lösen kann
b) Temporäre Fehler (timeout, Netzwerkfehler wie bei Dir, etc) -> Retry macht Sinn
c) Generelle Fehler (Account falsch, Format nicht unterstützt etc) -> Eigentlich kein Retry
Nur im Fall b möchte man einen Retry haben. Da ich das gerne unterscheiden möchte, wäre die Frage welche Fehlermeldung bekommst Du denn bei Netzwerkfehlern (in sentMsgResult?
Johannes
Hi Johannes,
das mit den Gruppen ist auch nicht Kriegsentscheidend. Da die meisten meiner Nachrichten mit einem umliegenden DOIF versendet werden, habe ich ja sehr einfachen Zugriff auf Readings von Devices. Ich lege mir einfach zu jeder "Gruppe" ein Reading mit den Benutzern an, wie es beim "set telegram msg"... als erstes geschrieben werden muss, und kann damit meine Gruppen intern im Reading verwalten...
Ich würde das auch nicht Gruppenverwaltung nennen, sondern eher als Zweck-Alias für einen oder mehrere Benutzer sehen. Damit kann ich locker leben... es sollte ja nur ein Vorschlag sein...
Zu dem ausfallenden Internet:
Ich habe das mal gerade beobachtet. Erst steht dort ein "WAITING" drin, und nach kurzer Zeit (vielleicht 20-60s, ich habe leider nicht auf die Uhr gesehen) dann "NonBlockingGet: returned connect to to https://api.telegram.org:443 timed out" (mit dem doppelten "to").
Wie möchtest du denn a) erkennen? Zwischen b) und c) sehe ich ja noch eine gute Differenzierbarkeit, aber bei a) hört die Erkennbarkeit doch auf, oder? Sonst könntest du mit deinem Code ja die allgemeine Fehlersuche in Fhem revolutionieren :)
Grüße
Reiner
Zitat von: Reinerlein am 15 Februar 2016, 13:09:05
Zu dem ausfallenden Internet:
Ich habe das mal gerade beobachtet. Erst steht dort ein "WAITING" drin, und nach kurzer Zeit (vielleicht 20-60s, ich habe leider nicht auf die Uhr gesehen) dann "NonBlockingGet: returned connect to to https://api.telegram.org:443 timed out" (mit dem doppelten "to").
Wie möchtest du denn a) erkennen? Zwischen b) und c) sehe ich ja noch eine gute Differenzierbarkeit, aber bei a) hört die Erkennbarkeit doch auf, oder? Sonst könntest du mit deinem Code ja die allgemeine Fehlersuche in Fhem revolutionieren :)
Hallo Reiner,
das mit der Meldung hilft, denn das entspricht der Meldung, die ich bei mir provoziert habe.
Bei a) war ich vielleicht nicht ausführlich genug. Ich meinte damit, wenn beim Erstellen der Daten innerhalb von FHEM für den Request ein Problem auftritt (Content zu lang, Contact nicht bekannt, etc), ist das voraussichtlich nicht selbstreparierend. Es gibt die Phase in dem die Daten für den Request zusammengestellt werden, bevor der eigentliche Request an die HTTPUtils/http-nonblocking get übergeben wird. Diesen Fall kann ich im Code natürlich unterscheiden. Sollte hier ein Problem auftreten würde ich keine Wiederholung versuchen.
Also keine Revolution, nicht mal besonders ausgefuchst...
Gruss,
Johannes
Zitat von: Reinerlein am 09 Februar 2016, 13:52:12
Hallo Johannes,
besteht die Möglichkeit, dass das Modul Nachrichten für den Versand puffert, wenn gerade keine Verbindung zum Internet besteht?
Ich habe momentan eine halbdefekte Fritzbox im Betrieb (der Austausch zieht sich leider hin) die in unmotivierten Zeitabständen das Internet neu verbindet. Wenn gerade in einem solchen Zeitraum eine Message versendet werden sollte, wird sie nach einer Timeout-Fehlermeldung verworfen...
Grüße
Reiner
@Reiner: So ich habe in github mal eine erste Version gestellt, die Nachrichten puffert und weider versendet in abgestuften Intervallen.
Es gibt esin Attribut maxRetries, bei dem man die Werte 0 (kein erneuter Versuch) bis 5 (5 weitere Sendeversuche) einstellen kann. Der erste Neuversuch findet nach 10s statt, dann nach 100s, 1000s(15min), 10000(~3h), ~1tag
Johannes
Ich habe zur Zeit immer das Problem das sich mein FHEM verabschiedet mit folgender Fehlermeldung im Log:
2016.02.21 00:00:17 3: TelegramBot_Callback Telegram: Digest: Number of poll failures on 2016-02-20 is :1:
Bizarre copy of ARRAY in scalar assignment at /usr/share/perl/5.14/Carp.pm line 140.
Kann sich das wer erklären?
Zitat von: ulli am 21 Februar 2016, 10:59:07
Ich habe zur Zeit immer das Problem das sich mein FHEM verabschiedet mit folgender Fehlermeldung im Log:
2016.02.21 00:00:17 3: TelegramBot_Callback Telegram: Digest: Number of poll failures on 2016-02-20 is :1:
Bizarre copy of ARRAY in scalar assignment at /usr/share/perl/5.14/Carp.pm line 140.
Kann sich das wer erklären?
Im ersten Moment bin ich mal überfragt, denn Carp ist ein perl-Core-Modul, dass vermutlich an verschiedenen Stellen indirekt zum Einsatz kommt.
Die TelegramBot-Meldung sagt eigentlich nur aus, dass über die letzten 24h nur einmal ein Problem beim Pollen von Nachrichten aufgetreten ist. Das ist also eher gut und eigentlich auch kein Fehler. Ob die danachfolgende Meldung damit zusammenhängt kann ich erstmal nicht beurteilen.
Du solltest mal global
stacktrace einschalten, um damit mehr Info über den Verursacher zu bekommen. Ausserdem wäre es gut bei Telegram mal das Attribut
verbose auf den Wert 5 zu setzen, um festzustellen, wo möglicherweise das Problem auftritt.
Hi,
ich versuceh auch gerade, das Modul einzurichten.
Leider (, leider) ist fhem bei mir auf einem Windows-PC installiert und ich habe SSL-Probleme.
Nachrichten kommen weder rein, noch gehen sie raus. Über den Browser funktioniert es.
Ich habe diese beiden sslVersion-Einstellungen ausprobiert:
TLSv12:!SSLv3
PollingLastError
NonBlockingGet: returned : Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error SSL wants a read first SSL connect attempt failed with unknown error SSL wants a read first
SSLv23:!SSLv3:!SSLv2
PollingLastError
NonBlockingGet: returned : Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed SSL connect attempt failed with unknown error error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Ich nutze ActivePerl 5.16.3.1603 und das IO-Socket-SSL-Package ist in der Version 1.955 (site) und 1.84 (perl) installiert.
Hat jemand eine Idee, was ich noch probieren könnte?
Danke + Gruß
Spiff.
Zitat von: Spiff am 21 Februar 2016, 17:16:33
Hi,
ich versuceh auch gerade, das Modul einzurichten.
Leider (, leider) ist fhem bei mir auf einem Windows-PC installiert und ich habe SSL-Probleme.
Nachrichten kommen weder rein, noch gehen sie raus. Über den Browser funktioniert es.
Ich habe diese beiden sslVersion-Einstellungen ausprobiert:
TLSv12:!SSLv3
PollingLastError
NonBlockingGet: returned : Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error SSL wants a read first SSL connect attempt failed with unknown error SSL wants a read first
SSLv23:!SSLv3:!SSLv2
PollingLastError
NonBlockingGet: returned : Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed SSL connect attempt failed with unknown error error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Ich nutze ActivePerl 5.16.3.1603 und das IO-Socket-SSL-Package ist in der Version 1.955 (site) und 1.84 (perl) installiert.
Hat jemand eine Idee, was ich noch probieren könnte?
Danke + Gruß
Spiff.
Ich habe leider jetzt aktuell keinen Windows-Rechner mit perl / FHEM, deshalb kann ich vermutlich nicht helfen. Die erste Meldung kommt aber zumindest auch unter Linux vor. Normalerweise tritt diese Meldung unter Linux nur gelegentlich auf (bei mir). Vielleicht ist das auch unter Windows nur ein sporadischer Fehler?
Vielleicht gibt es ja andere, die es unter Windows zum Laufen gerbacht haben?
Hi,
was mir vielleicht helfen würde, wäre, wenn jemand mir bestätigen könnte, dass es vielleicht mit den Versionen von IO::SOCKET::SSL, die ich drauf habe und der aktuellen fhem-Version nicht funktioniert.
Die aktuelle Version ist ja 2.024, die bekomme ich auf meiner Version von ActivePerl 5.16.3.1603 nicht installiert.
Ich kann Perl leider gerade nicht aktualisieren, weil dann wiederum ein anderes notweniges, aber veraltetes Package seinen Dienst versagt... ::)
Könnte jemand mal auf IO::SOCKET::SSL 1.84 und/oder 1.955 downgraden und sehen, ob es auf Nicht-Windows-Systemen dann läuft?
Nur, wenns nicht zu umständlich ist... ich habe leider kein anderes System zur Verfügung.
Danke + Gruß
Spiff
Hallo,
habe folgende Meldung im log gefunden:
keys on reference is experimental at ./FHEM/50_TelegramBot.pm line 319, <$fh> line 1323.
keys on reference is experimental at ./FHEM/50_TelegramBot.pm line 555, <$fh> line 1323.
keys on reference is experimental at ./FHEM/50_TelegramBot.pm line 972, <$fh> line 1323.
keys on reference is experimental at ./FHEM/50_TelegramBot.pm line 1831, <$fh> line 1323.
keys on reference is experimental at ./FHEM/50_TelegramBot.pm line 1841, <$fh> line 1323.
keys on reference is experimental at ./FHEM/50_TelegramBot.pm line 1941, <$fh> line 1323.
keys on reference is experimental at ./FHEM/50_TelegramBot.pm line 2006, <$fh> line 1323.
keys on reference is experimental at ./FHEM/50_TelegramBot.pm line 2020, <$fh> line 1323.
keys on reference is experimental at ./FHEM/50_TelegramBot.pm line 2024, <$fh> line 1323.
Hat jemand eine Idee was das zu bedeuten hat ?
Funktionieren tut das Modul wie gehabt, die Meldungen sind aber neu. Eventuell nach update von whezzy auf jessie aufgetaucht.
Gruß Holgi
@The-Holgi: Musste mich auch erst schlau machen, die Meldung ist neu mit perl 5.20. Sollte in diesem Fall nicht problematisch sein. Ich werde aber einen Fix machen, damit die Meldung nicht mehr auftauchen wird. Bei mir kommt sie wg. perl 5.14 nicht vor.
Danke für den Hinweis!
OK, Danke für die Info.
Gruß Holgi
@The-Holgi: Im Github ist eine neue Version, die keine Fehler mehr produzieren sollte (hoffentlich)...
Ausserdem habe ich eine neue Möglichkeit hinzugefügt bei Favoriten noch eine Sicherheitsabfrage vorzusehen, damit man nicht unabsichtlich einen Befehl verschickt. Dazu setzt man einfach ein Fragezeichen vor den Favoriten. Also steht dann in der Liste so etwas wie:
list mydummy; ?set confirmationdevice on; set justanotherdevice off
Beim Aufruf des 2. Favoriten wird dann erst eine Rückfrage gesendet (Keyboard mit Befehl oder Abbruch) und nur wenn die Bestätigung gesendet wird beginnt die Ausführung.
Wenn ich die "Confirmation" - Abbreche liefert er mir immer wieder das Confirmation Keyboard zurück zeigt mir also nicht mehr die Standard "Favorite" befehle ansonsten wäre das ein klasse feature, Vielen Dank!! :)
@speex: Ich konnte das bisher bei mir nicht nachstellen, kannst Du mir sagen wo und wie genau das auftritt?
Wenn Ich einen Befehl absetze und die "Sicherheitsfrage" bestätige oder abbreche - ist egal - zeigt er mir immer wieder die sicherheitsfrage anstatt das ursprüngliche "favorite-keyboard" mit dem "favorite-attribut-command" komm ich dann wieder raus und er liefert mir wieder das favorite keyboard. - hoffe das war jetzt nachvollziehbar. :)
Ich drück halt immer faul auf das quadrat mit den vier punkten. :D
@speex: Der entscheidende Hinweis war das Quadrat mit den 4 Punkten.
Leider ist das von Dir beobachtete Verhalten eigentlich ein Fehler im telegram client. Die Custom-Keyboards werden eigentlich nur einmal angezeigt und sollten dann wieder verschwinden, der Telegram-Client merkt sich immer das letzte und zeigt es bei Druck auf den Knopf mit den 4 Punkten an. Wenn das letzte Custom-Keyboard eben die Bestätigungsabfrage war, erscheint eben das bei Druck auf den Knopf.
Da ich kein Custom-Keyboard liefern kann, ohne dass es angezeigt wird, habe ich leider keine Möglichkeit das von Dir gewünschte Verhalten (Nach der Bestätigung wird ein Favorite-Keyboard gesendet aber nicht angezeigt) herzustellen.
Leider musst Du nach der Bestätigung noch einmal das favorite-cmd senden, damit das keyboard wieder erscheint.
Hi ja das habe ich zwischenzeitlich jetzt auch festgestellt irgendwie finde ich das etwas unglücklich ansonsten gefällt mir das feature sehr!
Mir gelingt es gerade nicht die Sprachausgabe per Sonos einzurichten mit Reinerleins Code Schnipsel, ich habe irgendwie das gefühl das die sub writeFile bei mir nicht greift wenn ich eine Sprachnachricht verschicke pausiert sonos kurz und macht dann weiter, im SonosSpeak ordner werden auch keine Files angelegt hat da jemand Rat für mich? :)
get teleBot urlForFile AwADAgADGwAD8dhkB3yRUmTC2JwVAg : https://api.telegram.org/file/bot137804761:AAGTAIqmDanDgdX_Qf8zsEhPrZPPwidQakk/voice/file_19.oga
avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
/mnt/SonosSpeak/teleBot_file_19.oga: No such file or directory
Mein notify sieht wie folgt aus:
teleBot:msgText:.received.voice.* {
my $url = fhem("get $NAME urlForFile ".ReadingsVal($NAME, 'msgFileId', ''));
my $fileName = "${NAME}_$1" if ($url =~ m/.*\/(.*)/);
my $newFileName = "$1.mp3" if ($fileName =~ m/(.*)\..*/);
writeFile('/mnt/SonosSpeak/'.$fileName, get($url));
qx(/usr/bin/avconv -i /mnt/SonosSpeak/$fileName /mnt/SonosSpeak/$newFileName);
fhem('set '.ReadingsVal($NAME, 'currentSpeakPlayer', 'tmperror').' PlayURITemp \\\\192.168.0.132/SonosSpeak/'.$newFileName.' '.ReadingsVal($NAME, 'currentSpeakVolume', 5));
}
Hallo zusammen,
weiß jemand ob Supergruppen https://telegram.org/blog/supergroups5k (https://telegram.org/blog/supergroups5k) unterstützt werden?
Danke und Grüße
Christian
@christian.uhlmann: Kann leider keine Aussage dazumachen, da ich keine meiner Gruppen bisher umwandeln konnte und eine Option für neue Gruppen habe ich auch bishe rnicht gefunden. Also: ist ungetestet
Erst mal ein lob für das tolle Modul :D
ich setze das Modul als Meldung ans Handy über einen DOIF ein.
Heute ist jetzt das erste mal folgendes passiert:
TelegramBot_DoUrlCommand XXXBot: FAILED http access returned error :https://api.telegram.org/botxyz:abc/getMe: Can't connect(2) to https://api.telegram.org:443:
SSL wants a read first:
Ich hab gesehen das ein Retry zum Senden geplant ist.
Wie weit ist denn das fortgeschritten ?
Beziehungsweise würde dieser Fehler auch zu einem retry führen?
Schnitzelbrain
Zitat von: schnitzelbrain am 19 März 2016, 19:12:36
Erst mal ein lob für das tolle Modul :D
ich setze das Modul als Meldung ans Handy über einen DOIF ein.
Heute ist jetzt das erste mal folgendes passiert:
TelegramBot_DoUrlCommand XXXBot: FAILED http access returned error :https://api.telegram.org/botxyz:abc/getMe: Can't connect(2) to https://api.telegram.org:443:
SSL wants a read first:
Ich hab gesehen das ein Retry zum Senden geplant ist.
Wie weit ist denn das fortgeschritten ?
Beziehungsweise würde dieser Fehler auch zu einem retry führen?
Die Fehlermeldung kann ich leider auch nicht erklären, sie scheint gelegentlich aufzutreten ist aber bei mir bisher immer nur sporadisch aufgetreten. Ich vermute es gibt gegentlich Probleme beim Aufbau der SSL-Verbindung, es gibt aber wohl keine Möglichkeit das zu verhindern.
Normalerweise sollte ein solcher Fehler zum retry führen, das konnte ich aber nicht ausprobieren, da ich den Fehler bisher immer nur beim Lesen gehabt habe,
Neue Version kommt morgen
Neue Version 1.5 ist soeben in SVN gewandert und wird ab morgen verteilt. Im wesentlichen sind nur die bereits hier beschriebenen Erweiterungen:
- retry - Mit attribut maxRetries kann man steuern, dass Sendeversuche (max 5 mit abgestuftem Intervall) wiederholt werden
- Bestätigungsdialog für favorite Kommandos
Zitat von: christian.uhlmann am 17 März 2016, 13:54:15
weiß jemand ob Supergruppen https://telegram.org/blog/supergroups5k (https://telegram.org/blog/supergroups5k) unterstützt werden?
So habe jetzt einige Tests mit supergruppen gemacht und auch noch eine neue Version in
github hochgeladen, die mit supergruppen umgehen kann. Also auch umgewandelte Gruppen neu als Kontakt erkennt und auch Nachrichten in diese Gruppen senden kann.
Pinning und andere Features in supergruppen sind aber über das bot api nicht verfügbar
Johannes
Zitat von: viegener am 19 März 2016, 22:54:59
Neue Version 1.5 ist soeben in SVN gewandert und wird ab morgen verteilt. Im wesentlichen sind nur die bereits hier beschriebenen Erweiterungen:
- retry - Mit attribut maxRetries kann man steuern, dass Sendeversuche (max 5 mit abgestuftem Intervall) wiederholt werden
- Bestätigungsdialog für favorite Kommandos
Na das passt ja super. ;D Danke für das update
Habs installiert, schau mer mal.
Grüße
Schnitzelbrain
Update, läuft seit gestern ohne Probleme hab den retry auf 2 gestellt.
Alle Meldungen gingen direkt durch, zumindest hab ich außer den success Polling Meldungen nix negatives gesehen.
Super arbeit ;D
Hallo Leute,
ich habe eben versucht TelegramBot in fhem zum laufen zu bekommen, leider stürzt fhem direkt ab, im log habe ich dann noch folgende Meldung :
2016.03.23 17:06:00 3: TelegramBot_Define TelegramBot: called
2016.03.23 17:06:01 2: TelegramBot_DoUrlCommand TelegramBot: FAILED http access returned error :https://api.telegram.org/botxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxx/getMe: Select timeout/error: :
Mein System habe ich noch mit 5.6 laufen und da alles ohne Probleme z.Z. läuft, möchte ich ungern ein Update machen oder ist das hierfür notwendig?
Grüße Marcel
Es kann sein, dass Deine FHEM-Version ziemlich alt ist und Du den telegrambot von Hand nachinstalliert hast?
Wenn das so ist, kann es sein, dass das nicht geht. Für telegramBot sind damals auch Änderungen an httpsrv gemacht worden, aber je nach Alter Deiner Installation kann es natürlich auch sein, dass andere Teile veraltet sind.
Sorry, ohne update kann ich Dir vermutlich nicht helfen, da ich jetzt keine alte Installation habe.
Der einzige Vorschlag wäre vielleicht auch eine aktuelle HTTPSRV nachzuinstallieren. Allerdings wäre es möglich, dass dann andere Dinge in der jetzigen Installation nicht mehr funktionieren.
Danke erstmal.
Ja hab ich per hand nachinstalliert.
Ich werde morgen mal die httpsrv aktualisieren.
Da ich eh heute ein gesamtes Image meiner ssd gemacht habe, kann ich ruhig mal was versuchen. ☺
Ansonsten muss ich halt mal den Versuch mit einem kompletten update wagen.
Zitat von: Ma_Bo am 23 März 2016, 20:53:17
Danke erstmal.
Ja hab ich per hand nachinstalliert.
Ich werde morgen mal die httpsrv aktualisieren.
Da ich eh heute ein gesamtes Image meiner ssd gemacht habe, kann ich ruhig mal was versuchen. ☺
Ansonsten muss ich halt mal den Versuch mit einem kompletten update wagen.
Ich würde sowieso eher vorschlagen ein komplettes update zu machen, das tut der Stabilität des Systems durchaus gut. Ausserdem ist ein regelmässiges Update normalerweise leichter zu "verdauen" als ein Update nach langer Zeit.
Ich habe jetzt mein Testsystem mal geupdatet und telegram läuft jetzt.
kann ich eigentlich auch Bilder an fhem senden?
Größe Marcel
Momentan experimentiere ich mit dem versenden von Plots.
Mittels aufruf via
ok fhem {plotAsPng("test_SVG")}
funktioniert das auch wunderbar.
Gibt es aber auch eine möglichkeit das direkt aus fhem heraus zu machen?
Inetwa:
set myTelegrambot sendImage {plotAsPng("test_SVG")}
Was ich sonst gefunden habe war von hier https://forum.fhem.de/index.php?topic=38842.0 (https://forum.fhem.de/index.php?topic=38842.0)
Plot2JPEG("Name des Plots", "/opt/fhem/log/wetter.jpg");
fhem("set WhatsAppDevice image /opt/fhem/log/wetter.jpg");
Aber das ist ja irgendwie doppelt gemoppelt, da der Bot das ja eigentlich unterstützt.
Grüße
igami
Hallo!
Habe bis dato keine Frage. Habe Telegram gestern installiert und alles funktioniert bisher wunderbar.
Möchte daher nur Danke sagen!
LG
Zitat von: Ma_Bo am 24 März 2016, 08:11:13
Ich habe jetzt mein Testsystem mal geupdatet und telegram läuft jetzt.
kann ich eigentlich auch Bilder an fhem senden?
Größe Marcel
Guter Punkt, ich habe vergessen das Get-Kommando getUrlForFile zu dokumentieren. Das muss ich noch nachreichen.
Du findest aber hier im Thread auch Beispiele für Mediendateien: https://forum.fhem.de/index.php/topic,38328.msg397729/topicseen.html#msg397729 (https://forum.fhem.de/index.php/topic,38328.msg397729/topicseen.html#msg397729) Das geht für Voicenachrichten genauso wie für Bilder.
Und hier ist die ursprüngliche Beschreibung: https://forum.fhem.de/index.php/topic,38328.msg394348/topicseen.html#msg394348 (https://forum.fhem.de/index.php/topic,38328.msg394348/topicseen.html#msg394348)
Zitat von: raimundl am 24 März 2016, 21:13:09
Hallo!
Habe bis dato keine Frage. Habe Telegram gestern installiert und alles funktioniert bisher wunderbar.
Möchte daher nur Danke sagen!
LG
Auch das ist sehr willkommen 8)
Super viegener, funktioniert und Danke für die schnellen Hilfen, die hier geleistet werden !!!
Jetzt noch ne Frage, ich habe Bilder auf einem anderen System, welches ich unter http://192.xxx.xxx.xx/plot2jpeg/aussentemperaturen.jpg erreichen kann.
Ist es möglich auch Bilder von einem entfernten System zu verschicken?
Ich habe schon set TelegramBot sendImage http://192.xxx.xxx.xx/plot2jpeg/aussentemperaturen.jpg
aber das funktioniert nicht.
Grüße Marcel
Zitat von: Ma_Bo am 25 März 2016, 10:58:32
Jetzt noch ne Frage, ich habe Bilder auf einem anderen System, welches ich unter http://192.xxx.xxx.xx/plot2jpeg/aussentemperaturen.jpg erreichen kann.
Ist es möglich auch Bilder von einem entfernten System zu verschicken?
Ich habe schon set TelegramBot sendImage http://192.xxx.xxx.xx/plot2jpeg/aussentemperaturen.jpg
aber das funktioniert nicht.
Grüße Marcel
Das Telegrambot-Modul unterstützt nur lokale Dateien. Ich würde das auch nicht so gerne ändern, da ich dann das lesen der Bildinhalte nicht mehr synchron machen kann, sonst würde ich FHEM u.U. blockieren, wenn die Netzwerkverbindung langssam ist. Bei normalen Dateien verlasse ich mich momentan darau, dass das schnell geht...
Folgende Möglichkeiten fallen mir ein, wie man das jetzt mit vorhandenen Mitteln lösen könnte:
1) Du könntest das entfernte "Verzeichnis" ins lokale Filesystem mounten -_> also z.B. auf Linux über SMB, wenn die entfernten Dateien auf einem Windowsserver liegen. Oder entsprechend auch über andere remotemounts (NTFS/WebDAV) etc.
2) Du könntest die Datei über einen Systembefehl (z.B. wget unter Linux) holen und damit eine lokale Datei holen.
3) Das Modul IPCAM lässt sich vielleicht auch dazu missbrauchen einfach nur die Bilddatei in einem lokalen Verzeichnis abzulegen und dann über den Event, den IPCAM bei snapshots schickt, den Versendebefehl für telegram triggern
Vielleicht hilft das schonmal?
Danke, ich werde es morgen mal mit dem wget versuchen, damit hab ich auch schon andere Dinge laufen.
Zitat von: viegener am 08 Juli 2015, 00:38:11
Ich habe heute mal eine fhemwiki-Seite für Telegram erstellt:
http://www.fhemwiki.de/wiki/Telegram (http://www.fhemwiki.de/wiki/Telegram)
gibts auch eines für 50_TelegramBot.pm ?
gruss
so, habe TelegramBot definiert, danach absturz von FHEM und dauernder reboot von FHEM! startet nicht mehr,was hats denn da auf sich.
gruss
so, nach neustart des raspi, und neuerlichem definieren von TelegramBot selbiges. Fhem stürtzt ab und bootet immer neu. Raspi muss neu gestartet werden.
Was mache ich falsch?
define Telegram TelegramBot user:api
Auszug aus logfile,
Undefined subroutine &main::HttpUtils_Close called at /opt/fhem/FHEM/50_TelegramBot.pm line 1813.
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 505, in run
self.__target(*self.__args, **self.__kwargs)
IOError: [Errno 104] Connection reset by peer
Zitat von: viegener am 21 September 2015, 16:58:26
So jetzt gibt es eine erste relativ stabile Version von einem telegramBot Modul für FHEM --> 50_TelegramBot.pm
Anbei findet sich der aktuelle Stand, im wesentlichen kann dieses Modul das meiste, was auch 70_Telegram (das aufh telegram-cli) aufsetzt macht. Also insbesonderen Senden und Empfangen von Textnachrichten, mit Auslösen von Kommandos und auch entsprechende Einschränkungen, wer kommunizieren darf. Ich habe im wesentlichen auch die Benennungen gleich gehalten. Folgende wesentliche Abweichungen sind mir bekannt:
+ Es ist keine andere Software notwendig, das Modul sollte demnach auch auf anderer Hardware funktionieren können (insbesondere kein telegram-cli
+ Es ist keine Rufnummer erforderlich für die Registrierung reicht die telegram BOT Registrierung wie hier beschrieben: https://core.telegram.org/bots (https://core.telegram.org/bots)
- Es können noch keine Bilder gesendet werden (Muss ich noch implementieren)
- Es gibt keine secret chats (im BOT API nicht enthalten)
- Bots können nicht von sich beliebige telgram user kontaktieren, die erste Kommunikation muss immer von einem normalen Telegram-Benutzer gestartet werden
o Das Attribut pollingTimeout muss auf einen Wert > 0 gesetzt sein, sonst wird nichts empfangen
Jetzt hoffe ich auf eifrige Fehlermeldungen...
Johannes
Hallo.
Genügt es wirklich nur die 50_TelegramBot.pm zu installieren?
Dann einfach define xxx und das wars?
Klappt bei mir leider nicht.
gruss
Hallo.
Kann es sein das es auf FHEM 5.6 nicht mehr läuft? Habe 2. fhem mit 5.7 und da lässt es sich definieren.
Gibts noch wo version für 5.6 ?
gruss
Zitat von: satprofi am 27 März 2016, 14:20:34
so, habe TelegramBot definiert, danach absturz von FHEM und dauernder reboot von FHEM! startet nicht mehr,was hats denn da auf sich.
gruss
so, nach neustart des raspi, und neuerlichem definieren von TelegramBot selbiges. Fhem stürtzt ab und bootet immer neu. Raspi muss neu gestartet werden.
Was mache ich falsch?
define Telegram TelegramBot user:api
Auszug aus logfile,
Undefined subroutine &main::HttpUtils_Close called at /opt/fhem/FHEM/50_TelegramBot.pm line 1813.
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 505, in run
self.__target(*self.__args, **self.__kwargs)
IOError: [Errno 104] Connection reset by peer
Das Problem hatten wir bereits eine Seite vorher, auf alten FHEM-Installationen ist eine manuelle Nachinstallation von aktuellen Modulen immer ein Glücksspiel. Der TelegramBot ist zwar unter 5.6 entwickelt worden aber setzt heute eine relativ aktuelle FHEM-Installation voraus.
Alle Module verwenden ja auch anderen Funktionen aus FHEM und Hilfsmodulen, wenn diese sehr alt sind ist die Nachinstallation nicht unbedingt erfolgreich.
Zitat von: Ma_Bo am 23 März 2016, 18:12:41
Hallo Leute,
ich habe eben versucht TelegramBot in fhem zum laufen zu bekommen, leider stürzt fhem direkt ab, im log habe ich dann noch folgende Meldung :
2016.03.23 17:06:00 3: TelegramBot_Define TelegramBot: called
2016.03.23 17:06:01 2: TelegramBot_DoUrlCommand TelegramBot: FAILED http access returned error :https://api.telegram.org/botxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxx/getMe: Select timeout/error: :
Mein System habe ich noch mit 5.6 laufen und da alles ohne Probleme z.Z. läuft, möchte ich ungern ein Update machen oder ist das hierfür notwendig?
Grüße Marcel
selbiges bei mir, auf einem 5.7 läufts.
Ich will auch nicht updaten, zuviel zum ändern.
Zitat von: viegener am 27 März 2016, 15:24:56
Das Problem hatten wir bereits eine Seite vorher, auf alten FHEM-Installationen ist eine manuelle Nachinstallation von aktuellen Modulen immer ein Glücksspiel. Der TelegramBot ist zwar unter 5.6 entwickelt worden aber setzt heute eine relativ aktuelle FHEM-Installation voraus.
Alle Module verwenden ja auch anderen Funktionen aus FHEM und Hilfsmodulen, wenn diese sehr alt sind ist die Nachinstallation nicht unbedingt erfolgreich.
ich habe es mit update 50_TelegramBot.pm installiert. Sollte doch normalerweise die version für 5.6 sein, wenn man aus 5.6 aufruft, odr nicht?
Zitat von: satprofi am 27 März 2016, 13:39:41
gibts auch eines für 50_TelegramBot.pm ?
gruss
Ja natürlich. Einfach ausprobieren geht schneller :D Also einfach mal in der fhemwiki-Suche telegrambot eingeben dann kommt man hin:
http://www.fhemwiki.de/wiki/TelegramBot (http://www.fhemwiki.de/wiki/TelegramBot)
Zitat von: satprofi am 27 März 2016, 15:26:51
ich habe es mit update 50_TelegramBot.pm installiert. Sollte doch normalerweise die version für 5.6 sein, wenn man aus 5.6 aufruft, odr nicht?
Nein, warum? Ein Update spielt die aktuelle Version ein.
Das Problem hat aber nichts mit 5.6 oder 5.7 zu tun, sondern vermutlich damit dass Deine Installation einfach recht alt ist (Veraltetes httpsrv)
Empfehlung bleibt: Auf aktuelle Version upzudaten und die Installation aktuell zu halten, mindestens solange man erweitert oder anpasst.
Zitat von: satprofi am 27 März 2016, 15:25:29
selbiges bei mir, auf einem 5.7 läufts.
Ich will auch nicht updaten, zuviel zum ändern.
Bei ma_bo läuft es nach dem Update:
Zitat von: Ma_Bo am 24 März 2016, 08:11:13
Ich habe jetzt mein Testsystem mal geupdatet und telegram läuft jetzt.
Ich lasse es mal auf dem 2. fhem laufen.
Noch ne frage zur telefonnummer, muss die telefonnummer bestehen bleiben? oder kann man eine einmalige zum anmelden nehmen.
ich habe da eine prepaid die noch 1 monat lang gilt.
gruss
Zitat von: satprofi am 27 März 2016, 15:44:32
Ich lasse es mal auf dem 2. fhem laufen.
Noch ne frage zur telefonnummer, muss die telefonnummer bestehen bleiben? oder kann man eine einmalige zum anmelden nehmen.
ich habe da eine prepaid die noch 1 monat lang gilt.
gruss
Für den TelegramBot wird keine Telefonnummer benötigt, Du musst nur einen Bot über den Botfather anmelden --> Siehe auch im wiki
Hallo.
Wiki hab ich vor mir, werd aber nicht schlau daraus. Habe jetzt mal einen Account angelegt, per App und /newbot.
User und Api kam an, hab ich auch bei definition eingetragen.
Ich hoffe das passt so. Aber wie versende ich jetzt nachrichten?
aus dem Beispiel vom Wiki 123456:Ralf_Mustermann:@ralf werd ich nicht schlau.
gruss
@satprofi:
123456:Ralf_Mustermann:@ralf
sind drei verschiedene Bezeichnungen für den selben Benutzer.
Viel wichtiger ist aber der Hinweis im wiki:
ZitatDer TelegramBot kann erst dann Nachrichten an einen telegram user schicken, wenn dieser zuerst an den telegram bot eine Nachricht gesendet hat.
Zitat von: satprofi am 27 März 2016, 16:20:31
Hallo.
Wiki hab ich vor mir, werd aber nicht schlau daraus. Habe jetzt mal einen Account angelegt, per App und /newbot.
User und Api kam an, hab ich auch bei definition eingetragen.
Ich hoffe das passt so. Aber wie versende ich jetzt nachrichten?
aus dem Beispiel vom Wiki 123456:Ralf_Mustermann:@ralf werd ich nicht schlau.
gruss
Einfach mit
set DeinBotName message @Ralf_Mustermann Den Text den du senden willst ohne Anführungsstriche
Kannst du auch in der FHEM Kommandozeile testen.
Vorher natürlich erst einmal von Ralf_Mustermann eine Nachricht an deinen Bot schicken.
Hallo.
Danke, aber da komm ich nicht weiter.
Habe mir aufs Handy eine Nachricht geschockt, kommt an. Aber welchen Namen trag ich beim defaultPeer ein? Den Usernamen von den Kontakten ? Das kennt TelegramPot nicht. "peer not found"
Zitat von: satprofi am 27 März 2016, 16:48:55
Hallo.
Danke, aber da komm ich nicht weiter.
Habe mir aufs Handy eine Nachricht geschockt, kommt an. Aber welchen Namen trag ich beim defaultPeer ein? Den Usernamen von den Kontakten ? Das kennt TelegramPot nicht. "peer not found"
Hast Du mal in die Doku geschaut, da sind zum Versenden von Nachrichten jede Menge Beispiele:
Normalerweise kannst Du die Kontakte in defaultPeer ähnlich angeben, allerdings ohne den (ERSTEN) führenden @
Also zum Beispiel
123456 für die User ID
oder
Ralf_Mustermanndoer
@ralf
hallo.
Ja, aber ich kann an den username @xxx nichts senden. ausser vom Handy, das findet den user über den username sofort. Wie empfange ich auf Fhem eine nachricht? darf der überhaupt den token vom handy nutzen?
gruss
@satprofi: Sorry, ich verstehe Deine Fragen nicht, bei 10 Fragen in so kurzer Zeit kann ich vielleicht nicht gut genug helfen oder DU solltest nochmal in aller Ruhe die Doku wiki und commandref überprüfen? Ansonsten: Kannst Du mal etwas genauer beschreiben wo es hängt und was bereits geht. Welchen Befehl gibst Du ein, wenn Du sendest, wie sieht der Botdevice aus (listing ohne authtoken) empfängt er Nachrichten korrekt?
Hallo.
So, dürfte klappen. Habe mir neuen Token senden lassen, und jetzt bekomme ich auch readings. Werde weitertesten bzgl. empfangen/senden.
Ich empfange jetzt nachrichten von extern, aber antworten auf diesen absender klappt nicht, "peer not found:xxxx"
so jetzt klappts. entweder bin ich doof, oder das wiki passt nicht.
Ich darf nicht an den Username senden, uach nicht an ID:Name:@username, sondern einfach auf name
set Message Name nachricht
Zitat von: satprofi am 27 März 2016, 18:11:34
Hallo.
So, dürfte klappen. Habe mir neuen Token senden lassen, und jetzt bekomme ich auch readings. Werde weitertesten bzgl. empfangen/senden.
Ich empfange jetzt nachrichten von extern, aber antworten auf diesen absender klappt nicht, "peer not found:xxxx"
so jetzt klappts. entweder bin ich doof, oder das wiki passt nicht.
Ich darf nicht an den Username senden, uach nicht an ID:Name:@username, sondern einfach auf name
set Message Name nachricht
Genau das habe ich doch gesagt:
Zitat von: viegener am 27 März 2016, 17:17:36
Hast Du mal in die Doku geschaut, da sind zum Versenden von Nachrichten jede Menge Beispiele:
Normalerweise kannst Du die Kontakte in defaultPeer ähnlich angeben, allerdings ohne den (ERSTEN) führenden @
Also zum Beispiel 123456 für die User ID
oder Ralf_Mustermann
doer @ralf
Dafür war das oder gedacht, nicht alle zusammen sondern nur eines der Elemente für defaultPeer und beim Senden, beim Senden aber ein zusätzlicher @ im befehl
nein, es klappt nicht mit @ auch nicht mit username von Telegram. Es kalappt nur mit dem Namen zw. den ::
Zitat von: satprofi am 27 März 2016, 18:33:12
nein, es klappt nicht mit @ auch nicht mit username von Telegram. Es kalappt nur mit dem Namen zw. den ::
Also nochmals im Detail, wenn der user name für Ralf Mustermann ralf ist, dann wird in den Kontakten das als @ralf angezeigt beim Message senden muss aber noch ein @ davorgesetzt werden also @@ralf oder auch
set mytelegrambot message @@ralf Eine nachricht
ralf muss natürlich durch einen gültigen user name ersetzt werden !
User name ist hier nicht Vorname_Nachname
Alternativ kann auch die User ID (nur ziffern oder führendes -) verwendet werden. Wenn diese 123456 ist, dann schreibt man
set mytelegrambot message @123456 Eine nachricht
So funktioniert das bei mir und soweit ich weiss auch bei anderen...
Hallo.
Ich
dachte es genügt das @. Aber man muss 2x @@ oben, und unten 1x @ eingeben. Sonst wird der standard Peer genommen und alles als Text.
Danke , jetzt hab ichs geschnallt.
Hoffentlich bleibt das Modul weiterhin so toll.
Also, wer (wie ich) seine Hautfheminstanz nicht updaten möchte, da alles ohne Probleme läuft (ich habe versucht ein update auf 5.7 zu machen und ich müsste einiges umstellen), dem bleibt die Möglichkeit die ich gewählt habe.
NUC mit FHEM 5.6 als Hauptinstanz
Raspberry mit FHEM 5.7 und ganz aktuell
auf dem Raspberry habe ich TelegramBot laufen, dann habe ich RFHEM auf beiden (NUC und Raspberry) installiert.
Nun kann ich über RFHEM alle Daten die ich benötige an von meinem Raspberry zum NUC schicken und alle Daten die ich brauche vom NUC zum Raspberry.
RFHEM ist nicht offiziell eingecheckt, findet man aber im WIKI beschrieben und funktioniert bei mir seit 3 Tagen ohne Probleme, einfach mal durchlesen und testen. Es funktioniert so ähnlich wie FHEM2FHEM.
Ich muss sagen, RFHEM ist eine RIESEN Erweiterung und nun kann ich Daten ohne Probleme hin und her senden.
Zu TelegramBot kann ich nur sagen, super Sache und 1000 mal besser als WhatsApp, bei WhatsApp muss man ja immer nachfrickeln und hoffen, dass es noch läuft, da es offiziell ja nicht unterstütz wird.
Ich kann jedem nur empfehlen sich mit TelegramBot zu beschäftigen, wenn es nicht direkt funktioniert, nicht aufgeben, es lohnt sich.
Vielen DANK an viegener, für dieses super Modul !!!
Grüße Marcel
Hallo, Danke.
Ich habe aber trotzdem Probleme, bringe auf einer FHEM, jetzt auf 5.7 upgedatet, telegram immer noch nicht zum laufen.
Selbes sympthom wie bei 5.6, fhem stürzt ab bei define Telegram xxxx. Am 2. raspi läufts, aber dort kann ich wieder nicht zum HMLAN verbinden.
Was benötigt man denn noch? fheminfo meldet 5.7
50_TelegramBot.pm ist von heute, 95,514kB
kann doch nicht sein !
gruss
define TelegramBot TelegramBot <key> müsste eigentlich gehen, nicht als Telegram sondern als TelegramBot
define Telegram TelegramBot <key> klappt aber am 2. raspi.
Telegram ist ja nur der Name.
Ok, dann hab ich es falsch verstanden.
Zitat von: satprofi am 28 März 2016, 12:07:26
Hallo, Danke.
Ich habe aber trotzdem Probleme, bringe auf einer FHEM, jetzt auf 5.7 upgedatet, telegram immer noch nicht zum laufen.
Selbes sympthom wie bei 5.6, fhem stürzt ab bei define Telegram xxxx. Am 2. raspi läufts, aber dort kann ich wieder nicht zum HMLAN verbinden.
Was benötigt man denn noch? fheminfo meldet 5.7
50_TelegramBot.pm ist von heute, 95,514kB
kann doch nicht sein !
gruss
Welche Meldung kommt beim Absturz und hast Du das TelegramBot-Modul aus dem Update oder nochmals von Hand installiert?
Das einzige Modul, zu dem es starke Abhängigkeiten gibt ist HttpUtils, das sollte aber auch beim Update mitkommen.
Die Grösse des Moduls ist erstmal keine Aussage und das Datum wird ja beim Update gesetzt ist dementsprechend auch nur begrenzt hilfreich.
Ohne die Meldung ist das kaum zu analysieren.
Johannes
keine Meldung, Webif ist weg und Browser meldet keine Verbindung .
Und fhem startet auch nicht mehr, ausser über telnet und etc/init.d/fhem start.
httputils ist vom 16.08.2015, also kein update erhalten.
gruss
Habe die mal upgedatet,und jetzt nach reload " Undefined subroutine &main::HttpUtils_Initialize called at fhem.pl line 2243."
Ob fhem noch so klappt wie vorher ?
gruss
Zitat von: satprofi am 28 März 2016, 12:46:57
keine Meldung, Webif ist weg und Browser meldet keine Verbindung .
Und fhem startet auch nicht mehr, ausser über telnet und etc/init.d/fhem start.
httputils ist vom 16.08.2015, also kein update erhalten.
gruss
Ich meinte die Meldung im Log
Wenn die HTTPUtils nicht aktuell ist, ist Dein Update nicht korrekt gelaufen, HTTPUtils (und eigentlich das ganze System) sollte aktuell sein. Die FHEM-Version ist ansonsten irrelevant.
Hallo.
Bingo! Jetzt konnte ich TelegramBot definieren!
Wie kann man das update beeinflussen? es wurden vielleicht gerade mal 20 Module upgedatet, und in /opt/fhem gerade mal die fhem.pl.
mehr nicht.
gruss
so, Telegram eingerichtet, sendet auch autom. über DOIF.
Wahtsapp ist schon deinstalliert.
Nochmals Grossen Dank zwecks Modul !
kurze nachfrage, wie kann man sich ein userbild anlegen?
gruss
Zum botfather gehen und /help eingeben, dort wird alles erklärt
/setuserpic
Setzt das profilbild
Ja, habe ich. Aber er lässt den FHEM username nicht zu. Nur den auf die tel.Nr registrierten
Gesendet von meinem Transformer TF101 mit Tapatalk
Hey,
super Modul, vielen Dank schonmal für die Arbeit.
Ein Problem hab ich leider aktuell noch und hoffe, dass ihr mir da helfen könnt: Bei dem attribut favorites, wird leider immer nur der erste angegebene Wert übernommen.
So siehts die entsprechende Zeile aus:
attr telegramBot favorites set testStatus on; set testStatus off
Als Favorit wird mir immer nur der erste der beiden Befehle angezeigt.
Zitat von: resben am 28 März 2016, 20:05:46
Hey,
super Modul, vielen Dank schonmal für die Arbeit.
Ein Problem hab ich leider aktuell noch und hoffe, dass ihr mir da helfen könnt: Bei dem attribut favorites, wird leider immer nur der erste angegebene Wert übernommen.
So siehts die entsprechende Zeile aus:
attr telegramBot favorites set testStatus on; set testStatus off
Als Favorit wird mir immer nur der erste der beiden Befehle angezeigt.
Ja, das ist einfach: Statt des einfachen Semikolons muss beim Setzen des Attributes jeweils ein doppeltes Semikolon als Trenner angegeben werden. Das einfache Semikolon wird in fhem als Trennung zwischen Kommandos angesehen, so dass im Attribut nur der erste Teil ankommt. das set ... off wird dann als Befehl ausgeführt...
Hallo FHEM Freunde!
Ich habe seit heute auch telegramBOT laufen und ich hoffe ich kann damit nachhaltig das yowsup Modul ablösen. Eigentlich schon schade, denn ich hatte es eigentlich geliebt!
Als erstes möchte ich mal ein DANKE an "viegener" loswerden, der das Modul ja geschrieben hat und weiterhin pflegt. Also.... DANKE! :) :)
Wie gesagt, sind das alles erste Gehversuche, ich will erstmal nur von FHEM was an die User schicken, und ich habe gerade ein Problem, wo ich einfach auf dem Schlauch stehe...
Ich habe in meinem BOT einen defaultPeer auf eine Gruppe gesetzt.
Ziel ist es, dass alle Nachrichten die ich durch notifys absetze an diese Gruppe schicke. Das funktioniert schon ganz gut.
Wenn ich jetzt aber versuche einen User direkt anzuschreiben über den BOT, kommt die Nachricht nicht bei dem User an, sondern wieder bei der Gruppe.
Hier ein paar Beispiele:
{ fhem ("set myFhemServerBot message Diese Nachricht geht direkt an die Gruppe da hier der defaultPeer zieht. Das ist OK so!") }
{ fhem ("set myFhemServerBot message @08154711 Diese Nachricht sollte eigentlich an meine UserID gehen, geht aber wieder an die Gruppe !") }
{ fhem ("set myFhemServerBot message @@08154711 Diese Nachricht sollte eigentlich an meine UserID gehen, geht aber wieder an die Gruppe !") }
FRAGE:
Wie bekomme ich es hin, dass ich auch an einzelne UserIDs etwas schicken kann?
Danke und Gruß
/Holger
Zitat von: forum-merlin am 29 März 2016, 16:35:18
FRAGE:
Wie bekomme ich es hin, dass ich auch an einzelne UserIDs etwas schicken kann?
Wenn du das über Perl machst musst du das @ mittel \ escapen.
Grüße
igami
Danke!
funktioniert. ;D
Einfach nicht dran gedacht das mal auszuprobieren
Zitat von: viegener am 29 März 2016, 00:34:47
Ja, das ist einfach: Statt des einfachen Semikolons muss beim Setzen des Attributes jeweils ein doppeltes Semikolon als Trenner angegeben werden. Das einfache Semikolon wird in fhem als Trennung zwischen Kommandos angesehen, so dass im Attribut nur der erste Teil ankommt. das set ... off wird dann als Befehl ausgeführt...
Das ging, vielen Dank für die Hilfe und die Erklärung :D
Zitat von: Panik am 22 Januar 2016, 18:24:06
Hat es schon mal jemand geschafft, mit Tasker + Telegram einen Befehl an FHEM zu senden?
Das sollte eigentlich mit der App Touchless Chat gehen, die auch als Plugin für Tasker arbeitet. Hab es aber gerade mal probiert und nicht zum laufen bekommen.
http://forum.joaoapps.com/index.php?resources/send-message-when-you-arrive-at-work.71/
Hallo,
von dem Modul bin ich ganz begeistert, nachdem ich mit yowsup immer wieder Probleme hatte. Wenns lief, wurde was geändert und wieder kam nichts mehr an.
Ich hab eine Frage, die vermutlich allen Cracks hier als banal vorkommt. Hab versucht, sie durch Lesen zu lösen, aber hab im ganzen Fred nicht die Antwort gefunden:
Ich habe eine Variable "MyIP", die ich gerne zusenden will. Wie muss ich den Befehl aufbauen?
set Telegrambot msg Die neue Ip ist $MyIP
wird genau so gesendet, aber eben nicht durch die IP ersetzt.
Zitat von: fstefan1960 am 03 April 2016, 13:06:43
Hallo,
von dem Modul bin ich ganz begeistert, nachdem ich mit yowsup immer wieder Probleme hatte. Wenns lief, wurde was geändert und wieder kam nichts mehr an.
Ich hab eine Frage, die vermutlich allen Cracks hier als banal vorkommt. Hab versucht, sie durch Lesen zu lösen, aber hab im ganzen Fred nicht die Antwort gefunden:
Ich habe eine Variable "MyIP", die ich gerne zusenden will. Wie muss ich den Befehl aufbauen?
set Telegrambot msg Die neue Ip ist $MyIP
wird genau so gesendet, aber eben nicht durch die IP ersetzt.
Das ist an sich kein Problem, aber was ist eine Variable in diesem Umfeld?
Ist es eine Perlvariable, die in einem Deiner Module/MyUtils definiert wurde? --> Dann musst Du am besten in dem Modul auf der Perl ebene einen befehl zusammenbauen, der das versendet also in Perl:
fhem("set Telegrambot msg Die neue Ip ist $MyIP")
Dann wird die Variable auch ersetzt.
Besser wäre aber Deine Variable zum Beispiel als State eines Dummys zu speichern, dann kannst Du üebr notify auch bei einer Änderung das Versenden automatisch auslösen (das wäre dann auch eher FHEM-"typisch").
define newIP_dummy dummy
set newIP_dummy IP 100.100.100.100
define newIP_notify notify newIP_dummy:IP.* set Telegrambot msg New IP set: $EVTPART1
Natürlich muss dann nach feststellen der neuen IP auch der richtige set ausgeführt werden.
Super,
vielen Dank. Meine große Hoffnung ist nun, dass die zugrunde liegende Technik nicht so oft geändert wird wie bei Whatsapp/yowsup. Da hatte man ja das Gefühl, dann man jeden Monat yowsup neu installieren musste.
Was bisher bei mir mit Telegram sofort läuft, ist einfach grandios. Auch, dass bei Anforderung das Menu der möglichen Kurzbefehle kommt und man dann einfach antippen kann, hat einen grandiosen WAF. Wow!
Kann man die Anmeldung weiterer User am Bot verhindern? Ansonsten muss ja nur jemand mein "doit" erraten und fährt mir die Rolläden rauf und runter :).
Zitat von: fstefan1960 am 03 April 2016, 16:09:54
Kann man die Anmeldung weiterer User am Bot verhindern? Ansonsten muss ja nur jemand mein "doit" erraten und fährt mir die Rolläden rauf und runter :).
Dazu einfach wenn du in Fhem im Telegrambot bist einfach unten auf Device Specific help klicken oder im commandref da wird meistens beschrieben was geht.
http://fhem.de/commandref.html#TelegramBot (http://fhem.de/commandref.html#TelegramBot)
In deinem Fall musst du das
cmdRestrictedPeer <peername(s)>
Attribut setzen.
Zitat von: speex am 03 April 2016, 18:09:57
Dazu einfach wenn du in Fhem im Telegrambot bist einfach unten auf Device Specific help klicken oder im commandref da wird meistens beschrieben was geht.
http://fhem.de/commandref.html#TelegramBot (http://fhem.de/commandref.html#TelegramBot)
In deinem Fall musst du das cmdRestrictedPeer <peername(s)>
Attribut setzen.
Absolut richtig!
Als Ergänzung noch zwei Anmerkungen: Zur Sicherheit sollten bei cmdRestrictedPeer user ids (also die Zahlen zu den Kontakten) verwendet werden, da diese die grösste Sicherheit aufweisen, da von telegram vergeben und nicht vom Benutzer.
Ausserdem gibt es noch das Attribute:
allowUnknownContacts Mit dem man auch neue Kontakte komplett ablehnen kann.
Hallo,
je besser etwas läuft, um so mehr Wünsche weckt das ja auch.
1. Gibt es eine Methode, wie ich das Bild des Bots ändern kann?
Wenn ich mit dem BotFather chatte, zeigt er mir als mögliches Kommando an /setUserPic. Wenn ich das nutze, fordert er mich auf: Choose a bot to change profile photo.
Wenn ich dann den Namen meines Bots eingebe, kommt nur: Invalid bot selected.
2. Wenn ich den Befehl /short schicke, kommt eine Reihe Buttons zurück mit den möglichen Befehlen, die ich hinterlegt habe. Die sind allerdings typisch FHEM-Syntax-beschriftet. Kann man die mit einem Label versehen: "WoZi-Licht an" statt "set WoZiLampe_3 toggle"?
Vielen Dank
sagt Frank
Beides ist kein Problem (über den Botfather)
ad 1) setuserpic ist der richtige Weg. Zur Auswahl des Bots schickt der botfather ein custom keyboard mit der Auswahl des Bots wenn man nicht den Namen eintippt sondern diese Keyboard zur Auswahl benutzt geht es problemlos. Man schickt dann einfach ein Bild an den Botfather
ad 2) Bei der Definition der Favorites im botfather kann man auch angeben
short1 - Ein ganz toller Befehle
short2 - Und dieser ist noch besser
short3 - Nicht so gut
Dann schickt der bot bei Eingabe von / bereits diese Liste mit den sprechenden Beschreibungen
Ich wollte das im Bot nicht nochmal doppeln.
Ausserdem gibt es jetzt ja die Möglichkeit in den Favoriten auch sprechende Namen für die Favoriten zu hinterlegen:
/lichtan=set lights on
Hallo,
da muss ich doch mal nachfragen :)
Ich habe auch ein paar Favoriten in Fhem angelegt. Ich habe dafür die Schreibweise z.B.
/temperature = { sendPlot('weblink_aussen_Temperatur') }
und natürlich weitere mit Semikolon getrennt.
Wenn ich nun im Telegram-Client "/help" aufrufe, erhalte ich die Liste meiner Favoriten. Allerdings steht vor jedem Favoriten ein neuer Favoriten-Shortcut "/help1" durchnummeriert (in meinem Fall bis "/help11") - siehe Anhang...
Was kann ich denn da noch anpassen. So sieht es nicht sehr hübsch aus. Am Besten wäre es ja auch, wenn er den wahren Befehl gar nicht anzeigt, sondern nur den vergebenen "schönen" Aliasnamen... aber das wird wohl nicht gehen...
Danke schon mal...
Grüße
Reiner
Ich bin ja schon überzeugt ;) --> Also muss ich nochmal ran.
Idee wäre also für jeden Favoriten auch einen Text angeben zu können, der statt des eigentlichen Befehls angezeigt wird...
Da muss ich mir erstmal eine sinnvolle Syntax überlegen, damit das nicht zu fehleranfällig wird.
Hallo,
zu Beginn kann man es auch erstmal einfach gestalten: wie wäre es mit einem Zusätzlichen Steuerattribut?
Eigentlich ist deine Syntax dafür doch schon ausreichend.
Nennen wir das Attribut mal kurz "sendShortFavorites". Wenn es z.B. "true" oder "1" ist, dann werden im Keyboard nur die Befehle der Favoriten ausgegeben (also das Ding mit dem Slash bis zum =-Zeichen).
z.B. "/temperature"
Die folgende Auswertung, wenn das als Benutzerauswahl beim Bot wieder ankommt, funktioniert ja dabei sowieso schon...
Der nächste Schritt wären dann noch kurze Beschreibungstexte, die zusätzlich oder anstatt der Befehle angezeigt werden. Da wird es schon etwas kniffliger bei der Definition und Auswertung als Anweisung :)
Btw.: Wäre ein Attribut zum Steuern, ob generell in der Fhem-Antwort nochmal der Befehl und dieser Bot-Prefix vorkommen sollen, auch nett :)
Grüße
Reiner
Zitat von: Reinerlein am 05 April 2016, 00:30:05
Hallo,
zu Beginn kann man es auch erstmal einfach gestalten: wie wäre es mit einem Zusätzlichen Steuerattribut?
Eigentlich ist deine Syntax dafür doch schon ausreichend.
Nennen wir das Attribut mal kurz "sendShortFavorites". Wenn es z.B. "true" oder "1" ist, dann werden im Keyboard nur die Befehle der Favoriten ausgegeben (also das Ding mit dem Slash bis zum =-Zeichen).
z.B. "/temperature"
Die folgende Auswertung, wenn das als Benutzerauswahl beim Bot wieder ankommt, funktioniert ja dabei sowieso schon...
Der nächste Schritt wären dann noch kurze Beschreibungstexte, die zusätzlich oder anstatt der Befehle angezeigt werden. Da wird es schon etwas kniffliger bei der Definition und Auswertung als Anweisung :)
Btw.: Wäre ein Attribut zum Steuern, ob generell in der Fhem-Antwort nochmal der Befehl und dieser Bot-Prefix vorkommen sollen, auch nett :)
Grüße
Reiner
Ich habe gerade mal eine neue Versions in github hochgeladen die dazu 2 Änderungen enthält:
- Es kann jetzt auch einen Beschreibungstext für einen Favorite definiert werden, der dann statt des Kommandos ind er Favoritenliste und Bestätigung angezeigt wird
- Die Texte die als Antworten des Bots zurückgegeben werden kann man jetzt selber umdefinieren (Dafür sind eigene Attribute text...) vorgesehen.
Vermutlich erfüllt das noch nicht ganz die Wünsche an die Favoritenliste aber es ist erstmal ein grosser Schritt dahin gemacht
Wie immer Feedback willkommen
Johannes
Nur mal Danke sagen. :)
Ich habe mir heute die Zeit genommen um meine umfangreiche Fhem Konfiguration mit TelegramBot zu erweitern.
Nachdem wieder mal yowsup Probleme macht und ich nicht schon wieder meine Utils umschreiben will, bin ich auf das Modul gestossen und bin begeistert.
Damit löse ich Whatsapp und wahrscheinlich auch Pushover ab und stelle alles auf Telegram um.
Vielen Dank an viegener für die Arbeit und die Mühe.
Ich habe mit heute den gesamten Thread von Anfang an durchgelesen. Perfekt.
Gruss Armin
Hi viegener auch von mir dickes danke bin mit deinem Modul sehr glücklich.
Hab gerade mal die neue Github-version eingespielt, läuft.
Sehr cool mit den custom descriptions, vielen dank dafür!!! :D
Grüsse
Speex
Hallo an alle,
ich weiss nicht, obs wirklich hier her passt.
Man sollte sich doch bei Telegram mit jeder Telefonnummer anmelden können (zB. Festnetz oder andere), Hauptsache man kann SMS oder Anrufe empfangen. Egal, wie ich es versuche, ob mit Browser oder Handy, immer bekomme ich die Meldung: "Ungültige Nummer".
Hat da jemand Erfahrungen?
Dankeschön.
Zitat von: FHEM-User22 am 08 April 2016, 15:19:30
Hallo an alle,
ich weiss nicht, obs wirklich hier her passt.
Man sollte sich doch bei Telegram mit jeder Telefonnummer anmelden können (zB. Festnetz oder andere), Hauptsache man kann SMS oder Anrufe empfangen. Egal, wie ich es versuche, ob mit Browser oder Handy, immer bekomme ich die Meldung: "Ungültige Nummer".
Hat da jemand Erfahrungen?
Dankeschön.
Ich kann nur bestätigen, dass sowohl Festnetznummern als auch Mobilnummern funktionieren.
Es gab wohl mal Ablehnung von Google-VOIP-Nummern aber generell funktionieren wohl auch reine VOIP-Nummern.
Wichtig ist, dass die Telefonummer für telegram korrekt, also mit Country-Code etc angegeben wird
Nur zur Sicherheit: Für den telegramBot ist keine Nummer erforderlich, ich nehme an, dass ist klar.
Zitat von: FHEM-User22 am 08 April 2016, 15:19:30
Hallo an alle,
ich weiss nicht, obs wirklich hier her passt.
Man sollte sich doch bei Telegram mit jeder Telefonnummer anmelden können (zB. Festnetz oder andere), Hauptsache man kann SMS oder Anrufe empfangen. Egal, wie ich es versuche, ob mit Browser oder Handy, immer bekomme ich die Meldung: "Ungültige Nummer".
Hat da jemand Erfahrungen?
Dankeschön.
der vorteil zu whatsapp. man kann beliebig viele geräte auf selber nummer anmelden, per sms kommt code.
Moin an alle
Zitat von: viegener am 08 April 2016, 15:28:30
Ich kann nur bestätigen, dass sowohl Festnetznummern als auch Mobilnummern funktionieren.
Es gab wohl mal Ablehnung von Google-VOIP-Nummern aber generell funktionieren wohl auch reine VOIP-Nummern.
Wichtig ist, dass die Telefonummer für telegram korrekt, also mit Country-Code etc angegeben wird
Ich habe alles durchpobiert, also +49dann die Nummern, ohne Null, mit Null(sollte nicht gehen) aber sofort kommt ungültige Nummer. Ich habe das mit Telekom-Festnetznummern sowie auch Telekom Anlagenanschlußnummern durchprobiert. Als erstes die Frage "stimmt die Nummer?" wenn ich dann <ok> drücke, kommt "Falsche Telefonnummer" Irgendwo muß ich was falsch machen.
Ich versuche es mit dem Web-Browser und auch mit einem Handy, immer die gleiche Fehlermeldung.
Zitat von: viegener am 08 April 2016, 15:28:30
Nur zur Sicherheit: Für den telegramBot ist keine Nummer erforderlich, ich nehme an, dass ist klar.
Nein, ist mir nicht klar. Also ich kann über FHEM Nachrichten schicken und empfangen, ohne das ich eine Tel.-Nummer angemeldet habe?
Grüße
Zitat von: FHEM-User22 am 09 April 2016, 08:54:12
Moin an alle
Nein, ist mir nicht klar. Also ich kann über FHEM Nachrichten schicken und empfangen, ohne das ich eine Tel.-Nummer angemeldet habe?
Grüße
nein, nicht wirklich. du musst einmal eine nummer angeben, auf die du dann deine aktivierungs-sms bekommst. du kannst aber diese nummer für mehrere geräte nehmen, also auch dort wo keine simcard engelegt ist. also deshalb auch für fhem.
Es gibt 2 Telegram Module. Mit TelegramBot ist keine Telefonnummer und keine Clientinstallation nötig.
Der 1. Eintrag des Threads erklärt das recht gut.
Gruss
Gesendet von iPhone mit Tapatalk
Zitat von: pipp37 am 09 April 2016, 10:40:02
Es gibt 2 Telegram Module. Mit TelegramBot ist keine Telefonnummer und keine Clientinstallation nötig.
Hallo,
Ja, Prima, funzt super mit TelegramBot. Kann schon Licht einschalten über Telegram und auch Bewegungsmeldungen aufs Handy schicken.
Hat sich schon jemand Readinggroups auf Anforderung per Telegram schicken lassen? Wäre interessant z.B. bei Temperaturen.
Grüße
Ja, per DOIF
Hallo,
prima, Könnte man bitte in die Codeschnipsel schauen, oder ist es irgendwo beschrieben?
Dankeschön
Und schönen Sonntag
Zitat von: FHEM-User22 am 10 April 2016, 09:32:16
Hallo,
prima, Könnte man bitte in die Codeschnipsel schauen, oder ist es irgendwo beschrieben?
Dankeschön
Und schönen Sonntag
Da die Formatierung von Telegramnachrichten sehr eingeschränkt ist (vorsichtig ausgedrückt) ist das Versenden von Readinggroups (insbesondere mit HTML-Formatierungen) direkt nicht sinnvoll. Was man gut machen kann ist die Daten in ein Textformat umwandeln und das entsprechende Kommando als Favoriten ablegen oder über z.B. zeitgesteuert triggern.
Als direktes Kommando (z.B. in Notify, DOIF oder at):
set telebot msg Temperatur im Wohnzimmer ist [tempwz:temperature] Grad und es sind [tempwz:humidity] Prozent Luftfeuchtigkeit
In einen Favoriten kann man das generell auch aufnehmen oder auch in anderer Notation:
{( return "Temperatur im Wohnzimmer ist ".ReadingsVal("tempwz","temperature","unbekannte")." Grad und es sind ".ReadingsVal("tempwz","humidity","unbekannte")." Prozent Luftfeuchtigkeit" )}
Vielleicht geht das auch eleganter, da fällt mir aber gerade nichts zu ein...
oder einfach etwas in der art z.b.:list .* temperature humidity
statt dem .* kannst du dich beliebig austoben -> siehe devspec in der commandref. readings kannst du natürlich auch noch mehrere angeben.
gruss
andre
Das scheint ja wirklich die Lösung zu sein. Wochen war ich nun dauergenervt weil yowsup nur noch Probleme machte (ständig am patchen, mittlerweile aus 4 verschiedenen Quellen Codes zusammengefügt, damit es überhaupt noch lief).
Die Art und Weise der Bots in Telegram war mir zwar erst etwas suspekt (man sollte erst die Anleitungen lesen und dann probieren etwas einzurichten ;-)), aber jetzt läuft es inklusive Gruppen wirklich perfekt.
Vielen Dank für das Modul!
Zitat von: igami am 24 März 2016, 11:54:41
Momentan experimentiere ich mit dem versenden von Plots.
Mittels aufruf via
ok fhem {plotAsPng("test_SVG")}
funktioniert das auch wunderbar.
Gibt es aber auch eine möglichkeit das direkt aus fhem heraus zu machen?
Inetwa:
set myTelegrambot sendImage {plotAsPng("test_SVG")}
Was ich sonst gefunden habe war von hier https://forum.fhem.de/index.php?topic=38842.0 (https://forum.fhem.de/index.php?topic=38842.0)
Plot2JPEG("Name des Plots", "/opt/fhem/log/wetter.jpg");
fhem("set WhatsAppDevice image /opt/fhem/log/wetter.jpg");
Aber das ist ja irgendwie doppelt gemoppelt, da der Bot das ja eigentlich unterstützt.
Grüße
igami
Habe es nun erst mal folgendermaßen gelöst:
{TelegramBot_ExecuteCommand($defs{myTelegramBot}, [myTelegramBot:msgPeerId], '{plotAsPng("test_SVG")}');; return;;}
Vielleicht gibt es ja aber noch einen elegangtere Lösung.
Grüße
igami
Ich weiss nicht wieso aber seit gestern kommen meine Meldungen aus FHEM nicht mehr sauber an. Alle ü und ö etc. Schauen jetzt sch... aus. Jemand ne Ahnung was ich machen kann? Siehe Screenshot
Danke
Holger
Gesendet von meinem SM-G920F mit Tapatalk
Zitat von: forum-merlin am 18 April 2016, 07:28:54
Ich weiss nicht wieso aber seit gestern kommen meine Meldungen aus FHEM nicht mehr sauber an. Alle ü und ö etc. Schauen jetzt sch... aus. Jemand ne Ahnung was ich machen kann? Siehe Screenshot
Danke
Holger
Gesendet von meinem SM-G920F mit Tapatalk
Hast Du denn irgendetwas zwischen 17:xx und 19:xx bei Dir geändert?
Bei mir funktionieren die Umlaute noch. Kann es sein, dass die Datei in der die Meldung zusammengebaut wird nicht mehr korrekt ist (falsche Codierung von Sonderzeichen / nicht UTF-8)? Also hast Du an den Dateien etwas geändert?
Johannes
Hi. Könnt ihr kurz die Syntax der Favoritenaliase beschreiben. Vielen Dank.
Nur damit ich verstehe, welche Art Informationen Dir fehlen zu den
Beispielen für Favorites und Beschreibung der Syntax in der commandref:
http://fhem.de/commandref.html#TelegramBot (http://fhem.de/commandref.html#TelegramBot)
und auf Deutsch auch im fhemwiki:
http://www.fhemwiki.de/wiki/TelegramBot (http://www.fhemwiki.de/wiki/TelegramBot)
Gibt es spezielle Fragen?
Johannes
Kenn ich alles und funktioniert auch. Ich dachte man kann für die Favouriten auch aliase definieren. Anstatt also /fav1 z.B. /lichtan
Zitat von: Adriano am 18 April 2016, 14:03:04
Kenn ich alles und funktioniert auch. Ich dachte man kann für die Favouriten auch aliase definieren. Anstatt also /fav1 z.B. /lichtan
Wie gesagt, das ist in den Beispielen in der commandref enthalten, ich kann es aber auch gerne für Dich hierhin kopieren:
Zitat
Example: Assuming cmdFavorites is set to a value of favorite and this attribute is set to a value of
get lights status; /light=set lights on; /dark=set lights off; /heating=set heater;
A message "favorite 1" or "/light" to the bot would execute the command set lights on
Zitat von: viegener am 18 April 2016, 08:22:37
Hast Du denn irgendetwas zwischen 17:xx und 19:xx bei Dir geändert?
Bei mir funktionieren die Umlaute noch. Kann es sein, dass die Datei in der die Meldung zusammengebaut wird nicht mehr korrekt ist (falsche Codierung von Sonderzeichen / nicht UTF-8)? Also hast Du an den Dateien etwas geändert?
Johannes
Habs gefunden. War ein Problem das ich selbst verbockt hatte.
Zitat von: igami am 17 April 2016, 08:38:16
Habe es nun erst mal folgendermaßen gelöst:
{TelegramBot_ExecuteCommand($defs{myTelegramBot}, [myTelegramBot:msgPeerId], '{plotAsPng("test_SVG")}');; return;;}
Vielleicht gibt es ja aber noch einen elegangtere Lösung.
Mhh, ich würde auch gerne die kompliziert rustikale Lösung nehmen, aber scheinbar übersteigt sie meinen Horizont :'(
Muss ich den entspr. angepassten Code von der Kommandozeile des FHEMweb abfeuern können?
Grundsätzlich ist doch das hier, nur ohne Anforderung
Zitat von: CommandrefSend the following message as a command to the bot ok fhem { plotAsPng('SVG_FileLog_Aussen') }
assuming ok fhem is the command keyword)
Aber auch das bekomme ich nicht entsprechend umgebaut, um es ohne Abruf aus einem DOIF zu senden :'(
grafiklose Grüße
Niels
Hallo,
ich habe nach einigem Rumprobieren jetzt auch den TelegramBot zum laufen gebracht. In diesem Thread sind ja jede Menge Infos enthalten. Ich fand es jedoch sehr verwirrend, dass am Beginn des Threads noch über die TelegramCLI diskutiert wird und erst ab ca Seite7 über den TelegramBot.
Daher wäre mein Vorschlag, diesen Thread aufzuteilen und die TelegramCLI-Beiträge in einen eigenen Thread zu packen. Wäre das möglich?
Gruß Florian
Also ich kann Florian zustimmen, allerdings finde ich Doku in Form von Forendiskusssionen doch eher unglücklich. Egal ob hier oder in anderen Bereichen muss man lange suchen, bis man alle Irrwege verlassen hat und zum Ziel kommt. Von daher ist die Auftrennung des Threads auch nur halbherzig.
Ich rufe lieber dazu auf, aktiv an dem entspr. Wiki-Artikel (http://www.fhemwiki.de/wiki/TelegramBot) mitzuarbeiten. Das ist genau eine Seite, auf der alle Informationen stehen sollten und wenn der rund ist, braucht keiner seitenweise Forenthreads wälzen.
einseitige Grüße
Niels
Hallo viegener,
ist es möglich, dass man die vom TelegramBot gesendete Nachricht auch als Reading bekommt, bzw. kannst du das einbauen?
Würde das gerne auch mit in ein Log schreiben.
Grüße Marcel
Danke viegener. Jetzt hats bei mir auch Klick gemacht mit den Aliasen ;)
Zitat von: Ma_Bo am 19 April 2016, 19:20:31
Hallo viegener,
ist es möglich, dass man die vom TelegramBot gesendete Nachricht auch als Reading bekommt, bzw. kannst du das einbauen?
Würde das gerne auch mit in ein Log schreiben.
Grüße Marcel
Hallo Marcel,
bei mir wird das readings msgText gefüllt.
Grüße Jörg
Zitat von: JoWiemann am 19 April 2016, 19:27:42
bei mir wird das readings msgText gefüllt.
Bei mir auch - aber mit der letzten empfangenen Nachricht.
Mein Bot wird mit Werbung versorgt und dabei kam es zu diesem Fehler:
PollingLastError: Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1465
Ist das relevant oder normal? Neue Nachrichten werden auf jeden Fall empfangen - da gibt es kein Problem.
Ich muss wohl doch die Privacy wieder einschalten.
gespammte Grüße
Niels
Zitatbei mir wird das readings msgText gefüllt.
wird bei mir nur mit der empfangenen Nachricht gefüllt, aber nicht mit der versendeten.
Grüße Marcel
Zitat von: Ma_Bo am 19 April 2016, 20:48:24
wird bei mir nur mit der empfangenen Nachricht gefüllt, aber nicht mit der versendeten.
Grüße Marcel
Argh, falsch herum gelesen ...
Und das set generiert auch keinen Log-Eintrag...
Du kannst aber folgendes machen:
attr teleBot UserReadings MsgTextSend {InternalVal("teleBot","sentMsgText","none");;}
define teleBotLog FileLog ./log/teleBot-%Y.log teleBot:.*MsgTextSend.*
Grüße Jörg
Danke, das mit dem userReading klappt wundebar.
Zitat von: Muschelpuster am 19 April 2016, 08:14:09
Also ich kann Florian zustimmen, allerdings finde ich Doku in Form von Forendiskusssionen doch eher unglücklich. Egal ob hier oder in anderen Bereichen muss man lange suchen, bis man alle Irrwege verlassen hat und zum Ziel kommt. Von daher ist die Auftrennung des Threads auch nur halbherzig.
Ich rufe lieber dazu auf, aktiv an dem entspr. Wiki-Artikel (http://www.fhemwiki.de/wiki/TelegramBot) mitzuarbeiten. Das ist genau eine Seite, auf der alle Informationen stehen sollten und wenn der rund ist, braucht keiner seitenweise Forenthreads wälzen.
einseitige Grüße
Niels
Wiki-Seite finde ich jetzt auch eine gute Lösung. Ich versuche zwar auf jeden Fall die Commandref in englisch vollständig zu halten, verstehe aber, dass das u.U. nicht für jeden passt.
- Jeder kann gerne selber Beispiele und Inhalte zum Wiki hinzufügen, speziell Beispiele sind immer wieder angefragt
- Wenn jemand nicht selber ins wiki schreiben will, gerne auch Inhalte hier einstellen, ich kann das dann ins Wiki übertragen
Ansonsten, wenn es konkrete Punkte gibt, die Euch im wiki fehlen sagt gerne auch hier Bescheid. Ich möcte nämlich auch ins wiki nur Inhalte übertragen, die für jemanden hilfreich sind.
Zitat von: Muschelpuster am 19 April 2016, 20:18:37
Bei mir auch - aber mit der letzten empfangenen Nachricht.
Mein Bot wird mit Werbung versorgt und dabei kam es zu diesem Fehler:PollingLastError: Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1465
Ist das relevant oder normal? Neue Nachrichten werden auf jeden Fall empfangen - da gibt es kein Problem.
Ich muss wohl doch die Privacy wieder einschalten.
gespammte Grüße
Niels
Nein das kommt immer mal wieder vor, das einzelne Zugriffe schief gehen. Wenn es stört, gibt es das Attribut:
pollingVerbose mit dem Wert
1_Digest wird nur alle 24 Stunden ein Eintrag mit der Anzahl der Fehler geloggt, damit man sieht ob es wirklich ein Problem gibt.
Zitat von: Ma_Bo am 19 April 2016, 19:20:31
Hallo viegener,
ist es möglich, dass man die vom TelegramBot gesendete Nachricht auch als Reading bekommt, bzw. kannst du das einbauen?
Würde das gerne auch mit in ein Log schreiben.
Grüße Marcel
Ich kann das noch einbauen, wollte aber nicht zuviele Readings haben, deshalb hatte ich mich darauf beschränkt die Readings
sentMsgResult und
sentMsgId hinzugefügt, diese werden NACH Versand der Nachricht gesetzt und erlauben es dann den Text aus dem Internal
sentMsgText herauszulesen. Wichtig ist, dass man auf das Setzen der Readings wartet, sonst ist die Nachricht vielleicht gar nicht gesendet.
Zitat von: viegener am 20 April 2016, 00:18:05- Wenn jemand nicht selber ins wiki schreiben will, gerne auch Inhalte hier einstellen, ich kann das dann ins Wiki übertragen
Da ich mich in Sachen Programmierung nicht beteiligen kann, gebe ich da auch gerne etwas zurück und kann im Rahmen meiner begrenzten Möglichkeiten behilflich sein.
Zitat von: viegener am 20 April 2016, 00:18:05Ansonsten, wenn es konkrete Punkte gibt, die Euch im wiki fehlen sagt gerne auch hier Bescheid. Ich möcte nämlich auch ins wiki nur Inhalte übertragen, die für jemanden hilfreich sind.
Oh ja, ein SVG-Plot als Bildchen versenden bitte. Das bekomme ich mit den bislang gefundenen Informationen nicht gebacken.
beschränkte Grüße
Niels
Zitat von: Muschelpuster am 20 April 2016, 06:32:11
Oh ja, ein SVG-Plot als Bildchen versenden bitte. Das bekomme ich mit den bislang gefundenen Informationen nicht gebacken.
+1
hätte ich auch gerne :-)
Grüße
Stephan
[Hallo, zu SVG Plot hatte ich schon mal eine Lösung im WhatsApp Thread vorgestellt. Die beschriebene Erweiterung im SVG Modul konnte sich bisher nicht beim Maintainer durchsetzen.]
Nonsens, es war das RSS Modul gemeint.
Grüße Jörg
Gesendet von iPhone mit Tapatalk
Das Problem verstehe ich nicht. Die in FHEM eingebaute Funktion
{plotAsPng("SVGDEV")}
Bereitet einen Plot als png auf. Das wiederum kann man einfach als image versenden.
Edit: Einfach unter favorites ablegen.
Hallo,
ich habe Blödsinn erzählt. Ich meinte das RSS Modul. Damit kann man erstellte RSS Seiten als Bild ohne den Umweg über wget versenden.
Grüße Jörg
Gesendet von iPad mit Tapatalk
Zitat von: marvin78 am 20 April 2016, 09:24:29
Das Problem verstehe ich nicht. Die in FHEM eingebaute Funktion
{plotAsPng("SVGDEV")}
Bereitet einen Plot als png auf. Das wiederum kann man einfach als image versenden.
Sorry, für meine begrenzten Fähigkeiten. Aber so einfach ist das für mich nicht:
set meinTelegramBot sendImage @meinZiel {plotAsPng("SVG_meinDiagamm")}
FAILED file :{plotAsPng("SVG_meinDiagamm")}: not found or empty
Da gibt es ja nun noch folgende Aussage, die ich aber auch nicht ernsthaft verstehe und umsetzen kann:
Zitat von: igami am 17 April 2016, 08:38:16
Habe es nun erst mal folgendermaßen gelöst:
{TelegramBot_ExecuteCommand($defs{myTelegramBot}, [myTelegramBot:msgPeerId], '{plotAsPng("test_SVG")}');; return;;}
{TelegramBot_ExecuteCommand($defs{meinTelegramBot}, [meinTelegramBot:meinZiel], '{plotAsPng("SVG_meinDiagamm")}');; return;;}
syntax error at (eval 344547) line 1, near "meinTelegramBot"
fehlerhafte Grüße
Niels
{TelegramBot_ExecuteCommand($defs{"TelegramBot"}, [msgPeerId], '{plotAsPng("PlotDevice")}');; return;;}
TelegramBot: Dein Bot Device
msgPeerId: Deine PeerID (auch herauszufinden über ReadingsVal())
PlotDevice: Dein plot Device
Einfacher geht es aber, wie gesagt, mit den favorites. Dort kann man es einfach so angeben:
/meinBefehl={plotAsPng("PlotDevice")};
Plots fordert man sicher sowieso eher an, als das man sie automatisch verschickt.
Zitat von: marvin78 am 20 April 2016, 10:35:53Plots fordert man sicher sowieso eher an, als das man sie automatisch verschickt.
Na ja, ich versende einen Alarm bei Unter- bzw. Überschreitung von Werten, da soll das Tagesplot eigentlich schon automatisch mitkommen
TelegramBot: telegramBot (zugegeben etwas unglücklich)
msgPeerId: 12345678
PlotDevice: Terrarium_1
{TelegramBot_ExecuteCommand($defs{"telegramBot"}, [@12345678], '{plotAsPng("Terrarium_1")}');; return;;}
Das läuft nun so erst einmal durch, allerdings wird es nicht gesendet:
sentMsgResult -> NonBlockingGet: returned FAILED peer not found :ARRAY(0x31xxxb8)
Gleiches ohne das @-Zeichen in der PeerID (dadurch kam ich erst darauf, ob hier evtl. das @ benötigt wird).
mühsame Grüße
Niels
Ohne @ und das ist nicht die ID von deinem Bot, sondern die des Peers (dein Handy oder sonstiges). Gerade noch einmal getestet. Klappt einwandfrei.
Edit: und das ohne @ genau der gleiche Fehler erscheint, glaube ich nicht.
Zitat von: marvin78 am 20 April 2016, 12:37:18
Ohne @ und das ist nicht die ID von deinem Bot, sondern die des Peers (dein Handy oder sonstiges).
Ja klar die des Handys. Habe ich auch nochmal mit einer Textnachricht geprüft, dass die ok ist.
Zitat von: marvin78 am 20 April 2016, 12:37:18Edit: und das ohne @ genau der gleiche Fehler erscheint, glaube ich nicht.
Jo, nicht zu 100%, der Hex-Wert ist anders ;)
Ich habe es jetzt nochmal an eine Gruppe versucht - gleicher Fehler, nur anderer Hex-Wert.
fehlerhafte Grüße
Niels
Zitat von: marvin78 am 20 April 2016, 12:37:18
Ohne @ und das ist nicht die ID von deinem Bot, sondern die des Peers (dein Handy oder sonstiges). Gerade noch einmal getestet. Klappt einwandfrei.
Edit: und das ohne @ genau der gleiche Fehler erscheint, glaube ich nicht.
[myTelegramBot:msgPeerId] liest das Reading msgPeerId vom device myTelegramBot, also die ID die als letztes den Bot angeschrieben hat. Wie sieht denn die ID von einer Gruppe aus?
Wie hier (https://forum.fhem.de/index.php/topic,51425.0.html) beschrieben habe ich Dialoge und arbeite nicht mit Favorites, aber das ist noch nicht ganz ausgereift :D
Mit Gruppen habe ich mich nicht beschäftigt. Haben die keine ID?
@Muschelpuster: Ist der Peer denn vielleicht wirklich unbekannt? Die eckigen Klammern um die ID sind natürlich bei direkter Angabe einer ID überflüssig. Die benötigt man nur, wenn man das Reading verwenden möchte. Sorry das habe ich übersehen. Das kann evtl. je nach Perl Version Probleme machen (kommt auf den Kontext an).
Zitat von: marvin78 am 20 April 2016, 13:23:23Mit Gruppen habe ich mich nicht beschäftigt. Haben die keine ID?
Doch, die beginnt mit einem Minuszeichen.
Zitat von: marvin78 am 20 April 2016, 13:23:23@Muschelpuster: Ist der Peer denn vielleicht wirklich unbekannt? Die eckigen Klammern um die ID sind natürlich bei direkter Angabe einer ID überflüssig.
Upps, da hätte ich natürlich drauf kommen können (hatte ich schon mal irgendwo), aber mit dem Syntax tue ich mich echt schwer.
Nun geht die Nachricht raus, doch das Ergebnis ist noch nicht ganz optimal:
Zitat von: Telegram-NachrichtTelegramBot fhem cmd:
{plotAsPng(Terrarium_1")}:
result OK
langsam voranschreitende Grüße
Niels
Zitat von: Muschelpuster am 20 April 2016, 14:01:18
Nun geht die Nachricht raus, doch das Ergebnis ist noch nicht ganz optimal:
Dann sag doch mal was du nun genau gemacht hast
Was ist denn nicht optimal? Schreibe hier nochmal genau was du machst (mit komplettem Kontext). Das was ich bisher gepostet habe, habe ich in der Befehlszeile verwendet. Je nach Kontexst müsste man ggf. etwas anpassen.
Definitionen:
#TelegramBot
define telegramBot TelegramBot xxxxxxxxxxxxxxxxxxxx
attr telegramBot allowUnknownContacts 1
attr telegramBot pollingTimeout 120
attr telegramBot room Maschinenraum
# FileLog Definition
define FileLog_Terrarium FileLog ./log/Terrarium-%Y-%m.log 1Wire_TerraLF:Luftfeuchte:.*|1Wire_TerraSwitch:sensed.A:.*|1Wire_TerraTemp_.*:.*Temperatur.*
attr FileLog_Terrarium icon icoLog
attr FileLog_Terrarium room Logfiles
# Chart
define Terrarium_1 SVG FileLog_Terrarium:Terrarium_1:CURRENT
attr Terrarium_1 room Terrarium
attr Terrarium_1 sortby 40
attr Terrarium_1 title "Luftfeuchtigkeit (Min $data{min1}%, Max $data{max1}%, Aktuell $data{currval1}%)"
GPlot-File:# Created by FHEM/98_SVG.pm, 2015-08-02 21:16:12
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid
set ylabel "Grad C"
set y2label "Prozent"
#FileLog_Terrarium 4:1Wire_TerraLF.Luftfeuchte\x3a::
#FileLog_Terrarium 4:1Wire_TerraTemp_HS.Temperatur\x3a::
#FileLog_Terrarium 4:1Wire_TerraTemp_MO.Temperatur\x3a::
plot "<IN>" using 1:2 axes x1y2 title 'relLuftfeuchte' ls l2 lw 1 with lines,\
"<IN>" using 1:2 axes x1y1 title 'Temp Hotspot' ls l0 lw 1 with lines,\
"<IN>" using 1:2 axes x1y1 title 'Temp Mitte oben' ls l7 lw 1 with lines
Und an der Kommando-Eingabe von FHEMweb:{TelegramBot_ExecuteCommand($defs{"telegramBot"}, xxxxxx, '{plotAsPng("Terrarium_1")}');; return;;}
detaillierte Grüße
Niels
Falls es jemanden interessiert, ich erzeuge jede 30 Minuten mit einem at Job eine Bilddatei und kann mir diese dann einfach per TelegramBot zuschicken.
Diese Dateien werden bei mir unter /opt/fhem/www/plot2jpg/ abgelegt.
Das ganze habe ich schon vor der Nutzung mit TelegramBot usw. gemacht, da ich die Bilder auch zum anzeigen für ein Tablet brauche, wie ich aber hier gesehen habe, geht es ja auch einfacher, aber ich wollte euch nur mal kurz zeigen, wie es auch gehen kann.
Als erstes
sudo apt-get install libgd-graph-perl
sudo apt-get install libgd-text-perl
sudo apt-get install libimage-librsvg-perl
in die 99_myUtils muss folgendes :
sub Plot2JPEG($$) {
use GD;
my ($myPlot, $myFile) = @_;
my $pngImg = plotAsPng($myPlot);
if(!defined($pngImg) or ($pngImg eq "")) {
Log3 "Plot2JPEG", 2, "Plot2JPEG: error while creating image from $myPlot";
return;
};
my $image = GD::Image->newFromPngData($pngImg) or die Log3 "Plot2JPEG", 2, "Plot2JPEG: error while creating GD::Instance from $myPlot";
my $jpeg = $image->jpeg;
open (FILE, ">" . $myFile) or die Log3 "Plot2JPEG", 2, "Plot2JPEG: error while openeing " . $myFile;
print FILE $jpeg;
close (FILE);
Log3 "Plot2JPEG", 2, "Plot2JPEG: jpeg image created from $myPlot in " . $myFile;
return;
}
at DEF
+*00:30:00 {Plot2JPEG("SVG_FileLog_Aussentemperaturen", "/opt/fhem/www/plot2jpg/aussentemperaturen.jpg");}
Jetzt kann man (sobald die Datei einmal vorhanden ist und dann ja alle 30 Minuten aktualisiert wird) mit
set TelegramBot sendImage /opt/fhem/www/plot2jpg/aussentemperaturen.jpg
das Bild versenden.
Vielleicht hilft das dem ein oder anderen.
@Muschelpuster: Aber was genau ist denn nun noch nicht "optimal"?
Zitat von: marvin78 am 20 April 2016, 19:28:13
@Muschelpuster: Aber was genau ist denn nun noch nicht "optimal"?
Die Anzeige auf meinem TelegramClient. Da steht:
ZitatTelegramBot fhem cmd:
{plotAsPng(Terrarium_1")}:
result OK
grafikfreie Grüße
Niels
Und da fehlt ein Anführungszeichen. Sicher, dass du es korrekt in die Kommandozeile von FHEM eingegeben hast?
Zitat von: marvin78 am 20 April 2016, 19:44:32
Und da fehlt ein Anführungszeichen. Sicher, dass du es korrekt in die Kommandozeile von FHEM eingegeben hast?
Ja, die steht bei mir im Editor und wird mit Copy&Paste in FHEM und das Forum kopiert. Der Fehler liegt beim Abtippen vom Mäusekino.
legastenische Grüße
Niels
Ich bin etwas ratlos. Wie alt ist denn dein FHEM? Probiere mal noch folgendes:
{TelegramBot_ExecuteCommand($defs{"telegramBot"}, xxxxxx, "{plotAsPng('Terrarium_1')}");; return;;}
BTW: Aus der Web-Version von Telegram (https://web.telegram.org) könntest du auch Copy & Paste machen ;)
Zitat von: marvin78 am 20 April 2016, 20:43:01
Ich bin etwas ratlos. Wie alt ist denn dein FHEM?
Fhem info:
Release : 5.7 FeatureLevel: 5.7
OS : linux
Arch : arm-linux-gnueabihf-thread-multi-64int
Perl : v5.14.2
Zitat von: marvin78 am 20 April 2016, 20:43:01BTW: Aus der Web-Version von Telegram (https://web.telegram.org) könntest du auch Copy & Paste machen ;)
Da hast Du recht, aber das willst Du nicht sehen:
TelegramBot fhem cmd :{plotAsPng('Terrarium_1')}: result OK
erfolglose Grüße
Niels
Das sagt leider nicht sehr viel über das Alter. Die Ausgabe von version wäre hilfreicher. Aber auf der anderen Seite sollte es kein Problem machen. Ich weiß bloß nicht, ob es sein kann, dass das TelegramBot Modul zu alt ist. Da habe ich die Entwicklung erst seit kurzem verfolgt.
Ich mache mal ein Update - kann ja nicht schaden ;)
Das Letzte ist ja schon wieder ein paar Wochen her.
inaktuelle Grüße
Niels
Auch mit aktuellem FHEM sieht es nicht besser aus.
aktuelle Grüße
Niels
Funktionier das mit den Plots denn als Antwort? Wie in der Commandref beschrieben:
Zitat
Send the following message as a command to the bot ok fhem { plotAsPng('SVG_FileLog_Aussen') }
assuming ok fhem is the command keyword)
Zitat von: Ma_Bo am 20 April 2016, 19:04:20
sudo apt-get install libgd-graph-perl
sudo apt-get install libgd-text-perl
sudo apt-get install libimage-librsvg-perl
Ha, libimage-librsvg-perl fehlte. Nun ist natürlich die Frage, ob man die anderen Module auch braucht, damit das ordentlcih in's Wiki übertragen werden kann.
gelöste Grüße
Niels
Zitat von: Muschelpuster am 20 April 2016, 21:22:26
Ha, libimage-librsvg-perl fehlte. Nun ist natürlich die Frage, ob man die anderen Module auch braucht, damit das ordentlcih in's Wiki übertragen werden kann.
gelöste Grüße
Niels
Klingt gut und Danke an alle die hier gerade helfen!!!
Wenn das jetzt im wiki stände wäre es sicher hilfreich, momentan gibt es im Bot noch keine einfachere Möglichkeit, um über ein FHEM-Kommando Bilder/Plots zu verschicken.
Einen habe ich noch :-[
Möchte man seinen Plot nun noch mit einem Text versehen, dann hilft das hier:
{fhem "set mein_telegramBot message \@meine_ZielID Mein Text" ;; TelegramBot_ExecuteCommand($defs{"mein_telegramBot"}, meine_ZielID, '{plotAsPng("mein_SVG")}');; return;;}
Falls noch jemand neben mir auf diese Idee kommt 8)
Vermutlich kann das auch der Befehl TelegramBot_ExecuteCommand, aber ich eben nicht ;)
beschriftete Grüße
Niels
Zitat von: viegener am 20 April 2016, 22:32:34Wenn das jetzt im wiki stände wäre es sicher hilfreich, momentan gibt es im Bot noch keine einfachere Möglichkeit, um über ein FHEM-Kommando Bilder/Plots zu verschicken.
Meinst Du ein etwa so: http://www.fhemwiki.de/wiki/TelegramBot#Versand_von_SVG-Plots
Zitat von: viegener am 20 April 2016, 22:32:34Danke an alle die hier gerade helfen!!!
Und nicht zu vergessen, Danke für das Modul!!!
dokumentierte Grüße
Niels
Servus zusammen!
Erstmal danke für das Modul..Ich schalte meine Steckdosen jetzt öfter einfach mal vom Sofa übers Handy an und aus, nur weil ich es jetzt kann.Verrückt sag ich nur.
Ich hätte allerdings mal eine Frage. Im Post 570 kann man sehen,dass der Bot nicht die Standard Antwort aller "TelegramBot fhem cmd: ect" zurücksendet, sondern einen angepassten Text.
Ich hatte hier auch i-wo gelesen, wie das funktioniert,komme aber auch nach längerem Suchen nicht auf die richtige Spur.
Bin dankbar für Tipps.
Grüße
Zitat von: Esjaycc am 21 April 2016, 10:40:13Im Post 570 kann man sehen,dass der Bot nicht die Standard Antwort aller "TelegramBot fhem cmd: ect" zurücksendet, sondern einen angepassten Text.
Also ich würde sagen, dass hier nur Statusmeldungen über ein NOTIFY oder ein DOIF verschickt wurden...
ungesteuerte Grüße
Niels
Hi,
super Modul :). Gibt es eine Möglichkeit die inline Keyboards zu verwenden oder ist das schon geplant?
https://core.telegram.org/bots/2-0-intro#new-inline-keyboards
Danke und Gruß
Sören
Zitat von: Muschelpuster am 21 April 2016, 10:18:57
Meinst Du ein etwa so: http://www.fhemwiki.de/wiki/TelegramBot#Versand_von_SVG-Plots
Genau, Danke dafür!
Johannes
Zitat von: Esjaycc am 21 April 2016, 10:40:13
Servus zusammen!
Erstmal danke für das Modul..Ich schalte meine Steckdosen jetzt öfter einfach mal vom Sofa übers Handy an und aus, nur weil ich es jetzt kann.Verrückt sag ich nur.
Ich hätte allerdings mal eine Frage. Im Post 570 kann man sehen,dass der Bot nicht die Standard Antwort aller "TelegramBot fhem cmd: ect" zurücksendet, sondern einen angepassten Text.
Ich hatte hier auch i-wo gelesen, wie das funktioniert,komme aber auch nach längerem Suchen nicht auf die richtige Spur.
Bin dankbar für Tipps.
Grüße
Die Version war bisher nur in github hochgeladen. Üblicherweise packe ich neue Features erst eine Zeit nur ins github um ein paar weitere tests insbesondere von weiteren Benutzern abzuwarten. Dadurch dauert es je nach meiner Verfügbarkeit einige Zeit bis ins SVN wandern.
Das habe ich aber soeben gemacht, jetzt sind sie im SVN und kommen morgen über update überall an (Die Attribute zum Customizing sind dann auch in der commandref beschrieben)
Zitat von: jneroes am 21 April 2016, 13:33:54
Hi,
super Modul :). Gibt es eine Möglichkeit die inline Keyboards zu verwenden oder ist das schon geplant?
https://core.telegram.org/bots/2-0-intro#new-inline-keyboards
Danke und Gruß
Sören
Generell wäre das (und die ganze inline-Funktionalität) sicher eine gute Erweiterung für Bestätigungs oder Dialogfunktionen. Da die Inline-Keyboards aber noch nicht für Gruppen zur Verfügung stehen würde ich da erst noch abwarten.
Mir ist noch etwas unklar, wie man das einigermassen hilfreich in die FHEM-Kommandos einbauen kann, denn mit inline/direkter Antwort und Keyboards wird das eher unübersichtlich.
Hallo,
seit meinem heutigen Update geht Folgendes nicht mehr:
Telegram1:msgText:.Temp set Telegram1 message {( return "----------- Stadt -------")}
{( return "-Aussen")}
{(ReadingsVal("Stadt_Aussen","temperature","unbekannte")." Grad ".ReadingsVal("Stadt_Aussen","humidity","unbekannte")." % Hum" )}
{( return "-Büro")}
Es kommen nur Fehlermeldungen auf Telegram an (kann ich gerne nachliefern)
Bis vor dem Update klappte es.
Meine Versuche jetzt:
Telegram1:msgText:.Temp set Telegram1 message {( return "----------- Stadt -------
-Aussen
2")}
geht soweit, aber ich schaffe es nicht, readings einzubinden!
Was kann ich noch liefern?
Dankeschön.
OK, ich kann das Problem nachvollziehen, es hängt wohl irgendwie mit eienr Umstellung im fhem.pl-Modul zusammen.
Ich konnte es eingrenzen, dass es mit der Verwendung mehrerer Perl-Ausdrücke in einem set vorkommt, allerdings nicht speziell mit Readings:
Probier doch mal folgendes:
Telegram1:msgText:.Temp set Telegram1 message
{(ReadingsVal("Stadt_Aussen","temperature","unbekannte")." Grad ".ReadingsVal("Stadt_Aussen","humidity","unbekannte")." % Hum" )}
Das sollte gehen.
Als kurzfristigen Workaround kannst Du auch verwenden, wie gesagt das Problme tritt auf wenn mehrfach auf die Perl-Ebene in einem Set gewechselt wird:
Telegram1:msgText:.Temp set Telegram1 message
{("----------- Stadt -------"."-Aussen".ReadingsVal("Stadt_Aussen","temperature","unbekannte")." Grad ".ReadingsVal("Stadt_Aussen","humidity","unbekannte")." % Hum"."-Büro" )}
Ich habe mal eine Lösung vorgeschlagen und Rudi gebeten diese in fhem.pl aufzunehmen:
https://forum.fhem.de/index.php/topic,52552.0.html (https://forum.fhem.de/index.php/topic,52552.0.html)
Moin,
ich habs mit:
{(ReadingsVal("Stadt_Aussen","temperature","unbekannte")." Grad ".ReadingsVal("Stadt_Aussen","humidity","unbekannte")." % Hum" )}
probiert. Da kommt nichts an. wenn ich aber diese Zeile lösche und nur Test
schreibe, funtioniert es. Also Telegram funktioniert.
Folgendes sollte seit fhem 5.7 auch funktionieren:
Telegram1:msgText:.Temp set Telegram1 message
[Stadt_Aussen:temperature] Grad [Stadt_Aussen:humidity] % Hum
Sicher bin ich mir zwar nicht, aber im Zweifelsfall funktioniert das mit einem DOIF statt notify :D
Grüße
igami
Da das ein Feature von set ist (siehe commandref), ist es wohl egal, ob man das nun in DOIF, notify oder sonstwas verwendet. Mischen von Perl Code und FHEM ist nicht notwendig (wenn man nur Readings weiter verwendet).
Hatte in der Commandref nach [<device>:<reading>] gescht, da war ich nur bei IF gelandet, aber jetzt wo du sagt set, da steht es ohne spitze Klammern
Zitat
From featurelevel 5.7 on the set (and setreading) command replaces:
[device:reading] with the corresponding reading of device, if both device and reading exists.
[device:reading:d] same as above, but only the number is retrieved, see ReadingsNum
{(perlExpression)} with the result of perlExpression, if the expression does not generates an error.
Aber trotzdem sollte Perl auch funktionieren.
Perl funktioniert auch, viele tun sich bloß schwer, die Klammern richtig zu setzen und den Code klar abzugrenzen. Support muss man dafür nicht geben, wenn es auch einfacher geht ;)
Hallo zusammen,
erst mal besten Dank für die Arbeit hier. Bin letztendlich gestern auch von WA hierher gewechselt, da mit das dauernde Blocken/Umstellen auf den Sender geht... Soweit klappt alles, ich bin noch dabei mich einzuarbeiten. Eine Frage zu den Keyboards... ich habe Favoriten angelegt, als Kommando ein /do gesetzt, Keyboard wird mir auch angeboten. Meine Syntax (exemplarisch) ist wie folgt:
/Balkon[Balkontemperatur]=set Telegram msg Temperatur [LaCrosse_12:temperature] C°;
/Server[WHS wecken]=set WOL_WHS on;
/PlotMarie[Maries Zimmer GFX]={plotAsPng("SVG_FileLog_HZ_Marie_1")};
Im Keyboard steht jetzt (leider) /do1 = /Balkon = Balkontemperatur, etc. Gibt es einen Parameter den ich übersehen habe der mir *nur* die Beschreibung in den [] liefert, also bspw. Nur Balkontemperatur? Das würde den WAF massiv steigern
Zweite kleine Frage - ggf. habe ich das auch übersehen? Zu den Nutzern - kann ich ja bei den Benachrichtigungen mit "message @ABC" gezielt triggern. Sendet mgs als Parameter an den Initiator (also den der an den Bot geschrieben hat) oder an den defaultPeer? Sprich, muss ich für eine Temperaturabfrage in einem Raum für jeden (theoretischen) User der anfragen könnte einen separaten Befehl definierten, oder geht die Antwort direkt an den Fragestellenden zurück?
Beste Grüße
Sascha
Ich habe gerade mal folgendes entspr. der Commandref getestet:
attr telegramBot favorites [Rolllaeden zu]=set DuoFern_Rollladen.* position 10;[Rolllaeden auf]=set DuoFern_Rollladen.* position 0
Mein Favoritenkommando ist 'Befehl'. OK, ohne Slash geht das nicht in der Gruppe, aber hier ist ja die direkte Kommunikation mit dem Bot eh besser.
Dann steht nur da:
ZitatBefehl1 = Rolllaeden zu
Befehl2 = Rolllaeden auf
Das finde ich nun schon recht brauchbar. Jetzt muss nur noch die Antwort aufgehübscht werden...
beschriftete Grüße
Niels
Zitat von: Tedious am 26 April 2016, 14:43:41
Zweite kleine Frage - ggf. habe ich das auch übersehen? Zu den Nutzern - kann ich ja bei den Benachrichtigungen mit "message @ABC" gezielt triggern. Sendet mgs als Parameter an den Initiator (also den der an den Bot geschrieben hat) oder an den defaultPeer? Sprich, muss ich für eine Temperaturabfrage in einem Raum für jeden (theoretischen) User der anfragen könnte einen separaten Befehl definierten, oder geht die Antwort direkt an den Fragestellenden zurück?
Geht an den Fragestellenden zurück - habe ich gerade mit Deinem 3. Fall getestet.
Im 1. Fall löst Du ja ein Kommando aus, das wird an den Defult Peer gehen, da würde ich mal versuchen:
set Telegram msg @[Telegram:msgPeerId] Temperatur [LaCrosse_12:temperature] C°
Das führt aber dazu, dass Du die Nachricht und eine Quittung über die Befehlsausführung erhälst...
Mit Homematic konnte ich das auch nicht wirklich schick lösen:
[Temperatur Wohnzimmer]=get HM_Hzg_T_WZ param measured-temp;
Geht zwar, aber der WAF tendiert bei der Antwort noch gegen 0:
ZitatTelegramBot FHEM :
Befehl:get HM_Hzg_T_WZ param measured-temp:
Ergebnis:
21.5
überprüfte Grüße
Niels
Hallo,
bin nicht sicher ob ich hier richtig aufgehoben bin aber trotzdem:
habe eben ein update gemacht und danach startete fhem nicht mehr.
Per Linux-Console habe ich im Logfile folgenden letzten Eintrag gefunden:
Unmatched ) in regex; marked by <-- HERE in m/Y@si___) <-- HERE / at ./FHEM/50_TelegramBot.pm line 2140, <$fh> line 954.
Nach dem Deaktivieren des TelegramBot modul (define in fhem.cfg auskommentiert) läuft es wieder...
...aber nat. ohne TelegramBot :-|
Danke schon mal, Joachim
Zitat von: MadMax-FHEM am 26 April 2016, 23:23:52
Hallo,
bin nicht sicher ob ich hier richtig aufgehoben bin aber trotzdem:
habe eben ein update gemacht und danach startete fhem nicht mehr.
Per Linux-Console habe ich im Logfile folgenden letzten Eintrag gefunden:
Unmatched ) in regex; marked by <-- HERE in m/Y@si___) <-- HERE / at ./FHEM/50_TelegramBot.pm line 2140, <$fh> line 954.
Nach dem Deaktivieren des TelegramBot modul (define in fhem.cfg auskommentiert) läuft es wieder...
...aber nat. ohne TelegramBot :-|
Danke schon mal, Joachim
Ich muss zugeben, dass ich erstmal ratlos bin, denn an der entsprechenden Zeile gibt es im aktuellen Stand nichts, was dazu passt. Kannst Du vielleicht mal Deine 50_TelegramBot.pm-Datei hier als Anhang hochladen? Dann kann cih daran mal schauen.
Ich bin erstmal ratlos....
Hi,
danke für die schnelle Reaktion!
Hab auch schon geschaut und (auf die schnelle) auch nix gefunden...
Klar, kommt...
Gruß, Joachim
OK, habe gerade eine neue Version ins SVN hochgeladen, die das Problem vermutlich fixt.
Vielleicht kannst Du ja auch nochmal ausprobieren?
Die Version ist hier im Anhang
Zum Ausprobieren die Datei über Deine Version drüberkopieren und den Server einmal neustarten.
Sorry für den Fehler: Es hing vermutlich mit Sonderzeichen im Kontakt zusammen...
Hi,
sorry, wenn ich gewusst hätte, dass so schnell noch was kommt wäre ich länger wach geblieben...
Habs eingespielt: funktioniert!!
Super! Danke!
Gruß, Joachim
Zitat von: Muschelpuster am 26 April 2016, 18:15:37
Geht an den Fragestellenden zurück - habe ich gerade mit Deinem 3. Fall getestet.
Im 1. Fall löst Du ja ein Kommando aus, das wird an den Defult Peer gehen, da würde ich mal versuchen:set Telegram msg @[Telegram:msgPeerId] Temperatur [LaCrosse_12:temperature] C°
Das führt aber dazu, dass Du die Nachricht und eine Quittung über die Befehlsausführung erhälst...
Hmm... so ganz schlau werde ich leider noch nicht. Unter WH hatte ich das so gelöst dass ich notifys gebastelt haben die denn auf die Kontakte gehört haben. Hat also A den Befehl XYZ gesendet ist das notify drauf angesprungen, hat den Befehl ausgeführt und das Feedback an a zurückgesendet. Analoges auch bei B. Trage ich hier einen defaultPeer auf A ein, und B fragt z.B. die Temperatur ab bekommt A die Antwort und B keine. Wo liegt mein Denkfehler, bzw. wie kann ich das lösen - das ist mir leider ncohj nicht klar? A soll alle Statusmeldungen bekommen, den hätte ich also gerne als defaultPeer. Sollte B trotzdem eine Anfrage stellen sollte B auch die Antwort bekommen. Klar, man kann komplexe Befehle senden - aber B ist in dem Fall weiblich, für den WAF sollte das über das vorgeschlagene Keyboard der Favoriten gehen ;)
ZitatMit Homematic konnte ich das auch nicht wirklich schick lösen:[Temperatur Wohnzimmer]=get HM_Hzg_T_WZ param measured-temp;
Geht zwar, aber der WAF tendiert bei der Antwort noch gegen 0:
Zumindest das kann man eingrenzen. Der Parameter cmdReturnEmptyResult = 0 unterbindet das zuverlässig.
Zitat von: Tedious am 27 April 2016, 09:24:03
Hmm... so ganz schlau werde ich leider noch nicht. Unter WH hatte ich das so gelöst dass ich notifys gebastelt haben die denn auf die Kontakte gehört haben. Hat also A den Befehl XYZ gesendet ist das notify drauf angesprungen, hat den Befehl ausgeführt und das Feedback an a zurückgesendet. Analoges auch bei B. Trage ich hier einen defaultPeer auf A ein, und B fragt z.B. die Temperatur ab bekommt A die Antwort und B keine. Wo liegt mein Denkfehler, bzw. wie kann ich das lösen - das ist mir leider ncohj nicht klar? A soll alle Statusmeldungen bekommen, den hätte ich also gerne als defaultPeer. Sollte B trotzdem eine Anfrage stellen sollte B auch die Antwort bekommen. Klar, man kann komplexe Befehle senden - aber B ist in dem Fall weiblich, für den WAF sollte das über das vorgeschlagene Keyboard der Favoriten gehen ;)
Zumindest das kann man eingrenzen. Der Parameter cmdReturnEmptyResult = 0 unterbindet das zuverlässig.
Ich versuche mal eine Erklärung zu geben, da es verschiedene Attribute gibt, die hier eine Rolle spielen:
Generell wird bei der Ausführung von FHEM-Kommandos übr telegram (auch Favoriten) das Ergebnis an den Sender des Kommandos zurückgeschickt.
cmdRestrictedPeer Dieses Attribut beschränkt die Ausführung von Kommandos auf hier gelistete Kontakte oder alle (default) wenn nicht gesetzt.
ACHTUNG: Ich empfehle dringend dieses Attribut zu setzen und zwar auf die Contact-IDs (numerisch) für erlaubte Kontakte!
defaultPeerCopy ermöglicht, dass Ergebnisse von Kommandos AUCH an den/die
defaultPeer geschickt werden
cmdReturnEmptyResult Erlaubt es Ergebnisse zu schicken, die Inhalt (also Rückmeldungen oder Werte) enthalten aber auch leere Rückgaben als Erfolgsmeldung (OK)
Also müsste für Dein Besipiel defaultPeer=A / defaultPeerCopy=1 gesetzt werden, lass mich wissen wenn dabei etwas nicht funktioniert
Heyho,
besten Dank für die Notes! Ich teste das mal aus wenn ich zuhause bin. Danke!
Guten Abend!
Ich habe jetzt den kompletten Thread durch, und hoffe, nichts überlesen zu haben.
Ist es möglich, dass sich zwei Bots untereinander unterhalten? Hintergrund ist, ich möchte gern mit dem Modul so eine Art FHEM2FHEM über das Internet realisieren. Bsw. sollen Temperaturwerte eines Sensors meines Heim-FHEM an mein Büro-FHEM übertragen werden.
Ich habe es mit
DOIF ([Sensor:temperature])(set fhem_home_bot message @1234567 [Sensor:temperature])
versucht. Wobei "@1234567" die ID meines Büro-Bots ist. Das funktioniert allerdings so nicht. Kann es sein, dass sich nur "echte" Clients mit Bots unterhalten können und umgekehrt?
Oli
Nein, das ist nicht möglich. Ein Bot kann nur eine Nachricht an einen Empfänger schreiben wenn dieser ihm vorher geschrieben hat.
Grüße
igami
Theoriemodus an
Kann man diese nicht in eine Gruppe einladen und selber dann die Gruppe wieder verlassen ?
Theoriemodus aus
Zitat von: Ma_Bo am 30 April 2016, 22:44:45
Theoriemodus an
Kann man diese nicht in eine Gruppe einladen und selber dann die Gruppe wieder verlassen ?
Theoriemodus aus
Müsste dann mal einer testen ;)
Zitat von: igami am 30 April 2016, 22:59:20
Müsste dann mal einer testen ;)
Muss keiner testen. Leider geht das nicht, telegram unterbindet sogar, dass ein Bot Nachrichten von anderen Bots sieht in einer Gruppe sieht. Ich habe das mal im Zuge von der Einführung von Supergruppen getestet und es steht wohl auch auf der Webseite von telegram.
Zitat von: viegener am 30 April 2016, 23:18:58
Muss keiner testen. Leider geht das nicht, telegram unterbindet sogar, dass ein Bot Nachrichten von anderen Bots sieht in einer Gruppe sieht. Ich habe das mal im Zuge von der Einführung von Supergruppen getestet und es steht wohl auch auf der Webseite von telegram.
Ok, so etwas in der Art dachte ich mir schon. Vielen Dank für die Antwort und für das Modul. Ich werde es trotzdem als Rückfallstufe nutzen, falls ich mal nicht per VPN in mein Netz komme.
Danke und einen schönen 1. Mai.
Oli
Hallo,
nachdem yowsup7Whatsapp nur ca. 5 Tage lief, bin ich jetzt auf Telegram umgestiegen und sehr zufrieden.
Ein paar Verständnisfragen habe ich allerdings noch:
- in seinem eigenen "Chat" darf man den Bot nicht rauslöschen weil er dann angehalten ist und ich keine Nachrichten mehr empfangen kann, richtig?
- als DefaultPeer habe ich mich (natürlich) eingetragen. Wäre es möglich, dass jmd. anderes sich mit dem bot verbinden kann? Sowas möchte ich natürlich nicht... Da verstehe ich den Ablauf noch nicht so ganz.
Und wie ist der Befehl zum BotFather hin, um sich alle seine Bots anzeigen zu lassen. Kann ich den BotFather-Chat löschen und anhalten - oder was passiert dann?
Danke!
Zitat von: spel am 01 Mai 2016, 14:40:39
Hallo,
nachdem yowsup7Whatsapp nur ca. 5 Tage lief, bin ich jetzt auf Telegram umgestiegen und sehr zufrieden.
Ein paar Verständnisfragen habe ich allerdings noch:
- in seinem eigenen "Chat" darf man den Bot nicht rauslöschen weil er dann angehalten ist und ich keine Nachrichten mehr empfangen kann, richtig?
- als DefaultPeer habe ich mich (natürlich) eingetragen. Wäre es möglich, dass jmd. anderes sich mit dem bot verbinden kann? Sowas möchte ich natürlich nicht... Da verstehe ich den Ablauf noch nicht so ganz.
Und wie ist der Befehl zum BotFather hin, um sich alle seine Bots anzeigen zu lassen. Kann ich den BotFather-Chat löschen und anhalten - oder was passiert dann?
Danke!
Der bot ist auch ohne in einer Gruppe oder einem sonstigen Chat enthalten ist weiter erreichbar. Man kann üblicherweise auch bots als Kontakt suchen indem man den @-Namen eingibt, dann erscheinen Bots auch in der Kontaktsuche
Ja jemand anders kann dem Bot Nachrichten schicken und auch Komandos ausführen, wenn das Attribute
cmdRestrictedPeer nicht gesetzt ist (aber z.B.
cmdKeyword ). Dieses Attribute vor Öffnung von Komandos auf jeden Fall auf gültige contact IDs setzen !!!
Den botfather chat kann man aus dem eigenen Client löschen, die Bots bleiben danach erhalten.
Die Bots auflisten kann man durch Ausführung eines der Kommandos im botfather z.B.
/setabouttext . Dann erscheint eine Tastatur mit allen bots.
Ich habe gerade noch ein paar Versuchen gemacht:
Egal ob man den Chat im Client löscht (oder nur den Verlauf löscht), der Bot kann weiterhin Nachrichten an den Benutzer senden.
Erst wenn man in den Optionen im chat "Bot anhalten" wählt, wird der Bot geblockt und es lassen sich keine Nachrichten mehr an den Benutzer verschicken.
Durch "neu starten" lässt sich das aber leicht lösen.
=> Dies sind die Optionen im Android-Client in iOS / Web etc heisst das unter Umständen anders.
Nachdem WA an deren Protokoll schraubt und alle nicht konformen Zugriffe block bin ich vor einer Woche auf TelegramBot umgestiegen.
Großes Kompliment, das Modul ist toll implementiert und es macht deutlich mehr Laune, mit einer "offiziellen" Schnittstelle und der damit verbundenen Stabilität und Verläßlichkeit zu arbeiten.
Eine kleine Erweiterungsanfrage hätte ich aber:
Ich habe bei "yowsup" immer das Attribut "allowedCommand" genutzt, um nur "set" und "get" zuzulassen.
Im FHEM Modul "allowed" gibt es mit dem Attribut "allowedCommands" eine ähnliche Implementierung der selben Funktionalität.
Das Attribut "cmdTriggerOnly" vom TelegramBot hilft mir nicht weiter, da ich damit für zig Devices extra Notifys anlegen müsste.
Es wäre super, wenn das im TelegramBot noch ergänzt werden könnte. Vielleicht kann man den notwendigen Code ja teilweise sogar bei einem der beiden anderen Module "entleihen".
Zitat von: weini am 04 Mai 2016, 18:25:07
Nachdem WA an deren Protokoll schraubt und alle nicht konformen Zugriffe block bin ich vor einer Woche auf TelegramBot umgestiegen.
Großes Kompliment, das Modul ist toll implementiert und es macht deutlich mehr Laune, mit einer "offiziellen" Schnittstelle und der damit verbundenen Stabilität und Verläßlichkeit zu arbeiten.
Eine kleine Erweiterungsanfrage hätte ich aber:
Ich habe bei "yowsup" immer das Attribut "allowedCommand" genutzt, um nur "set" und "get" zuzulassen.
Im FHEM Modul "allowed" gibt es mit dem Attribut "allowedCommands" eine ähnliche Implementierung der selben Funktionalität.
Das Attribut "cmdTriggerOnly" vom TelegramBot hilft mir nicht weiter, da ich damit für zig Devices extra Notifys anlegen müsste.
Es wäre super, wenn das im TelegramBot noch ergänzt werden könnte. Vielleicht kann man den notwendigen Code ja teilweise sogar bei einem der beiden anderen Module "entleihen".
OK, ich hatte schon selber darüber nachgedacht, aber auf die erste Anfrage aus der Community gewartet. Kommt auf die Todoliste und sollte bald machbar sein.
Johannes
Das klingt spitze, würde mich sehr freuen!
Vielen Dank im Voraus!
OK, neue Version im github mit allowedCommands (analog FHEMWeb und yowsup)
Bitte mal ausprobieren, bevor ich das über udpate verfügbar mache.
Hallo Johannes!
Das ging ja schnell.
Funktioniert bei mir einwandfrei: Wenn das Attribut gesetzt ist, dann werden Befehle dich nicht in der Liste stehen abgelehnt.
Für die Dokumentation: "allowendCommands" wirkt auch für Favoriten.
Seiteneffekte mit "cmdTriggerOnly" habe ich nicht getestet. Prinzipiell könnte man das jetzt durch "attr allowed_<tgbName> allowedCommands trigger" ablösen, dann muss aber in der Nachricht "trigger" als Befehl mitgegeben werden.
Nochmal 1000 Dank für die schnelle Hilfe!
Viele Grüße,
Christian
Gern geschehen !
Ich habe in diesem Zusammenhang cmdTriggerOnlyas deprecated markiert und werde es in einem der nächsten Versionen entfernen. Damit mache ich mir über Wechselwirkungen weniger Sorgen :D
Die Version mit allowedCommands (und dem neuen reply set command) ist auch jetzt als 1.7 in SVN
und ab morgen über update verfügbar
Bei mir funktioniert Telegram seit der Nacht vom 11.5. zum 12.5 nicht mehr. Im Modul steht der Fehler: Callback returned error:Unauthorized.
Wenn ich vom Telefon eine Meldung an den Bot senden will, erscheint auf dem Telefon hinter der Meldung ein rotes Ausrufezeichen.
Außerdem hat sich auf den Telefonen der Name des FHEM Bots geändert. Dort steht jetzt "Name Hidden".
Ich hatte vor zwei Tagen die FHEM Konfiguration erweitert. Ich hatte am 10.5. für meine Hue Leuchten ein notify hinzugefügt, das diese nach einem Stromausfall ausgeschalten werden. Dazu hatte ich FHEM mehrmals neu gestartet um diese Funktion zu testen. Dabei sollte nichts passiert sein, denn da habe ich bei jedem Neustart die entsprechende Telegram Nachricht bekommen. Danach habe ich FHEM aktualisiert und noch einmal neu gestartet. Am 11.5 sind noch 5 Meldungen gekommen. Die letzte um 20:56 Uhr.
Hat jemand eine Idee?
Ich habe noch eine Frage zu allowedCommands:
Ich möchte nur ganz bestimmte (in Perl formulierte) Kommandos zulassen.
Also habe ich allowedCommands auf {status()} gesetzt (das ist eine Funktion in 99_utils.pm, die den Hauszustand ad Telegram sendet, z.B. ob alle Fenster zu sind).
Laut Logfile hat das auch geklappt:
2016.05.13 12:07:01 3: TelegramBot_Attr Telegram: modified allowed_Telegram with commands :{status()}:
Jedoch bekomme ich
TelegramBot FHEM :
Befehl:{status()} :
Ergebnis:
Forbidden command {status()}.
Mache ich was falsch, oder geht das so nicht?
Ich kann natürlich notfalls über einen Dummy und ein Notfify darauf arbeiten, aber das wäre "von hinten durch die Brust ins Auge"...
die perl ebene kann man nur komplett erlauben. genau so wie die shell ebene. jeweils mit dem schlüsselwort perl bzw. shell.
du kannst aber mit cmdalias den jeweiligen perl code einen namen auf der fhem ebene geben und dieses dann gezielt erlauben. ohne gleich komplett perl zu erlauben.
gruss
andre
Danke! Das war das Bit, welches mir noch gefehlt hat. Nun läuft alles wie geschmiert.
Viel stressärmer als yowsup - Whatsapp scheint immer mal wieder am Protokoll zu schrauben, da ist Telegram mit der offiziell unterstützten API bestimmt stabiler.
Zitat von: HenryD am 13 Mai 2016, 07:55:01
Bei mir funktioniert Telegram seit der Nacht vom 11.5. zum 12.5 nicht mehr. Im Modul steht der Fehler: Callback returned error:Unauthorized.
Wenn ich vom Telefon eine Meldung an den Bot senden will, erscheint auf dem Telefon hinter der Meldung ein rotes Ausrufezeichen.
Außerdem hat sich auf den Telefonen der Name des FHEM Bots geändert. Dort steht jetzt "Name Hidden".
Ich hatte vor zwei Tagen die FHEM Konfiguration erweitert. Ich hatte am 10.5. für meine Hue Leuchten ein notify hinzugefügt, das diese nach einem Stromausfall ausgeschalten werden. Dazu hatte ich FHEM mehrmals neu gestartet um diese Funktion zu testen. Dabei sollte nichts passiert sein, denn da habe ich bei jedem Neustart die entsprechende Telegram Nachricht bekommen. Danach habe ich FHEM aktualisiert und noch einmal neu gestartet. Am 11.5 sind noch 5 Meldungen gekommen. Die letzte um 20:56 Uhr.
Hat jemand eine Idee?
Nicht wirklich eine Idee, aber kannst Du mal einen Chat mit dem botfather starten (von dem Account, der den bot urpsrünglich erzeugt hat) und schauen, ob Du noch etwas ändern kannst an dem Bot. Dann siehst Du auch ob da alles ok ist.
Ich habe jetzt einen neuen Bot eingerichtet. alles funktioniert wieder. Beim"alten" Bot habe ich diese Meldung bekommen:
:
Method: messages.setTyping
Url: N/A
Result: {"_":"rpc_error","error_code":400,"error_message":"PEER_ID_INVALID"}
Stack: Error
at Object.g [as invokeApi] (https://web.telegram.org/js/app.js:31:11150)
at I (https://web.telegram.org/js/app.js:36:21375)
at m.$emit (https://web.telegram.org/js/app.js:16:4877)
at MessageComposer.onTyping (https://web.telegram.org/js/app.js:52:30665)
at MessageComposer.onKeyEvent (https://web.telegram.org/js/app.js:50:25422)
at HTMLDivElement.ie.event.dispatch (https://web.telegram.org/js/app.js:5:2788)
at HTMLDivElement.f.handle (https://web.telegram.org/js/app.js:4:31558)
Ein Bot mit dem alten Namen einrichten ging nicht, da habe ich die Meldung bekommen, dass der Name schon vergeben ist (klar, an mich vergeben!)
Interessante Meldung, die scheint irgendwo aus dem telegramServer zu stammen. Mit irgendetwas bist Du wohl auf einen Fehler in deren Server gestossen.
Also ne, keine Viren in telegram unterbringen ;D
Schön aber das es wieder geht,
Johannes
Kriege seit heute nachmittag eine Fehlermeldung und BOT geht nicht mehr.
Was muss ich machen?
2016.05.16 18:00:37 3: TelegramBot_Callback TG_Klingel: resulted in :Callback returned error:Bot was blocked by the user:: from SendIt
2016.05.16 18:00:37 3: TelegramBot_Callback TG_Klingel: Reached max retries (ret: Callback returned error:Bot was blocked by the user:) for msg 55735264 : test
Latest Revision: 11150
50_TelegramBot.pm 11090 2016-03-19 21:38:31Z viegener
Hat sich was an der API geändert und muss ich ein Update machen?
Nein, Du hast in Telegram die Kommunikation mit dem bot angehalten und damit darf der Bot Dir nichts mehr senden.
Siehe auch Beschreibung hier: https://forum.fhem.de/index.php/topic,38328.msg446814.html#msg446814 (https://forum.fhem.de/index.php/topic,38328.msg446814.html#msg446814)
Zitat von: viegener am 16 Mai 2016, 19:48:54
Nein, Du hast in Telegram die Kommunikation mit dem bot angehalten und damit darf der Bot Dir nichts mehr senden.
Siehe auch Beschreibung hier: https://forum.fhem.de/index.php/topic,38328.msg446814.html#msg446814 (https://forum.fhem.de/index.php/topic,38328.msg446814.html#msg446814)
Danke!
Hatte versehentlich nicht den Verlauf , sondern den Bot im Eingang gelöscht.
Hallo viegener,
tolles Modul, danke dafür !
hier meine Frage ;) Gibt es einen Weg, das der Bot bzw das Modul Nachrichten die vom Bot selber gesendet werden auch ausliest? Wir suchen gerade verzweifelt nach einer Lösung um vom IFTTT Maker Chanel enstpannt und zeitnah Befehle an fhem zu senden. Ich habe es schon geschaft das der Bot in meinem Bot-Chat den Befehel "doit set schalter1 on" empfängt, aber das fhem Modul merkt dies leider nicht. Sende ich persönlich im Bot-Chat den Befehl klappt alles bestens. Ich habe schon den Telegram Bot Support kontaktiert, leider ohne Erfolg. Die sagen Bots lesen Nachrichten anderer Bots nicht aus und auch eine Art "User-Token" um eine URL als persönliche Nachricht unter meinen Namen zu verschicken an den Bot, gibt es leider nicht.
Sinn des ganzen ist es vom Amazon Echo Sprechbefehle zu geben, diese werden von IFTTT Amazon Alexa Channel erkannt und über den Maker Channel per URL an den Telegramm-Bot gescickt, wo dann dein Modul zum Einsatz kommen sollte und die von den Bot gesendeten Befehele im fhem ausführt.
Das wäre meine letzte Hoffnung im Moment, vielleicht weist du ja ob so etas funktioniert ? Eine Info darüber wäre auf jeden Fall cool.
Hier geht es zur den detailierten Infos unserer Versuche:
https://forum.fhem.de/index.php/topic,41082.msg448259.html#msg448259
Danke.
Beste Grüße 8)
Hallo Murdock,
über telegramBot gibt es dazu leider keine Lösung, ich habe auch keine Möglichkeit gefunden, dass ein Bot die Nachrichten anderer Bots lesen kann. Alle Versuche die ich dazu mal angestellt habe waren nicht erfolgreich.
Ohne, dass ich das empfehlen möchte gäbe es die Möglichkeit in FHEM das veraltete und nicht mehr weitergpeflegte 70_Telegram-Modul zu verwenden. Dieses ist am Anfang dieses Threads auch noch beschrieben (und auch im fhemwiki). Das 70_Telegram-Modul meldet sich als normaler Benutzer mit Telefonnummer in telegram an und könnte so auch nachrichten von Bots lesen. Generell kann das Modul auch Kommandosausführen.
Aber wie gesagt: Dieses Modul wird nicht mehr weitergepflegt, ist auf einem deutlich älteren Stand und erfordert auch die Installation von telegram-cli (siehe dazu fhemwiki)
Gruss,
Johannes
Hallo Johannes,
vielen Dank für deine schnelle Antwort. Dann weiss ich jetzt, das ich das so nicht weiter verfolgen brauche und teste jetzt mal mit dem 70_Telegram-Modul ein bischen rum. Solltest du dennoch irgendwann durch Zufall beim Programmieren auf eine Lösung stoßen, so schreib das bitte hier irgendwo rein, da deine Lösung mit dem telegramBot für mich bis jetzt echt der zeitnahste und ressourcenschonensde Ansatz war.
Vielen Dank
Gruss,
Sven
Hallo,
Ich habe seit kurzem das Problem das ich keine Bilder mit Beschreibung versenden kann. Habe leider vorher kein Backup angelegt und weiß im Moment nicht woran es liegt.
Bilder ohne Text bekomme ich mit sendImage weg, das ist kein Problem.
Sobald ich einen Text versende:
set TelegramBot sendImage /opt/fhem/plot.png Das ist ein Test
Kommt folgende Fehlermeldung:
2016.05.29 14:54:54 3: TelegramBot_Callback TelegramBot: resulted in :Callback returned error:Bad Request: Can't parse reply keyboard markup JSON object:: from SendIt
2016.05.29 14:54:54 3: TelegramBot_Callback TelegramBot: Reached max retries (ret: Callback returned error:Bad Request: Can't parse reply keyboard markup JSON object:) for msg 100376656 : /opt/fhem/plot.png
Woran kann das liegen? Was kann ich machen?
Ich würde ungerne nach dem Bild die Beschreibung senden, sondern lieber wieder als Caption dazu senden.
Ich hoffe mir kann da jemand helfen
@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.
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
Danke dir für die schnelle Reaktion und für das noch schnellere Hotfix. :)
Gesendet von meinem SM-G900F mit Tapatalk
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
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
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?
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.
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
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.
{ my $msg="äöüßß-1";; fhem("set TYPE=TelegramBot msg $msg") }
Kein Empfang
{ my $msg="aa";; fhem("set TYPE=TelegramBot msg $msg") }
wird empfangen
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?
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
Mmmmh, ratlos...
Hat es denn vorher funktioniert und wisst Ihr noch welche Version vorher in Betrieb war?
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!
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...
siehe log im Anhang,
ich hab name, vorname, id ersetzt, damit nicht jeder das sieht.
hab beide befehle abgesetzt, mit Umlauten und ohne
Hallo,
habe auch auf einmal das Problem das Bilder nicht mehr gesendet werden. Hier ein auszug aus dem logfile:
TelegramBot_Callback Kamera_Bot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
TelegramBot_Callback Kamera_Bot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg Holgi_XXX : /opt/fhem/snaps/testbild.jpg
Gruß Holgi
Zitat von: The-Holgi am 02 Juni 2016, 07:50:55
Hallo,
habe auch auf einmal das Problem das Bilder nicht mehr gesendet werden. Hier ein auszug aus dem logfile:
TelegramBot_Callback Kamera_Bot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
TelegramBot_Callback Kamera_Bot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg Holgi_XXX : /opt/fhem/snaps/testbild.jpg
Gruß Holgi
Versendest Du Bilder mit Captions (Bildunterschriften) und hast Du ein update (nach dem 30.5.) gemacht? Ansonsten mache doch ein Update, ich habe hier einen Fix gemacht.
Sollte das nicht helfen müsste ich wissen, ob auch Du Umlaute in den Bildunterschriften versendest?
Hallo,
Danke für die schnelle Antwort.
Ich verwende keine Bildbeschreibungen. Laut updatecheck gibt es keine neue Version.
Bei mir läuft 50_TelegramBot.pm 11548 2016-05-29 15:34:26Z viegener sollte die neueste Version sein oder ?
Es wäre möglich das es seit dem update nicht mehr geht. Hatte soweit nichts verändert. Text kann ich problemlos versenden, es sei denn es sind umlaute im Text.
Verschicke die Bilder mit einem DOIF :
([klingel] eq "off") ( set VU_Uno remotecontrol 1) (get ipcam1 image) (set Summer_schuppen on-for-timer 10) (set Kamera_Bot sendImage @Holgi_XXX @Ulla_XXX /opt/fhem/snaps/ipcam1_snapshot.jpg ) (set VU_Uno remotecontrol 0)
Vielleicht könnte das auch was damit zu tun haben ?
2016.06.02 09:12:25 1: PERL WARNING: substr outside of string at FHEM/HttpUtils.pm line 403.
2016.06.02 09:12:25 1: PERL WARNING: Use of uninitialized value $data in numeric eq (==) at FHEM/HttpUtils.pm line 404.
Edit: Ist zwar keine Lösung für das Problem aber mit Version:
50_TelegramBot.pm 11090 2016-03-19 21:38:31Z viegener $
geht es wieder.
Gruß Holgi
@ The-Holgi, knopf_piano, scooty: Es scheint sich alles um dasselbe Problem zu handeln und ich habe immer noch keine Ahnung warum Eure Installation/Perl sich anderes verhält als meine Umgebungen, ich habe aber eine mögliche Erklärung und den Versuch einer Lösung.
Anbei eine Testversion, die hoffentlich bei Euch das Problem löst. Es wäre toll, wenn einer von Euch die Version mal ausprobieren könnte.
Ich verstehe zwar immer noch nicht warum bei Euch ein Problem auftritt und bei mir nicht. Es hat aber wohl mit unterschiedlichen Unterstützungen für unicode zu tun und perl ist dabei etwas speziell.
top, das geht (schnellcheck)
OK, Danke für der ersten test, ich warte mal noch einen Tag ab auf andere Rückmeldungen, bevor ich das ins SVN hochlade
Nochmals Danke für's Kümmern, von mir leider nicht so gute Nachrichten:
Der Messagetext
äüöß
wird zwar versendet kommt aber als
äüöÃ
beim Empfänger an.
Anbei der Debug-Eintrag aus dem Log:
2016.06.03 11:18:39.927 1: DEBUG>send command :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
72773459
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
äüöß
--TelegramBot_boundary-x0123--:
Ist diese Info ausreichend oder brauchst Du noch ein verbose 5 Log?
Andreas
das kann m.E. an der perl-version liegen,
wie gesagt geht die Version bei mir mit perl v5.20
@scooty: kannst du die perl-version bei dir mal hochziehen, oder gibt's per apt nur die 5.14?
Zitat von: knopf_piano am 03 Juni 2016, 11:46:20
@scooty: kannst du die perl-version bei dir mal hochziehen, oder gibt's per apt nur die 5.14?
Per apt-get gibt's leider nur die 5.14 (="perl ist schon die neueste Version").
Andreas
Kann es sein, dass Ihr eines der folgenden Module einsetzt?:
allergy
Jabber
Pushalot
Pushbullet
Pushover
oder aus contrib noch
andnotify
gcmsend
FS20ZDR
Gruss,
Johannes
Nein, ich nutze keines der Module.
Andreas
Hallo, ich nutze Pushover.
Werde die "Testversion" morgen mal installieren und berichten.
Danke erstmal für deine Arbeit.
Gruß Holgi
Zitat von: viegener am 03 Juni 2016, 01:43:58
OK, Danke für der ersten test, ich warte mal noch einen Tag ab auf andere Rückmeldungen, bevor ich das ins SVN hochlade
Hi viegener,
Rückmeldung: aktuell keine Auffälligkeit mit dieser letzten Version bei mir.
Grüße und fettes Dankeschön!
Hallo
Mit der Testversion läuft es jetzt bei mir auch wieder. Ich nutze auch folgende Module:
allergy
Pushalot
Pushbullet
Erst einmal vielen Dank, das es wieder funktioniert. :)
Gruß
Gigafix
Zitat von: knopf_piano am 31 Mai 2016, 21:56:29
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"
Dieses Problem konnte ich beheben, indem ich hier die Variable $var noch folgendes angehangen habe.
."."War natürlich bei ca. 20 verschiedenen Telegram_Bot Aufrufen etwas Arbeit.
Was bei mir auch noch aufgefallen ist, in meiner Anwendung der Unwetterzetrale, werden (gerade jetzt bei den vielen Unwetterwarnungen) mehrere Meldungen in kurzer Zeit an mehrere Empfänger geschickt, hier werden ebenso Meldungen mit der Fehlermeldung
"sentMsgResult NonBlockingGet timed out on read from <hidden> after 30s" quittiert und nicht veersendet, obwohl der Aufruf dazu immer gleich ist.
Gruß Himbi777
Hi viegener,
ist es eigentlich auch möglich, Sonderzeichen/literals
U+27F2
oder \xe2\x9f\xb2
auf den Bot zu schicken?
Ist nicht dringend, würde nur die Lesbarkeit für mein Kalendercheck aus dem thread hier erhöhen
https://forum.fhem.de/index.php/topic,53207.0.html (https://forum.fhem.de/index.php/topic,53207.0.html)
Ich versuche gerade den code hier im Thread von Reinerlein zum laufen zu bringen
:msgText:.received.voice.* { my $url = fhem("get $NAME urlForFile ".ReadingsVal($NAME, 'msgFileId', ''));
my $fileName = "${NAME}_$1" if ($url =~ m/.*\/(.*)/);
my $newFileName = "$1.mp3" if ($fileName =~ m/(.*)\..*/);
writeFile('/mnt/SonosSpeak/'.$fileName, get($url));
qx(/usr/bin/avconv -i /mnt/SonosSpeak/$fileName /mnt/SonosSpeak/$newFileName);
fhem('set '.ReadingsVal($NAME, 'currentSpeakPlayer', 'tmperror').' PlayURITemp \\\\192.168.178.108/SonosSpeak/'.$newFileName.' '.ReadingsVal($NAME, 'currentSpeakVolume', 5));
}
Bekomme dann aber das hier im log zurückgeliefert
2016.06.06 20:21:34 3: sonos_telegrambot return value: Unknown command {, try help.
Unknown command my, try help.
Unknown command my, try help.
Unknown command writeFile('/mnt/SonosSpeak/'.$fileName,, try help.
Unknown command qx(/usr/bin/avconv, try help.
Unknown command fhem('set, try help.
Unknown command }
Wenn ich ${NAME}_$1 abändere in $NAME schreibt er mir zwar eine Datei legt es aber nicht als mp3 ab.
avconv ist installiert
Andre
Ich versuche grad SendPhoto/Image zum Laufen zu bekommen.
Erst hatte ich nur eine Fehlermeldung, dann habe ich die Testversion installiert.
Jetzt bekomme ich viel Debug im Log und folgenden Fehler:
--TelegramBot_boundary-x0123--:
2016.06.06 23:06:30 3: TelegramBot_Callback merlin1bot: resulted in :Callback returned error:IMAGE_PROCESS_FAILED:: from SendIt
2016.06.06 23:06:30 3: TelegramBot_Callback merlin1bot: Reached max retries (ret: Callback returned error:IMAGE_PROCESS_FAILED:) for msg xxx : /opt/fhem/www/snapshots/Cam2_snapshot.jpg
System und Raspberry sind sonst alle auf dem aktuellen Stand.
Zitat von: Merlin1 am 06 Juni 2016, 23:16:21
Ich versuche grad SendPhoto/Image zum Laufen zu bekommen.
Erst hatte ich nur eine Fehlermeldung, dann habe ich die Testversion installiert.
Jetzt bekomme ich viel Debug im Log und folgenden Fehler:
--TelegramBot_boundary-x0123--:
2016.06.06 23:06:30 3: TelegramBot_Callback merlin1bot: resulted in :Callback returned error:IMAGE_PROCESS_FAILED:: from SendIt
2016.06.06 23:06:30 3: TelegramBot_Callback merlin1bot: Reached max retries (ret: Callback returned error:IMAGE_PROCESS_FAILED:) for msg xxx : /opt/fhem/www/snapshots/Cam2_snapshot.jpg
System und Raspberry sind sonst alle auf dem aktuellen Stand.
Bitte nicht die Testversion installieren, wenn Du kein Problem mit Umlauten hast. Die Fehlermeldung kommt bei der Testversion für Bilder.
Welche Fehlermeldung kam denn vorher?
Zitat von: viegener am 07 Juni 2016, 01:29:33
Bitte nicht die Testversion installieren, wenn Du kein Problem mit Umlauten hast. Die Fehlermeldung kommt bei der Testversion für Bilder.
Welche Fehlermeldung kam denn vorher?
Im Last Error " NonBlockingGet timed out on read from after 30s "
Ich habe dann eine alte Version installiert, damit ich mit dem Skript vorankomme. Version 1.5. und da lief es auf Anhieb.
; war der übeltäter aber wie das so ist bei copy paste übersieht man leicht mal was
Ansonsten tolles Modul macht mir vieles einfacher......
Zitat von: knopf_piano am 05 Juni 2016, 18:04:40
Hi viegener,
ist es eigentlich auch möglich, Sonderzeichen/literals
U+27F2
oder \xe2\x9f\xb2
auf den Bot zu schicken?
Ist nicht dringend, würde nur die Lesbarkeit für mein Kalendercheck aus dem thread hier erhöhen
https://forum.fhem.de/index.php/topic,53207.0.html (https://forum.fhem.de/index.php/topic,53207.0.html)
Bisher gibt es das nicht, ich nehme das mal auf meine Todoliste, ist aber momentan etwas knapp ich versuche immer noch rauszufinden was momentan die Probleme mit Umlauten auslöst.
kein streß damit.
Das ist ja nicht so wichtig, freut mich aber, wenn du's als Idee mit aufnimmst.
Grüße!
Ich habe nach dem Update auf die Version 11548 2016-05-29 15:34:26Z viegener das folgende Problem:
2016.06.08 18:08:35 3: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2016.06.08 18:08:35 3: TelegramBot_Callback Telegram: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg Ralli : ÜEA: Garagentor Benachrichtigung
Es liegt am Ü. Nehme ich das Ü aus der zu sendenden Nachricht raus, klappt's.
Danke für Eure Geduld, leider bin ich aber mit der Ursache für das Problem beim Versenden von Umlauten noch nicht wirklich auf den Grund gekommen. Status:
- Mit der Aktuellen Version aus dem SVN geht das problemlos bei mir
- Mit der testversion geht es ebenfalls bei mir und auch bei einigen anderen (in zumindest einem Fall sorgt es aber für Fehlkonvertierung von Zeichen) --> trotzdem ist es nur eine Testversion und sollte nur dazu dienen das Problem näher einzukreisen
Aktueller Plan, die gesamt Behandlung der Nachrichten sowohl von telegram als auch aus fhem nochmals durchgehen und die gesamte Behandlung von unicode codierungen neu machen. Das dauert aber leider noch etwas.
Hallo viegener
Die Version 11395 läuft bei mir stabil.
Die Version 11548 steigt regelmäßig mit NonBlockingGet timed out on read from <hidden> after 65s aus.
Laut API lassen sich auch Nachrichten als html versenden (Fettschrift).
Dein Modul unterstützt das aber nicht, oder ?
Gruß Peter
Zitat von: viegener am 09 Juni 2016, 00:49:04
Aktueller Plan, die gesamt Behandlung der Nachrichten sowohl von telegram als auch aus fhem nochmals durchgehen und die gesamte Behandlung von unicode codierungen neu machen. Das dauert aber leider noch etwas.
Kein Thema, ist ja auch eher ein "kosmetisches" Problem, ohne Umlaute funktioniert es ja hervorragend.
Und überhaupt: vielen Dank für's Kümmern. :)
Andreas
Hi,
kann mir einer sagen wie ich das https://www.youtube.com/watch?v=at6fRLsXfEs (https://www.youtube.com/watch?v=at6fRLsXfEs) nachbaue?
Steht unter dem Video.
Es gibt hier im Forum auch noch einige gute Beispiele, wie sowas zu machen ist. chatbot wäre ein Stichwort.
Zitatchatbot wäre ein Stichwort.
Ok, danke. Da finde ich schon was ;)
So, ich habe jetzt mal das ganze UTF8-Zeugs komplett umgebaut und eine neue Version erstellt, die bei mir jetzt mit allen Umlauten und Szenarien, die ich testen konnte stabil funktioniert. Diese habe ich hier angehängt.
@Ralli, PeterS, knopf_piano, Himbi777, The-Holgi und wer sonst noch betroffen war:
Alle die Probleme mit Umlauten hatten und/oder timeout meldungen beim Senden bitte ich nochmals mit dieser Version zu testen, ich möchte das ungern über SVN machen, solange ich nicht einigermassen sicher sein kann, dass das auch ausserhalb von meinen Installationen funktioniert:
Wenn es dabei weiter timeouts / Fehler gibt, wäre ein log-Auszug mit (verbose 4) extrem hilfreich, denn es gibt offensichtlich Unterschiede zwischen perl und perl-library-Versionen die diese Probleme auslösen.
Also Rückmeldung wäre sehr hilfreich.
Danke für die Geduld
Hallo Johannes,
bin gerade dabei ein neues Sensorboard von Tobias Müller einzurichten (Temperatur/Feuchte und Luftgüte).
Dabei bin ich nun auch über das Umlaute Problem gestossen als ich nun ein Favorit für die Luftgüte (mit "ü") anlegen wollte.
Mit
Zitat/start
habe ich mir die Liste neu schicken lassen und hier sieht man nun das alles was mit "ü"
geschrieben wird, von Telegram nicht Blau markiert wird. Man kann also nur z.B.
Zitat/start7
anwählen, aber nicht
Zitat/luftgüte
Sobald die Umlaute raus sieht geht es.
Wie mir jetzt dann auch erst auffiel besteht das Problemchen ja schon länger bei mir.
Habe darauf aber nie geachtet weil es nicht so relevant war ::)
Das gleiche gab es hier schon mit
Zitat/LüfterAn
und
Zitat/LüfterAus
War der Meinung das Problem betrifft mich nicht 8)
Schön das Du gerade ein Update eingespielt hast. Werde es gleich testen und wieder berichten!
Bis in 10min , oder so.
Gerd
Hallo Johannes,
habe die Version von heute "Date: Sat, 11 Jun 2016 20:21:01 GMT" aktiviert.
Bei den Befehlsausgaben hat sich nichts geändert.
Denke mal das der TelegramBot hier einfach keine Umlaute mag?
Im Screenshot sieht man das.
Erste Versuch ohne Umlaute > /start7 und /Luftguete werden Blau angezeigt.
Beim zweiten Versuch ist die /Luftgüte nicht mehr Blau und auch nicht anklickbar.
Edit: Johannes, ich schick Dir mein Log mit Verbose 4 direkt zu.
Gruss Gerd
@maista: Ich habe mir die Beschreibung und das log angeschaut. Generell scheint es so zu sein, dass bei Dir die Konvertierung soweit funktioniert. Es ist wirklich so, dass telegram in commands (also in Befehlen, die mit / eingeleitet werden) keine Umlaute erlaubt:
ZitatCommands can use latin letters, numbers and underscores
Deshalb wird das nicht blau markiert, es ist kein Kommando aus Sicht von telegram.
Das Umlauteproblem der anderen ist aber etwas anders, denn da werden (wurden ?) bei Umlauten im Text keine Nachrichten übertragen. Bei Dir kommen die Umlaute ja sauber durch und auch wieder in FHEM an. Also bei Dir funktioniert die neue Version. Die Einschränkung bei den Commands auf die obigen Zeichen ist etwas was vermutlich nicht kurzfristig geändert wird. Generell würde aber auch ein solches Kommando mit fhem funktionieren, es würde eben nur nicht automatisch im Client markiert.
Hallo Johannes,
alles klar. War die letzte Zeit nicht am probieren und habe auch nicht komplett verfolgt wo genau das Problem lag mit den Umlauten.
Schönes Wochenende.
Gerd
Zitat von: viegener am 11 Juni 2016, 20:03:07
So, ich habe jetzt mal das ganze UTF8-Zeugs komplett umgebaut und eine neue Version erstellt, die bei mir jetzt mit allen Umlauten und Szenarien, die ich testen konnte stabil funktioniert. Diese habe ich hier angehängt.
@Ralli, PeterS, knopf_piano, Himbi777, The-Holgi und wer sonst noch betroffen war:
Alle die Probleme mit Umlauten hatten und/oder timeout meldungen beim Senden bitte ich nochmals mit dieser Version zu testen
Danke! Mein Anwendungsfall funktioniert nun (wieder).
Mit der Testversion (https://forum.fhem.de/index.php/topic,38328.msg460971.html#msg460971) funktionieren Umlaute in Messages bei mir auch.
Vielen Dank,
Andreas
Zitat von: viegener am 11 Juni 2016, 20:03:07
So, ich habe jetzt mal das ganze UTF8-Zeugs komplett umgebaut und eine neue Version erstellt, die bei mir jetzt mit allen Umlauten und Szenarien, die ich testen konnte stabil funktioniert. Diese habe ich hier angehängt.
@Ralli, PeterS, knopf_piano, Himbi777, The-Holgi und wer sonst noch betroffen war:
Alle die Probleme mit Umlauten hatten und/oder timeout meldungen beim Senden bitte ich nochmals mit dieser Version zu testen, ich möchte das ungern über SVN machen, solange ich nicht einigermassen sicher sein kann, dass das auch ausserhalb von meinen Installationen funktioniert:
Wenn es dabei weiter timeouts / Fehler gibt, wäre ein log-Auszug mit (verbose 4) extrem hilfreich, denn es gibt offensichtlich Unterschiede zwischen perl und perl-library-Versionen die diese Probleme auslösen.
Also Rückmeldung wäre sehr hilfreich.
Danke für die Geduld
Umlaute werden bei mir geschickt, passt
der geht auch, klappt bei mir somit
{ my $msg="äöüßß-1";; fhem("set TYPE=TelegramBot msg $msg") }
Hi, bin ich hier richtig für einen Wunsch nach \t ?
In Nachrichten kann ich mit \n eine Newline erzeugen, wenn ich das ganze jetzt noch grob ausrichten könnte, wär das cool ...
und je nachdem wieviel Arbeit es ist und ob dus unterstützen magst, wären hier noch ein paar häufig benutzte Kommandos:
http://linux.die.net/man/1/printf
Grüße und Danke
Stephan
Zitat von: abc2006 am 20 Juni 2016, 18:08:41
Hi, bin ich hier richtig für einen Wunsch nach \t ?
In Nachrichten kann ich mit \n eine Newline erzeugen, wenn ich das ganze jetzt noch grob ausrichten könnte, wär das cool ...
und je nachdem wieviel Arbeit es ist und ob dus unterstützen magst, wären hier noch ein paar häufig benutzte Kommandos:
http://linux.die.net/man/1/printf
Grüße und Danke
Stephan
Hallo Stephan,
das würde ich gerne machen, da ich gerne gut formatierte Nachrichten senden würde. Leider filtert telegram Leerzeichen (insbesondere am Anfang von Zeilen) heraus. Es gibt zwar Möglichkeiten über die speziellen Formatierungen zu gehen, das wurde aber bisher nicht von allen Clients unterstützt.
Johannes
Hi,
bei mir wäre die Anwendung
Name:\t[Reading]. Würde evtl gehen.
Was sind denn die speziellen Formatierungen, von denen du sprichst?
Kannst du mir einen Tipp geben, wo ich Informationen darüber finde?
Danke
Stephan
Zitat von: abc2006 am 21 Juni 2016, 19:45:36
Hi,
bei mir wäre die Anwendung
Name:\t[Reading]. Würde evtl gehen.
Was sind denn die speziellen Formatierungen, von denen du sprichst?
Kannst du mir einen Tipp geben, wo ich Informationen darüber finde?
Danke
Stephan
Habs gerade mal getestet, die Leerzeichen werden auch das rausgefiltert. Kannst Du selber ausprobieren.
Stimmt.... von Handy zu handy gehts aber, auch mit vielen Leerzeichen dazwischen ....
Grüße
Stephan
Die Sonderformatierungen werden hier beschrieben: https://core.telegram.org/bots/api#markdown-style (https://core.telegram.org/bots/api#markdown-style)
Achtung, diese werden aber bisher nicht von meinem Modul unterstützt.
Ich habe mal gerade noch ein wenig experimentiert, es sieht wohl so aus, als ob man doch die Leerzeichen durch das Bot API schleusen kann. Allerdings werden Tab-Zeichen nicht unterstützt. Also mach ich mich mal an eine Implementierung.
fände ich ziemlich cool, wenn ich was testen soll, sag bescheid!
@Otto
Das war mein Video bei YouTube ;) Danke. Hättest mich da auch anschreiben können. Wenn du noch bedarf an so einem chatbot hast....unter Codeschnipsel habe ich den Code gepostet. Den Link zu dem Beitrag findest du auch unter dem YouTube Video.
Bin noch an einem FhemBot dran. Wenn du noch Interesse hast
Habe mich auch mal an die Steuerung über Telegram gewagt.
Im Wiki habe ich folgendes gelesen:
<---
Die Antworten werden als Schaltflächen dargestellt (Telegram inline Keyboard) und können am Mobile-Client direkt angeklickt werden um sie auszuführen. Um die Beschriftung der Schaltflächen zu optimieren, können die Befehle im Attribut favorites mit Beschreibungen versehen werden:
[Rollaeden zu ]=set TYPE=ROLLADEN pos 100;[Rollaeden auf]=set TYPE=ROLLADEN pos 0
Nun antwortet der Bot auf das Schlüsselwort für die Favoriten mit:
Favorites
/short1 = Rollaeden zu
/short2 = Rollaeden auf
-->
Gesetzt ist CMDKEYWORD = mache
CMDFAVORITES = /menu
FAVORITES [Heizung an]=set Heizung on; [Heizung aus]=set Heizung off etc.
Jetzt habe ich folgendes Problem.
Nach der Eingabe in Telegram-Client von
"/menu"
...TelegramBot fhem : (59657275) Favorites 1 mache [Heizung an]=set Heizung on 2 mache [Heizung aus]=set Heizung off
Es werden keine Schaltflächen auf dem Smartphone angezeigt.
Habe ich was vergessen?
@kud: Kannst Du mal ein Listing Deines TelegramBot-Devices in code tags hier einstellen (URLs / Kontakte bitte unkenntlich machen)
Sorry :-\ Verstehe nicht was Du braucht. ???
Die Ausgabe von list oder ein Bildschirmfoto?
Ich habe mal ein "list teleBot" gemacht siehe PDF.
Mit dieser Konfig funktioniert ein zB. /menu 1
Dann habe ich die Favoriten mal abgeändert (verkürzt).
Attributes:
cmdFavorites /menu
cmdKeyword mache
defaultPeer Kai-Uwe
favorites [Wasser Ein]=set Eicherwasserpumpe on-for-timer 900;[Ventil1 ein]= set Eicherventil1 on-for-timer 180
pollingTimeout 120
Es werden keine Schaltflächen angezeigt und ein /menu 1 geht nicht..
Ausgabe am Telegram-Client:
TelegramBot fhem cmd :[Ventil1 ein]= set Eicherventil1 on-for-timer 180: result :Unknown command [Ventil1, try help.:
@tiroso
ok, danke.
Ich habe zwischenzeitlich mir selber was gebaut.
Läuft gut ;)
ZitatBin noch an einem FhemBot dran. Wenn du noch Interesse hast
Logo, schaue ich mir gerne an
Zitat von: kud am 23 Juni 2016, 14:48:58
Ich habe mal ein "list teleBot" gemacht siehe PDF.
Mit dieser Konfig funktioniert ein zB. /menu 1
Dann habe ich die Favoriten mal abgeändert (verkürzt).
Attributes:
cmdFavorites /menu
cmdKeyword mache
defaultPeer Kai-Uwe
favorites [Wasser Ein]=set Eicherwasserpumpe on-for-timer 900;[Ventil1 ein]= set Eicherventil1 on-for-timer 180
pollingTimeout 120
Es werden keine Schaltflächen angezeigt und ein /menu 1 geht nicht..
Ausgabe am Telegram-Client:
TelegramBot fhem cmd :[Ventil1 ein]= set Eicherventil1 on-for-timer 180: result :Unknown command [Ventil1, try help.:
So jetzt habe ich mir das nochmal genauer angeschaut.
Für einen Alias oder einen Beschreibungstext muss immer ein / am Anfang angegeben werden, wie in der commandref beschrieben. Das beispiel im wiki ist wohl inkorrekt.
favorites /[Wasser Ein]=set Eicherwasserpumpe on-for-timer 900;/[Ventil1 ein]= set Eicherventil1 on-for-timer 180
müsste also gehen
Nachdem ich das geändert habe kommt nach einem "/menu" folgende Meldung zurück(PC als auch Handy)
TelegramBot fhem : (59657275) Favorites 1 mache /[Wasserpumpe 15min]=set Eicherwasserpumpe on-for-timer 900 2 mache /[Ventil1 3min]=set Eicherventil1 on-for-timer 180 3 mache /[Ventil2 3min]=set Eicherventil2 on-for-timer 180 4 mache /[Ventil3 3min]=set Eicherventil3 on-for-timer 180 5 mache /[Tunnel ein]={system("sudo /usr/sbin/vpnc fritz.conf")} 6 mache /[Tunnel aus]={system("sudo /usr/sbin/vpnc-disconnect")}
Die Eingabe /menu 1 wird entsprechend mit einem Fehler "...Unknown Command..." ebenfalls nicht ausgeführt.
Ich habe mir mal die Commandref "Telegrambot" reingezogen.
Dazu habe ich Fragen.
1. Warum wird bei den Favoriten immer das CMDKeyword vorangestellt?
2. <<<<get lights status; /light=set lights on; /dark[Make it dark]=set lights off; /heating=set heater; /[status]=get heater status;
Then a message "favorite1" to the bot would execute the command get lights status
A message "favorite 2" or "/light" to the bot would execute the command set lights on. And the favorite would show as "make it dark" in the list of favorites.
A message "/heating on" or "favorite 3 on" to the bot would execute the command set heater on
>>>>
Warum ist "make it dark" nicht favorit 3 sondern erst /heating ?
Trotzallem. Meine Favoriten gehen nicht nach dem Muster /[Beschreibung]=set xyz und von der Inline-Tastatur , wie im Wiki beschreiben, sehe ich auch nichts.
Bin ich da der Einzigste?
Zitat von: kud am 24 Juni 2016, 11:07:45
Bin ich da der Einzigste?
Nein. Aber vielleicht der einzige!
Sorry für OT, aber bei sowas kräuseln sich mir die Fußnägel.
Unabängig davon ist deine Frage schwer zu verstehen.
OT
@marvin78:
"Der prominenteste Vertreter eines fälschlicherweise gesteigerten Absolutadjektivs ist das Wort einzigst"
;D "Die einzigste und perfekteste Möglichkeit, diesem sprachlichen Misstand optimalst zu begegnen, ist jedem Internetnutzer, der sich dermaßen totalst an der deutschen Sprache vergeht, einen Link zu dieser Aufklärungs-Webseite zu schicken. Der Autor dieser Webseite würde sich enormst darüber freuen, da er die gesteigerten Absolutadjektive in den letztesten zwei Sätzen leider immer häufiger in persönlichen Gesprächen zu hören bekommt."
http://www.einzigste.info/
Asche auf mein Haupt :'(
Zurück zum Thema:
Also ich hab mal weiterprobiert.
In meinem Haus-Telebot habe ich mal die Favoriten aktiviert.
Wenn ich da /menu eingebe sehe ich die Schaltflächen der Favoriten .
Der TelegramBot im Garten läuft nur über Mobilfunk. Vielleicht hängt es daran.
Des weiteren ist mir aufgefallen, dass im GartenBot unter Readings - storedcommands ne ganze Menge drinsteht:
<<<
mache Eicherventil2 on-for-timer 200 mache set Eicherventil1 on-for-timer 200 mache list Eicherw.* mache {system("sudo /usr/sbin/vpnc fritz.conf")} mache set Eicherwasserpumpe on-for-timer 1200 mache set Eicherventil1 on-for-timer 250 mache set Eicherventil2 on-for-timer 250 mache set Eicherventil3 on-for-timer 250
>>>
Beim HausBot steht nur ein Eintrag mit einem uralten Datum.
@kud: Ich vermute nicht, dass es am Mobilfunk liegen kann. Ich denke es gibt Unterschiede in den Installationen. Leider war der list den Du bereitgestellt hast ja von dem Bot, der funktioniert und auch keine solchen Favoriten enthält. Ich denke Du musst Deinen Gartenbot mal anschauen, es könnte auch sein, dass die FHEM-Version veraltet ist (für telegramBot)?
Hallo viegener
Ich habe deine Version (11395) vom 11.06. bisher problemlos am Laufen ;)
Gruß Peter
Habe mir das Teil aus dem Garten geholt und ein Update gemacht ....jetzt erscheinen die Buttons im Telegramclient ;D
Die Beschriftung ist aber noch nicht ok.
/[Pumpe an]=set Eicherwasserpumpe on-for-timer 900; --> ergibt "menu1 = /[Pumpe an]=set Eicherwasserpumpe...." als Beschriftung.
Ich habe gerade keinen direkten Zugriff auf mein System, deshalb kann ich es nicht selber ausprobieren. Aber ein Favoriteneintrag:
/[ein Text]=list telebot
sollte einen Knopf erzeugen auf dem der Favoritenbefehl und die Nummer steht und dahinter mit = nur der Text also z.B.
/menu5 = ein Text
Der von Dir gezeigte Knopftext ist mir unklar:
Erstens fehlt der / vor menu, wenn Dein Favoritenbefehl /menu ist
Zweitens sollte dasa Kommando nicht mehr erscheinen.
Eigentlich sollte das sogar funktionieren, wenn Du den / vor dem Text weglässt, das kann ich aber erst wieder übrprüfen wenn ich zurück bin.
Cmdfavorites "/menu" habe ich zu "menu" gemacht.
Meine Favoriten sind so in der Def eingetragen.
/[Pumpe an] = set Eicherwasserpumpe on-for-timer 900; set Eicherventil1 on-for-timer 180; set Eicherventil2 on-for-timer 180; set Eicherventil3 on-for-timer 180; {system("sudo /usr/sbin/vpnc fritz.conf")}; {system("sudo /usr/sbin/vpnc-disconnect")}
Die Buttons im Telegramclient sehen alle gleich aus.
menu1 = /[Pumpe an] = set Eicherw....
menu2 = set Eicherventil on...
.
.
.
@kud: Bitte wirklich Codetags verwenden, dann hätte ich das jetzt schneller gefunden. Wenn ich das richtig sehe, hast Du Leerzeichen vor und nach dem = Die müssen weg.
Jhu . Endlich geklappt. :D
Es darf KEIN "/" vorangestellt werden und das mit den Leerzeichen sollte vielleicht mal erwähnt werden. Oder habe ich das überlesen ???
Danke fürs helfen.
Zitat von: kud am 25 Juni 2016, 16:02:22
Jhu . Endlich geklappt. :D
Es darf KEIN "/" vorangestellt werden und das mit den Leerzeichen sollte vielleicht mal erwähnt werden. Oder habe ich das überlesen ???
Danke fürs helfen.
Ja habe ich in die neue Commandref mitaufgenommen
Gerade habe ich die neue Version mit den Änderungen zur Behandlung von Umlauten (UTF8/Unicode) ins SVN übergestellt als 1.8. Die Version ist dann ab morgen im offiziellen Update enthalten.
Danke für alle die getestet haben und hier Rückmeldung gegeben haben. Ich hoffe, dass das Problem jetzt erstmal nicht mehr auftritt.
Andere Änderung: \t für Textnachrichten wird unterstützt, allerdings wird daraus bei telegram wohl ein einzelnes Leerzeichen
Zitat von: viegener am 25 Juni 2016, 16:50:03
Gerade habe ich die neue Version mit den Änderungen zur Behandlung von Umlauten (UTF8/Unicode) ins SVN übergestellt als 1.8. Die Version ist dann ab morgen im offiziellen Update enthalten.
Danke für alle die getestet haben und hier Rückmeldung gegeben haben. Ich hoffe, dass das Problem jetzt erstmal nicht mehr auftritt.
Andere Änderung: \t für Textnachrichten wird unterstützt, allerdings wird daraus bei telegram wohl ein einzelnes Leerzeichen
Herzlichen DANK!!!
auch für den Support und Unterstützung
Schönen Sonntag
Moin,
ich hatte (aus unerklärlichen Gründen) auch Probleme beim Senden von Photos (NonBlockingGet timed out on read from <hidden> after 30s).
Mit dem Update von viegener klappt es wieder einwandfrei.
Vielen Dank!!
Hallo,
sollte mit der neuen Version dann nicht auch das senden von Icons / Emoticons funktionieren?
Bei mir kommt das leider als Text an (z.B. "U+26C5 blabla") oder mache ich etwas falsch?
Danke für ein kurze Info!
Gruß, fk
Bei mir funktionieren die Emoticons leider auch nicht.
Hat jemand das schon mal getestet und angezeigt bekommen?
Grüße Marcel
Funktioniert einwandfrei. Man muss eben nur die Emoticons "direkt" verwenden. Also direkt hier aus der linken spalte heraus kopieren und so versenden.
http://apps.timwhitlock.info/emoji/tables/unicode
Klar, jetzt funktioniert es auch. Habe immer den Code für das jeweilige Emoticon versucht... 😁
Bei mir geht es jetzt auch... kaum macht man es richtig, schon funktioniert es!
Vielleicht kann man das im Wiki nochmal deutlicher herausstellen, dass man da wirklich das Icon selber kopieren soll und den Verweis auf Unicode weglassen:
da steht:
"Es ist auch möglich Emojis mit den (Text-)Nachrichten zu versenden. Die entsprechenden (Unicode-)Zeichen werden einfach direkt mit in den Text der Nachricht aufgenommen. Um das zu vereinfachen kann man das einfach per Copy und Paste von dieser Seite....."
Ich hab es so jedenfalls nicht verstanden und war da ja auch nicht alleine mit...
An dieser Stelle aber dann auch mal einen herzlichen Dank an den Entwickler, der das bereitstellt und sich auch noch die Mühe macht einen Wiki-Eintrag zu erstellen!
Das was dort steht ist nicht falsch. Man könnte es ggf. noch genauer Beschreiben.
Für das Wiki kann im Übrigen jeder einen Zugang bekommen.
Zitat von: felskrone am 15 Juli 2016, 09:30:19
Bei mir geht es jetzt auch... kaum macht man es richtig, schon funktioniert es!
Vielleicht kann man das im Wiki nochmal deutlicher herausstellen, dass man da wirklich das Icon selber kopieren soll und den Verweis auf Unicode weglassen:
da steht:
"Es ist auch möglich Emojis mit den (Text-)Nachrichten zu versenden. Die entsprechenden (Unicode-)Zeichen werden einfach direkt mit in den Text der Nachricht aufgenommen. Um das zu vereinfachen kann man das einfach per Copy und Paste von dieser Seite....."
Ich hab es so jedenfalls nicht verstanden und war da ja auch nicht alleine mit...
An dieser Stelle aber dann auch mal einen herzlichen Dank an den Entwickler, der das bereitstellt und sich auch noch die Mühe macht einen Wiki-Eintrag zu erstellen!
Machst Du einen Vorschlag, was man an der Formulierung verbessern kann, kann ich das auch gerne ins wiki übernehmen, doer Du besorgst Dir selber einen Account?
Hallo zusammen,
ich habe jetzt die ersten Seiten mal durchgelesen, konnte aber für mich ein wichtige Sache nicht finden. Mit Telgram kann ich Befehle an FEHM senden und bekomme dann darüber entsprechende Rückmeldung, wie z.B. die Heizungstemperatur etc.
Ist es auch möglich, dass wenn bspw. die Temperatur im Kühlschrank über 10° Grad ist, dass ich automatische eine Nachtricht in Telegram angezeigt bekomme? Ode rmuss ich, wenn ich diese Info haben möchte das ganze erst aus "Telegram" heraus antriggern?
Hallo, ich sende eine Nachricht, wenn die Temperatur über 10 Grad ist..
Fridge:on set Telegrambot message Achtung - Der Kühlschrank ist ausgefallen!!!!
..gibt auch ein Beispiel..mal nach Fridge suchen..
Gruß
Jürgen K.
Zitat von: bjoernbo am 20 Juli 2016, 10:13:56
Hallo zusammen,
ich habe jetzt die ersten Seiten mal durchgelesen, konnte aber für mich ein wichtige Sache nicht finden. Mit Telgram kann ich Befehle an FEHM senden und bekomme dann darüber entsprechende Rückmeldung, wie z.B. die Heizungstemperatur etc.
Ist es auch möglich, dass wenn bspw. die Temperatur im Kühlschrank über 10° Grad ist, dass ich automatische eine Nachtricht in Telegram angezeigt bekomme? Ode rmuss ich, wenn ich diese Info haben möchte das ganze erst aus "Telegram" heraus antriggern?
Vielleicht habe ich die frage missverstanden, aber das senden einer nachricht bei eintritt eines bestimmten zustandes/ereignisses lässt sich jederzeit über die fhem mittel (z.b doif oder notify) machen. Im aktionsteil kannst du dann auch eine nachricht mit beliebiger info über telegram absenden.
Aber wie gesagt, vielleicht habe ich etwas missverstanden.
Ne, alles richtig Verstanden. Stimmt, doif gibt es ja auch noch. Danke für eure schnelle Rückmeldung!
Hallo zusammen,
mich würde interessieren ob es möglich ist Logdateien via Telegram zu versenden. Um es noch interessanter zu machen, würden mich bspw. die FHEM Logdatei gefiltert auf den letzten Tag oder andere Tage interessieren.
Was denkt ihr darüber?
Zitat von: Kamik am 26 Juli 2016, 22:09:53
Hallo zusammen,
mich würde interessieren ob es möglich ist Logdateien via Telegram zu versenden. Um es noch interessanter zu machen, würden mich bspw. die FHEM Logdatei gefiltert auf den letzten Tag oder andere Tage interessieren.
Was denkt ihr darüber?
Generell ist das sicher möglich, denn FileLogs lassen sich über ein
get auslesen (siehe commandref) und die Rückgabe kann als Message mit Telegram verschickt werden. Es könnte sein, dass man etwas perl drumherumbraucht, aber generell ist das wohl möglich.
Hallo zusammen,
ich bekomme dieses Reading
Readings:
2016-07-27 22:44:25 PollingErrCount 61
2016-07-27 22:44:25 PollingLastError NonBlockingGet timed out on read from <hidden> after 7s
Habe über die Suchfunktion schon versucht das Problem zu lösen, jedoch führte das zu keinem Erfolg.
Es kommen keine Telegram Nachrichten mehr in fhem an.
Wie kann ich das Problem lösen?
Vielen Dank schon mal für die Hilfe.
Gruß buki
Frage bzw. vielleicht Featurewunsch:
Telegram unterstützt ja prinzipiell das Löschen von einzelnen Nachrichten eines Chats. Wird das auch von der API unterstützt und falls ja, könnte das Modul in Zukunft vielleicht darum erweitert werden?
Ich fände es praktisch, wenn FHEM Nachrichten, die sich zwischenzeitlich erledigt haben, selbst wieder löschen könnte, etwa wenn man sie bereits auf einem anderen Kanal bestätigt hat oder wenn sich die Situation ohnehin wieder verändert hat, etwa weil die Sensorwerte mittlerweile wieder im grünen Bereich sind.
Ich schicke mir beispielsweise bestimmte Hinweise oder Warnungen sowohl zur Anzeige auf lokale Tablets als auch per Telegram aufs Smartphone. Wenn jemand die Nachrichten am Tablet bestätigt, bekommt FHEM das mit und könnte sie dann auch bei Telegram wieder entfernen. So finde ich solche Nachricht immer auch auf dem Smartphone vor und muss sie ein zweites Mal löschen bzw. weiß nicht sicher, ob sich zuhause schon jemand drum gekümmert hat.
Im einfachsten Fall könntest du dir ja jeweils auch, statt die vorherige Nachricht zu löschen, eine weitere Telegram-Nachricht schicken lassen, wenn sich die Situation wieder verändert hat.
Hallo,
ich hatte vor kurzem einen Fehler beim Senden, hier der Logeintrag:
2016.07.27 23:09:53 3: TelegramBot_Callback MyBot: resulted in :NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error error:00000000:lib(0):func(0):reason(0) SSL connect attempt failed with unknown error error:00000000:lib(0):func(0):reason(0): from SendIt
2016.07.27 23:09:53 3: TelegramBot_Callback MyBot: Reached max retries (ret: NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error error:00000000:lib(0):func(0):reason(0) SSL connect attempt failed with unknown error error:00000000:lib(0):func(0):reason(0)) for msg XX : Wasserstandsanzeige ausgefallen!
2016.07.28 00:00:05 3: TelegramBot_Callback MyBot: Digest: Number of poll failures on 2016-07-27 is :46:
2016.07.29 00:00:01 3: TelegramBot_Callback MyBot: Digest: Number of poll failures on 2016-07-28 is :20:
2016.07.30 00:00:03 3: TelegramBot_Callback MyBot: Digest: Number of poll failures on 2016-07-29 is :1:
Das trat zum ersten Mal und nur einmal auf, seit ich mit Telegram arbeite.
Der Fehler an sich (sofern er nicht häufig[er] kommt) ist mir eigentlich egal (außer jemdand sieht, dass etwas falsch konfiguriert ist etc. / aber prinzipiell funktioniert es).
Wichtiger: kann ich so einen Fehler abfragen???
Denn die gewünschte Nachricht ging nicht raus...
...ich setzte nach dem Senden einen Eintrag, dass verschickt wurde, damit nicht noch mal geschickt wird.
Blöd natürlich, wenn die Nachricht wie in diesem Fall nicht raus ging...
Ich verschicke die Nachricht wie folgt aus einer Sub:
{fhem "set MyBot message Wasserstandsanzeige ausgefallen!"}
Kann ich da sowas wie einen Returnwert abfragen?
Und wenn wie?
Vielen Dank, Joachim
Hallo Joachim.
Schau dir mal den EventMonitor an während du eine Message schickst, da wird ein event sentMsgResult erstellt:
TelegramBot telegram sentMsgResult: SUCCESS
Zusätzlich gibt es den PollingErrCount, hier z.b. bei falscher Authorisierung:
TelegramBot telegram sentMsgResult: Callback returned error:Unauthorized:
TelegramBot telegram PollingErrCount: 4
Damit sollte man doch ein Notify für einen Fallback bauen können ;)
Hi jmike,
danke.
Schaue ich mir mal an...
Gruß, Joachim
Zitat von: buki am 27 Juli 2016, 23:06:09
Hallo zusammen,
ich bekomme dieses Reading
Readings:
2016-07-27 22:44:25 PollingErrCount 61
2016-07-27 22:44:25 PollingLastError NonBlockingGet timed out on read from <hidden> after 7s
Habe über die Suchfunktion schon versucht das Problem zu lösen, jedoch führte das zu keinem Erfolg.
Es kommen keine Telegram Nachrichten mehr in fhem an.
Wie kann ich das Problem lösen?
Vielen Dank schon mal für die Hilfe.
Gruß buki
Die Suchfunktion in der commandref hätte vielleicht geholfen, da sind die beiden Readings kurz erklärt ;D
Generell wird in diesem Reading vermerkt wie häufig an diesem Tag (seit 0 Uhr) Fehler beim Polling aufgetreten sind. Irgendwas hast Du vermutlich geändert, vielleicht an der Bot-Konfiguration (beim Botfather oder in FHEM). 61 Fehler bis zum Abend sind nicht sehr viel wenn gar nichts geht. Das heisst normalerweise, dass das Polling zwar gestört ist, aber meistens doch funktioniert.
Ohne genauere Angaben was Du geändert hast und die Info ob Senden noch geht ist das nicht einfach zu lösen.
Zitat von: jmike am 30 Juli 2016, 11:24:40
Hallo Joachim.
Schau dir mal den EventMonitor an während du eine Message schickst, da wird ein event sentMsgResult erstellt:
TelegramBot telegram sentMsgResult: SUCCESS
Zusätzlich gibt es den PollingErrCount, hier z.b. bei falscher Authorisierung:
TelegramBot telegram sentMsgResult: Callback returned error:Unauthorized:
TelegramBot telegram PollingErrCount: 4
Dem kann ich nichts hinzufügen, dass ist perfekt :)
Wenn jemand ein Beispiel hat, wie er die Reaktion auf Fehler beim Senden realisiert hat, nehme ich das gerne als use case ins wiki auf. Dann können andere das als Vorlage nehmen.
Damit sollte man doch ein Notify für einen Fallback bauen können ;)
Danke für deine Antwort viegener.
Ich habe weder an der Konfiguration in fhem noch am Telegrambot etwas geändert.
Es ist so, dass Nachrichten verschickt werden können, jedoch kommen an den Bot gesendete Nachrichten nicht in fhem an und können deshalb nicht verarbeitet werden.
Zitat von: buki am 31 Juli 2016, 09:22:20
Danke für deine Antwort viegener.
Ich habe weder an der Konfiguration in fhem noch am Telegrambot etwas geändert.
Es ist so, dass Nachrichten verschickt werden können, jedoch kommen an den Bot gesendete Nachrichten nicht in fhem an und können deshalb nicht verarbeitet werden.
Wenn am telegrambot nichts geändert wurde und auch am Account des Bots nichts geändert wurde. Ist die Frage, was sich sonst geändert hat. Telegram selber funktioniert generell weiterhin. Der Account scheint auch noch senden zu können. Dann musst Du vermutlich nachprüfen, was sich geändert haben könnte: Also update von fhem oder linux? Netzwerkänderungen? andere fhem-Änderungen?
Hast Du fhem und den darauf laufenden Rechner mal runtergefahren und neu gestartet?
Zitat von: viegener am 01 August 2016, 20:51:02
Wenn am telegrambot nichts geändert wurde und auch am Account des Bots nichts geändert wurde. Ist die Frage, was sich sonst geändert hat. Telegram selber funktioniert generell weiterhin. Der Account scheint auch noch senden zu können. Dann musst Du vermutlich nachprüfen, was sich geändert haben könnte: Also update von fhem oder linux? Netzwerkänderungen? andere fhem-Änderungen?
Hast Du fhem und den darauf laufenden Rechner mal runtergefahren und neu gestartet?
Es wurden keinerlei Netzwerkänderungen vorgenommen. Ich habe zwischenzeitlich Linux sowie fhem aktualisiert.
Der Rechner wurde schon ein paar mal neu gestartet.
Zitat von: buki am 01 August 2016, 21:21:16
Es wurden keinerlei Netzwerkänderungen vorgenommen. Ich habe zwischenzeitlich Linux sowie fhem aktualisiert.
Der Rechner wurde schon ein paar mal neu gestartet.
Wenn dir jemand helfen soll, musst Du schon etwas mehr an Infos herausgeben. Ich habe sonst das Gefühl Du veranstaltest ein Ratespiel
Zitat von: viegener am 01 August 2016, 21:34:34
Wenn dir jemand helfen soll, musst Du schon etwas mehr an Infos herausgeben. Ich habe sonst das Gefühl Du veranstaltest ein Ratespiel
Es soll natürlich kein Ratespiel werden ;)
Welche Infos brauchst du?
Zitat von: Brockmann am 29 Juli 2016, 11:37:49
Frage bzw. vielleicht Featurewunsch:
Telegram unterstützt ja prinzipiell das Löschen von einzelnen Nachrichten eines Chats. Wird das auch von der API unterstützt und falls ja, könnte das Modul in Zukunft vielleicht darum erweitert werden?
Ich fände es praktisch, wenn FHEM Nachrichten, die sich zwischenzeitlich erledigt haben, selbst wieder löschen könnte, etwa wenn man sie bereits auf einem anderen Kanal bestätigt hat oder wenn sich die Situation ohnehin wieder verändert hat, etwa weil die Sensorwerte mittlerweile wieder im grünen Bereich sind.
Ich schicke mir beispielsweise bestimmte Hinweise oder Warnungen sowohl zur Anzeige auf lokale Tablets als auch per Telegram aufs Smartphone. Wenn jemand die Nachrichten am Tablet bestätigt, bekommt FHEM das mit und könnte sie dann auch bei Telegram wieder entfernen. So finde ich solche Nachricht immer auch auf dem Smartphone vor und muss sie ein zweites Mal löschen bzw. weiß nicht sicher, ob sich zuhause schon jemand drum gekümmert hat.
Generell fände ich aas auch eine gute Funktion, kenne aber momentan nur die Möglichkeit bot-nachrichten zu verändern. Das habe ich bisher noch nicht eingebaut, denn eine Löschfunktion kenn ich nicht.
Ich kenne aber auch im Telegram-Client keine Möglichkeit Nachrichten (bei anderen) zu löschen. Wenn im Client etwas gelöscht wird, bezieht sich das nach meinem Verständnis nur auf diesen Client. Bei anderen bleibt die Meldung weiterhin vorhanden.
Zitat von: viegener am 02 August 2016, 20:51:44
Ich kenne aber auch im Telegram-Client keine Möglichkeit Nachrichten (bei anderen) zu löschen. Wenn im Client etwas gelöscht wird, bezieht sich das nach meinem Verständnis nur auf diesen Client. Bei anderen bleibt die Meldung weiterhin vorhanden.
Sorry für mein Halbwissen. Ich habe noch mal genauer nachgelesen. Es gibt bei den geheimen Chats die Möglichkeit Nachrichten zu löschen bzw. mit einem Verfallsdatum zu versehen, nach dem sie automatisch gelöscht werden. Es wird dann sowohl beim Sender als auch beim Empfänger gelöscht. Aber eben nur in geheimen Chats.
Außerdem habe ich auch die Information gefunden, dass die Telegram Bot API das Löschen von Nachrichten derzeit nicht unterstützt. Insofern hat sich das Thema so oder so erstmal erledigt.
http://stackoverflow.com/questions/35269776/telegram-bot-how-to-delete-or-remove-a-message-or-media-from-a-channel-or-group
Zitat von: Brockmann am 03 August 2016, 08:54:27
Sorry für mein Halbwissen. Ich habe noch mal genauer nachgelesen. Es gibt bei den geheimen Chats die Möglichkeit Nachrichten zu löschen bzw. mit einem Verfallsdatum zu versehen, nach dem sie automatisch gelöscht werden. Es wird dann sowohl beim Sender als auch beim Empfänger gelöscht. Aber eben nur in geheimen Chats.
Außerdem habe ich auch die Information gefunden, dass die Telegram Bot API das Löschen von Nachrichten derzeit nicht unterstützt. Insofern hat sich das Thema so oder so erstmal erledigt.
http://stackoverflow.com/questions/35269776/telegram-bot-how-to-delete-or-remove-a-message-or-media-from-a-channel-or-group
Danke fürs Nachrecherchieren, denn ich habe die Anforderung bei mir für die Wetterbilder, die ich mir täglich zusenden lasse und die ich dann immer manuell löschen muss, da ich den Chat selbst nicht löschen möchte. Eine gute Lösung nur die aktuellen Wettervorhersagen vorzuhalten fehlt mir auch noch.
Hallo Zusammen,
ich hab TelegramBot bei mir eingerichtet. Funktioniert soweit alles sehr gut. Nachrichten senden, empfangen, alles klappt.
Was mir aufgefallen ist: Im Logfile finde ich zahlreiche Einträge wie
2016.08.07 00:00:11 3: TelegramBot_Callback Telegram: Digest: Number of poll failures on 2016-08-06 is :1589:
Kann da jemand was mit anfangen? Google und Forum-Suche hat irgendwie nichts gescheites ergeben. Danke für eure Mithilfe.
Stefan
Zitat von: Knorki am 08 August 2016, 22:34:04
Hallo Zusammen,
ich hab TelegramBot bei mir eingerichtet. Funktioniert soweit alles sehr gut. Nachrichten senden, empfangen, alles klappt.
Was mir aufgefallen ist: Im Logfile finde ich zahlreiche Einträge wie
2016.08.07 00:00:11 3: TelegramBot_Callback Telegram: Digest: Number of poll failures on 2016-08-06 is :1589:
Kann da jemand was mit anfangen? Google und Forum-Suche hat irgendwie nichts gescheites ergeben. Danke für eure Mithilfe.
Stefan
Kurz zur Erklärung: Der TelegramBot baut eine Verbindung zum Telegram-Server auf, um über eingehende nachrichten für den Bot informiert zu werden (sogenanntes long poll). Diese Verbindung wird über einige Zeit gehalten (Attribut
pollingTimeout ). Ein "poll failure" tritt auf, wenn es zu einem Fehler in dieser Verbindung kommt. Über das Attribut
pollingVerbose lässt sich steuern wie detailliert die Fehler im log vermeldet werden. Default ist einmal in 24h wird nur die Anzahl der Fehler gemeldet (wie bei Dir).
Normalerweise sind eine kleine (meist einstellige Anzahl) von Fehlern, bei Dir sind es aber relativ viele. Bei einem angenommenen Timeout von 15sec sind es normalerweise etwa 6000 Polls in 24h, wenn also 1600 davon schiefgehen, ist etwas faul.
Somit wäre es vermutlich gut herauszufinden was das für Fehler sind, der jeweils letzte Fehler steht im Reading
PollingLastError. Vielleicht wäre es sinnvoll mal
pollingVerbose auf 2_Log zu setzen und die Fehler anzuschauen.
Gründe können Netzwerkinstabilität sein (sowohl von FHEM zum Router, als auch in der Internetanbindung). Manchmal kommt es auch vor dass die Telegramserver an einem Tag mal Probleme machen, das ist aber bei mir noch nicht über mehrere Tage passiert.
Also nicht besorgniserregend, aber es deutet auf ein Problem hin, wenn die Anzahl der Fehler über mehrere Tage hoch bleibt.
Hallo,
ich hab pollingVerbose auf 2_Log gesetzt und bekomme nun nachstehende Fehlermeldungen ins log:
2016.08.10 16:41:01 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
2016.08.10 16:41:21 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
2016.08.10 16:42:17 2: TelegramBot_Callback Telegram: resulted in :SUCCESS: from Polling
2016.08.10 16:42:46 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
2016.08.10 16:43:30 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
2016.08.10 16:44:24 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
Gruß
Stefan
Zitat von: Knorki am 10 August 2016, 16:47:14
Hallo,
ich hab pollingVerbose auf 2_Log gesetzt und bekomme nun nachstehende Fehlermeldungen ins log:
2016.08.10 16:41:01 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
2016.08.10 16:41:21 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
2016.08.10 16:42:17 2: TelegramBot_Callback Telegram: resulted in :SUCCESS: from Polling
2016.08.10 16:42:46 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
2016.08.10 16:43:30 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
2016.08.10 16:44:24 2: TelegramBot_Callback Telegram: resulted in :NonBlockingGet timed out on read from <hidden> after 245s: from Polling
Gruß
Stefan
Ich empfehle in der commandref polligTimeout auf einen Wert zwischen 15 und 60 zu setzen (auch weil Telegram intern einen Timeout hat, der meines Wissens unter 245s liegt):
ZitatpollingTimeout <number>
Used to specify the timeout for long polling of updates. A value of 0 is switching off any long poll. In this case no updates are automatically received and therefore also no messages can be received. It is recommended to set the pollingtimeout to a reasonable time between 15 (not too short) and 60 (to avoid broken connections).
Hallo Johannes,
ich benutze nun ebenfalls dein Modul und bin dabei die Funktionen die es bietet in mein FHEM zu integrieren.
Vielen Dank für deine Arbeit ! :)
Beim Versenden von Kamerasnapshots (ca. 1,8 Mb pro Bild ) bin ich fast immer in einen Timeout gelaufen und das Bild/die Message wurde natürlich nicht versendet:
NonBlockingGet: returned write to https://api.telegram.org:443 timed out
Das Problem habe ich beseitigt, indem ich den Timeout-Parameter im Code auf 40 gesetzt habe:
my %TelegramBot_hu_do_params = (
url => "",
timeout => 40,
method => "GET",
header => $TelegramBot_header,
hideurl => 1,
callback => \&TelegramBot_Callback
);
Wahrscheinlich ist meine Internetanbindung in Verbindung mit vllt. noch anderen Faktoren etwas zu langsam.
Natürlich ist diese Anpassung beim nächsten Update wieder weg sofern ich das Modul nicht vom Update ausnehme was ich natürlich nicht möchte.
Deswegen die Frage, ob du nicht ein Attribut (z.B. httptimeout) einbauen könntest, mit dem der User diesen Timeout-Wert in seiner Umgebung anpassen könnte. So ein Feature wäre sicherlich auch für andere Nutzer m.M. nach recht hilfreich.
Danke und Grüße,
Heiko
@DS_Starter: Macht Sinn. Ich nehme das auf die Todoliste auf / für nach dem Urlaub :)
Zitat von: viegener am 10 August 2016, 17:01:58
Ich empfehle in der commandref polligTimeout auf einen Wert zwischen 15 und 60 zu setzen (auch weil Telegram intern einen Timeout hat, der meines Wissens unter 245s liegt):
Hi,
hab ich gemacht, und schon siehts deutlich besser aus:
2016.08.12 00:00:12 3: TelegramBot_Callback Telegram: Digest: Number of poll failures on 2016-08-11 is :2:
Vielen Dank
Stefan
Hallo,
ich bin gerade dabei, von yowsup zu telegram zu wechseln. Ich habe bei mir einzelne 3 Kontakte eingerichtet. Das Senden von FHEM an jeden Einzelnen Kontakt funktioniert problemlos.
Per Yowsup habe ich vorher aus meinen Utils Programm-Dateien alle nacheinander aufgerufen. (set yowsup msg <Nummer> Text; set yowsup2 msg <Nummer> Text;...). Jetzt habe ich das ganze an Telegram angepasst (set Telegram1 message Text;; set Telegram2 message Text;...).
Dabei stellte sich das folgende Problem heraus, das der letzte in der Auflistung die Nachricht bekommt, und die anderen beiden, die davor aufgerufen werden, die Nachricht nicht verschickt wird.
Im Internal sentMsgResult steht dann dauerhaft waiting. Woran kann das liegen?
Vielen Dank im voraus
arokh12
Zitat von: arokh12 am 12 August 2016, 18:19:46
Hallo,
ich bin gerade dabei, von yowsup zu telegram zu wechseln. Ich habe bei mir einzelne 3 Kontakte eingerichtet. Das Senden von FHEM an jeden Einzelnen Kontakt funktioniert problemlos.
Per Yowsup habe ich vorher aus meinen Utils Programm-Dateien alle nacheinander aufgerufen. (set yowsup msg <Nummer> Text; set yowsup2 msg <Nummer> Text;...). Jetzt habe ich das ganze an Telegram angepasst (set Telegram1 message Text;; set Telegram2 message Text;...).
Dabei stellte sich das folgende Problem heraus, das der letzte in der Auflistung die Nachricht bekommt, und die anderen beiden, die davor aufgerufen werden, die Nachricht nicht verschickt wird.
Im Internal sentMsgResult steht dann dauerhaft waiting. Woran kann das liegen?
Vielen Dank im voraus
arokh12
Grüße
Commandref sagt folgendes!
message|msg|send [ @<peer1> ... @<peerN> ] <text>
Versuch mal die @ zeichen vor deinen Kontakten rein zu nehmen, dann sollte es funktionieren.
Zitat von: Esjaycc am 12 August 2016, 18:32:57
Grüße
Commandref sagt folgendes!
message|msg|send [ @<peer1> ... @<peerN> ] <text>
Versuch mal die @ zeichen vor deinen Kontakten rein zu nehmen, dann sollte es funktionieren.
Oh, das habe ich dann wohl überlesen. Jetzt funktioniert es aber problemlos
Danke,
arokh12
Hallo,
leider sind die Polling time out Fehler doch wieder aufgetaucht:
2016-08-14 22:11:46 TelegramBot Telegram PollingLastError: NonBlockingGet timed out on read from after 85s
2016-08-14 22:11:46 TelegramBot Telegram PollingErrCount: 412
2016-08-14 22:12:39 TelegramBot Telegram PollingLastError: NonBlockingGet timed out on read from after 85s
2016-08-14 22:12:39 TelegramBot Telegram PollingErrCount: 413
2016-08-14 22:13:51 TelegramBot Telegram PollingLastError: NonBlockingGet timed out on read from after 85s
2016-08-14 22:13:51 TelegramBot Telegram PollingErrCount: 414
Den Wert hatte ich auf 40 gesetzt. Wieso er einen time out nach 85s erhält ist mir ein Rätsel.
Hat irgendjemand vielleicht eine Lösung?
Gruß
Stefan
Hi,
ich möchte gerne ein DOIF für 3h auf disable setzen und danach wieder enablen.
Da ich den Befehl oft brauchen werde, möchte ich das gerne über die Favoriten lösen.
dazu habe ich versucht
/off3h=set DF_machwas disable 1; defmod 3hON at +03:00 set DF_machwas disable 0;
Leider ist das Semikolon ja Trenner für Favoriten, so dass das defmod bereits den zweiten Platz belegt und nicht mit ausgeführt wird.
Wie könnte ich das hinkriegen?
Danke
Stephan
Zitat von: abc2006 am 15 August 2016, 11:42:38
Hi,
ich möchte gerne ein DOIF für 3h auf disable setzen und danach wieder enablen.
Da ich den Befehl oft brauchen werde, möchte ich das gerne über die Favoriten lösen.
dazu habe ich versucht
/off3h=set DF_machwas disable 1; defmod 3hON at +03:00 set DF_machwas disable 0;
Leider ist das Semikolon ja Trenner für Favoriten, so dass das defmod bereits den zweiten Platz belegt und nicht mit ausgeführt wird.
Wie könnte ich das hinkriegen?
Danke
Stephan
Es gibt verschiedene Möglichkeiten in fhem mehrere kommandos als kombination zu definieren. Schau doch mal unter cmdalias oder notify/trigger.
Ich möchte ein pdf Dokument verschicken, das im Dateinamen zwei Leerzeichen enthält. Laut command ref muss der Dateiname dazu in " eingeschlossen werden. Geht aber nicht.
set Telegram.Bot sendDocument "my_documents/a b c.pdf"
führt zur Fehlermeldung "TelegramBot_Set: Command sendDocument, extra parameter specified after filename".
Wenn ich die Leerzeichen im Dateinamen durch "_" ersetze, geht es natürlich (egal ob ich das fhem-Kommando dann mit oder ohne " schreibe).
Und ich habe noch ein Problem mit Umlauten. Normalerweise kommen diese beim Telegram-Client korrekt an. Wenn ich aber über das Modul TALKTOME ein Reading weiterschicke, dann klappt das nicht korrekt.
Ich habe ein Kalender-Device und dort ein User-Reading "sprache_heute" mit dem Inhalt "Für heute stehen keine Termine im Kalender.". Beim Telegram-Client kommt aber folgendes an: "Für heute stehen keine Termine im Kalender."
Im RiveScript-Konfigurationsfile von TALKTOME steht:
! array termintage = heute|morgen
+ welche termine ([habe ich]|[haben wir]|stehen|gibt es) [im kalender] [für] (@termintage) [im kalender|an]
* <star2> == heute => <call>readingsval cv_KalenderGH sprache_heute Error</call>
* <star2> == morgen => <call>readingsval cv_KalenderGH sprache_morgen Error</call>
Wie kann ich testen ob das Problem auf Seiten von TALKTOME oder auf Seiten des TelegramBot liegt? Ich komme nicht drauf wie ich den Inhalt eines Readings per Telegram verschicke. Ich habe es z.B. so versucht:
set Telegram.Bot message { ReadingsVal("cv_KalenderGH","sprache_heute","Error") }
Aber da kommt beim Client nur der Text "{ ReadingsVal("cv_KalenderGH","sprache_heute","Error") }" an, was ich natürlich fast vermutet hatte.
Hallo!
Habe eine Frage, hoffe es kann mir jemand helfen.
Habe den Telegram-Bot eingerichtet. Funktioniert so weit so gut, Senden/Empfangen funktioniert. Habe ein Notify auf meinen Kellerlüfter gelegt, um informiert zu werden, wenn er sich einschaltet:
define TelegramCellarFanNotifyOn notify DOSE_Keller_Sw:.*on set Telegram message Keller-Luefter EIN
Mein Problem ist, dass ich in Telegram aber dann immer mehrere Messages bekomme, wenn ich dann zB den Lüfter ausschalte (das passiert gleich wie wenn ich im Web-IF den Lüfter ausschalte):
Ich: FHEM set DOSE_Keller_Sw off [14:18:53]
FHEMBot:
Keller-Luefter AUS [14:18:54]
TelegramBot FHEM :
Befehl:set DOSE_Keller_Sw off:
Ergebnis:
OK
Keller-Luefter AUS [14:18:54]
Keller-Luefter AUS [14:18:54]
Meine Frage ist daher: Weiß jemand, wieso der Bot manchmal mehrere Nachrichten doppelt schickt? manchmal steht auch AUS, AUS, EIN, AUS...usw..
Ist nicht immer gleich, ist immer irgendwie, also zufällig.
Das macht der Bot aber nur beim Notify...wenn ich ein /SVG anfordere, bekomme ich es immer sauber nur 1x.
Weiß evtl. jemand Rat? Habe ich etwas übersehen?
Danke im Voraus für eure Hilfe.
LG
Hi,
schon mal im EventMonitor geschaut welche Events kommen...
Denn sobald was mit 'on' kommt löst das notify aus und schickt eine Nachricht...
Gruß, Joachim
Vllt ist es sinnvoll, anstatt mit Notify die Sache mit DOIF zu lösen.
Denn bei DOIF kommt erst wieder eine neue Benachrichtigung, wenn zuvor wieder die andere Bedingung aktiv war. Zweifache Auslösung bei der selben Bedingungen ist damit generell nicht möglich.
Ich habe mit DOIF sämtliche Telegram-Benachrichtigungen eingestellt, völlig ohne Probleme.
Hallo,
hab eine Problem mit Telegram_bot in FHEM:
Ich möchte Nachrichten an verschiedene Gruppen schicken, jedoch geht die Nachricht immer nur an defaultPeer!
Über der Eingabezeile in FHEM geht es allerdings!
Hab mir gedacht, ich erstell mir einfach mehrere bot's, allerdings gibt es hier dann wohl probleme beim polling!!!
Grrrrr......hoffe mir kann jemand helfen!
Zitat von: hartenthaler am 20 August 2016, 17:01:18
...... Ich komme nicht drauf wie ich den Inhalt eines Readings per Telegram verschicke. Ich habe es z.B. so versucht.....
Hallo Hartenthaler,
um eine, in welcher Form auch immer, zusammengesetzte Message über TelegramBot zu versenden setze ich in einer 99_MyUtils Funktion eine Variable $msg zusammen und versende diese dann über den Dienst an den defaultPeer. Hier ein Beispiel wie ich das mit einer Alarmmessage mache die im Alarm-Modul verwendet wird:
######################################################
######## Alarmanlage Alarm Level 5 - Batt leer
######################################################
sub AlmLvl5() {
my $msg = 'Batterie schwach Alarm bei '.$defs{'LBatt.warn'}{READINGS}{'state'}{VAL}.' festgestellt. \n\nFHEM-Server';
fhem ("set teleBot message $msg");
}
Aufzurufen wäre das Ganze dann ganz einfach über {AlmLvl5()} in der FHEMWEB-Eingabezeile oder in einem Notify usw.
Vielleicht hift dir das bei deiner Fehlersuche bzw. Aufgabenstellung.
viele Grüße,
Heiko
Hallo
Ich bin von yowsup auf Telegram umgestiegen.
Senden und Empfangen geht mitlerweile.
Nun habe ich eine 99_TelegramUtils.pm die ich schon für Whatsapp verwende auf Telegram umgeschrieben.
Bei Whatsapp hatte ich 3 Mobiltelefone die Nachrichten senden/empfangen konnten, und von der 99_WhatsappUtils.pm daten bezogen haben.
Wie kann ich das bei Telegram lösen?
Das Whatsapp Beispiel
##############################################
# $Id: 99_WhatsAppUtils.pm $
package main;
use strict;
use warnings;
use POSIX;
sub
WhatsAppUtils_Initialize($$)
{ my ($hash) = @_; }
### define WhatsappHeinz notify HeinzMobil:message.* {WhatsappAnswer($NAME,$EVENT)}
### define WhatsappGabi notify GabiMobil:message.* {WhatsappAnswer($NAME,$EVENT)}
### define WhatsappNavi notify HeinzNavi:message.* {WhatsappAnswer($NAME,$EVENT)}
### define HeinzMobil yowsup 4917xxxxxxxxxx
### define GabiMobil yowsup 4917xxxxxxxxxx
### define HeinzNavi yowsup 4917xxxxxxxxxx
sub WhatsappAnswer($$)
{
my ($NAME,$EVENT) = @_;
### Licht
if( $EVENT eq 'message: Licht' ) { fhem "set $NAME send Licht im Wohnzimmer ist jetzt eingeschaltet \xF0\x9F\x92\xA1";
fhem "set Stehlampe.wz dim43% 15"; sleep 0.5; fhem "set Bodenlampe.wz dim68% 48";}
elsif( $EVENT eq 'message: Licht aus' ) {fhem "set $NAME send Licht Wohnzimmer ist aus"; fhem "set AlleLampen.wz off";}
elsif( $EVENT eq 'message: Wandlampe' ) {fhem "set $NAME send Wandlampe bis 10:30 an"; fhem "set Stehlampe.wz on-till 10:23:17";}
elsif( $EVENT =~ /message: Wandlampe (dim+\d+%|on|off)/ ) {fhem "set $NAME send Wandlampe $1"; fhem "set Stehlampe.wz $1";}
elsif( $EVENT =~ /message: Bodenlampe (dim+\d+%|on|off)/ ) {fhem "set $NAME send Bodenlampe $1"; fhem "set Bodenlampe.wz $1";}
elsif( $EVENT =~ /message: Tischlampe (dim+\d+%|on|off)/ ) {fhem "set $NAME send Tischlampe $1"; fhem "set Tischlampe.az $1";}
elsif( $EVENT eq 'message: Flur' ) {fhem "set $NAME send Licht Flur"; fhem "set LichtFlur on-for-timer 0.5";}
Beste Grüße
Heinz
Ich bin den für mich einfachsten/logischsten Weg gegangen ohne mich genau mit der Materie befasst zu haben.
Habe ein userattr bei meinen ROOMMATES erstellt, z.B. TelegramID.
Dieses attr lese ich dann einfach an gewünschter Stelle in einer Sub ein.
Gruß
Dan
Danke Heiko @DS_Starter
Habe es nun testen können und festgestellt, dass das Problem mit den nicht richtig übertragenen Umlauten aus einem Reading nicht im Telegram-Modul liegt, sondern beim TALKTOME-Modul zu suchen ist. Habe mir dazu eine Routine in 99_myUtils.pm geschrieben mit der ich alles mögliche, u.a. auch Readings verschicken kann. Auch Readings mit Umlauten finden den Weg korrekt zum Telegram-Client.
#################################################################
### Nachrichten, Readings, Bilder, Dokumente und Plots per Telegram verschicken ###
#################################################################
# Beispiele:
# Textnachricht: send_telegram("Dies ist eine Nachricht.");
# Device, Reading: send_telegram("cv_Kalender","t_001_summary");
# Plot: send_telegram("SVG_FileLog_NETATMO_CO2");
# Bild (.jpg oder .png zur direkten Ansicht): send_telegram("picture.png");
# sonstiges Dokument (download): send_telegram("document.pdf");
# Der erste Übergabeparameter darf maximal einen Punkt enthalten, der die Dateierweiterung abtrennt bzw. die Textnachricht abschließt.
sub send_telegram($;$) {
my ($document, $reading) = @_;
my $device = "Telegram.Bot"; # Telegram device ggf. anpassen
my $peer = "x_y"; # anpassen - bei mir ist das Vorname_Nachname
my $path = "./my_documents/"; # default-Verzeichnis für Bilder und Dokumente; relativ zum fhem-Verzeichnis, also etwa /opt/fhem/my_documents/
if (!defined $device) {
Log3 'send_telegram', 1, "Device ".$device." not found";
return "Device not found";
}
if (defined $reading) { # reading (first parameter = device, second parameter = reading)
$document = ReadingsVal($document,$reading,"Error");
fhem ("set $device message $document");
} else { # message or plot or image or document
my @parts = split(/\./,$document);
if (!defined @parts or @parts == 1) { # plot or message
my $plotfile="./www/gplot/".$document.".gplot";
if (-e $plotfile) { # plot
$document = "{plotAsPng('".$document."')}";
TelegramBot_ExecuteCommand($defs{$device}, $peer, $document);
} else { # message
fhem ("set $device message $document");
}
}
elsif (defined @parts) { # image or document
$document = $path.$document if (!-e $document);
if (-e $document) {
if (@parts[1] eq "png" or @parts[1] eq "jpg") { # image
fhem("set $device sendImage $document");
} else { # other document
fhem("set $device sendDocument $document");
}
} else {
Log3 'send_telegram', 1, "File not found";
return "File not found";
}
}
}
return;
}
Es bleibt das Problem, dass man keine Dokumente verschicken kann, die Leerzeichen im Dateinamen enthalten.
Mal irgendwie versucht die Leerzeichen zu escapen oder mit entsprechendem Codes aufzufüllen? z.B. %20
Gruß
Dan
Laut Doku muss man Dateinamen mit Leerzeichen in "" einfassen. Geht aber nicht. Das Escapen der Leerzeichen durch "\ " bringt keine Veränderung. Das Ersetzen der Leerzeichen durch %20 führt dazu, dass das File nicht gefunden wird. Also auch keine Lösung. Einziger Work-Around ist das Umbenennen der Datei.
Hallo zusammen,
ich habe eben erfolgreich den TelegramBot integriert, habe nur ein Problem.
Mein DOIF loest mit gesetztem "do always" unendlich oft hintereinander aus?!
define test DOIF ([telegrambot:msgText] eq "Leistung") (set telegrambot message [Zaehler_Gesamt:Leistung])
attr test do always
attr test event-on-update-reading msgText
Ich kapier nur nicht wieso? Das Reading msgText updatet nur einmalig.
[EDIT]
Habs mit cmdPause nun geloest
Zitat von: micomat am 31 August 2016, 22:40:22
Ich kapier nur nicht wieso? Das Reading msgText updatet nur einmalig.
1. Müsste es nicht
attr telegrambot event-on-update-reading msgText heißen?
2. Das DOIF wird getriggert, wenn telegrambot ein Event erzeugt, also irgendein Reading oder Status von telegrambot aktualisiert wird. Wenn dann die Bedingung stimmt, löst es aus. Und die Bedingung stimmt ja solange, bis in msgText was anderes steht.
Ich triggere bei meinen DOIFs nicht auf das Reading, sondern auf das Event. So kann das DOIF nur einmal in dem Moment getriggert werden, wo einen Nachricht ankommt, weil die Bedingung nur in dem Moment wahr ist:
define test DOIF ([telegrambot:"Leistung") (set telegrambot message [Zaehler_Gesamt:Leistung])
attr test do always
Das reagiert, wenn Telegram eine Nachricht empfängt, die das Wort "Leistung" enthält. Voraussetzung ist wie oben beschrieben
attr telegrambot event-on-update-reading msgText bzw. zumindest Events durch prevMsgText usw. sollten unterdrückt werden.
Danke, werde ich testen :)
EDIT:
Klappt, danke :) naechtlicher Denkfehler
Zitat von: hartenthaler am 28 August 2016, 05:31:39
Laut Doku muss man Dateinamen mit Leerzeichen in "" einfassen. Geht aber nicht. Das Escapen der Leerzeichen durch "\ " bringt keine Veränderung. Das Ersetzen der Leerzeichen durch %20 führt dazu, dass das File nicht gefunden wird. Also auch keine Lösung. Einziger Work-Around ist das Umbenennen der Datei.
Das ist leider richtig, Dateien mit Leerzeichen funktionieren momentan auch nicht mit Anführungsstrichen, ich muss mir dafür eine neuen Ansatz überlegen.
Na ja, vielleicht bin ich da etwas altmodisch, aber bei Dateinamen mit Leerzeichen beschleicht mich immer ein leichtes Unwohlsein. Ich weiß, dass das immer mehr gemacht wird, trotzdem halte ich es für eine Unsitte.
altmodische Grüße
Niels
Hallo,
kann mir jemand sagen woran es liegt wenn ich bei bestimmten Sendeversuchen folgendes bekomme:
PollingLastError
NonBlockingGet timed out on read from <hidden> after 65s 2016-09-07 18:05:20
Zitat von: RitterSport am 07 September 2016, 18:07:28
Hallo,
kann mir jemand sagen woran es liegt wenn ich bei bestimmten Sendeversuchen folgendes bekomme:
PollingLastError
NonBlockingGet timed out on read from <hidden> after 65s 2016-09-07 18:05:20
Die Fehlermeldung bezieht sich eigentlich auf Nachrichtenempfang, nicht auf das Senden. Ein Zusammenhang mit Sendeversuchen wäre mir jetzt nicht aufgefallen bisher. Eine gewisse Anzahl solcher Meldungen am Tag sind auch bei stabilem Internetzugang normal. Siehe dazu auch weiter oben im Thread.
Hallo und erstmal vielen Dank für das Modul.
Funktioniert super!
Wäre es möglich, noch den Messagetyp Location zu integrieren?
Das Format sieht nicht so wahnsinnig komplex aus ( Lat. und Long )
Bräuchte das sowohl auf Empfangs- als auch Sendeseite.
Zitat von: Carsten am 20 September 2016, 14:47:20
Hallo und erstmal vielen Dank für das Modul.
Funktioniert super!
Wäre es möglich, noch den Messagetyp Location zu integrieren?
Das Format sieht nicht so wahnsinnig komplex aus ( Lat. und Long )
Bräuchte das sowohl auf Empfangs- als auch Sendeseite.
Ich habe mir dazu ein paar Gedanken gemacht, das müsste siche realisieren lassen. Sollte sich für die nächste Version machen lassen.
Zitat von: viegener am 22 September 2016, 23:25:14
Ich habe mir dazu ein paar Gedanken gemacht, das müsste siche realisieren lassen. Sollte sich für die nächste Version machen lassen.
Super! Ich war gerade dabei mir anzuschauen, wie ich das selbst reingewurschtelt kriege, aber dann hätte ich wieder das gleiche Problem wie bei yowsup, dass ich das nach jedem Update wieder reinwurschteln muss. :)
Beim Schauen bin ich über die Inline-Keyboards gestolpert. Gibts ne Möglichkeit die für eigene Zwecke zu "mißbrauchen"?
Zitat von: Carsten am 22 September 2016, 23:54:36
Super! Ich war gerade dabei mir anzuschauen, wie ich das selbst reingewurschtelt kriege, aber dann hätte ich wieder das gleiche Problem wie bei yowsup, dass ich das nach jedem Update wieder reinwurschteln muss. :)
Es gibt eine Version in github (siehe erstes Post), die sowohl locations senden kann und ausserdem venues und locations empfangen. Die empfangenen Koordinaten werden im msgText Reading abgelegt. Von dort muss man sie dann entsprechend weiterverabeiten.
Kannst Du gerne mal testen und Feedback geben, ich bin mal wieder geschäftlich unterwegs, deshalb stelle ich die offizielle Version erst später um.
Zitat von: hartenthaler am 28 August 2016, 05:31:39
Laut Doku muss man Dateinamen mit Leerzeichen in "" einfassen. Geht aber nicht. Das Escapen der Leerzeichen durch "\ " bringt keine Veränderung. Das Ersetzen der Leerzeichen durch %20 führt dazu, dass das File nicht gefunden wird. Also auch keine Lösung. Einziger Work-Around ist das Umbenennen der Datei.
Die neue Version in github kann auch Dateien mit Leerzeichen behandeln:
- Dazu gibt es ein Attribut:
filenameUrlEscape, mit dem man einstellen kann, dass die Dateinamen mit URL-Escapezeichen angegeben werden. Wenn dieses Attribut auf 1 gesetzt ist, wird zum Beispiel %20 in ein Leerzeichen umgesetzt. Der Standard ist KEINE Ersetzung also 0.
zum Thema URL-Encoding siehe auch: https://wiki.selfhtml.org/wiki/Glossar:URL-Codierung (https://wiki.selfhtml.org/wiki/Glossar:URL-Codierung)
Zitat von: Carsten am 22 September 2016, 23:54:36
Beim Schauen bin ich über die Inline-Keyboards gestolpert. Gibts ne Möglichkeit die für eigene Zwecke zu "mißbrauchen"?
Bisher habe ich keine Möglichkeit geschaffen die Keyboards selbst zu nutzen, denn die Angabe über FHEM-Kommandos wäre ziemlich fehlerträchtig. Das bezieht sich entsprechend auch auf Inline-Keyboards.
Mir fehlt auch ein wenig ein guter use case dafür...
Zitat von: viegener am 25 September 2016, 14:20:35
Bisher habe ich keine Möglichkeit geschaffen die Keyboards selbst zu nutzen, denn die Angabe über FHEM-Kommandos wäre ziemlich fehlerträchtig. Das bezieht sich entsprechend auch auf Inline-Keyboards.
Mir fehlt auch ein wenig ein guter use case dafür...
Hi, ich gebe zu, mein Anwendungsfall ist vielleicht auch etwas speziell und ich weiß auch gar nicht, ob das so funktionieren würde, wie ich es bräuchte, da es um einen Gruppenchat geht.
Ich nutze das Modul ( in diesem Fall ) nicht zum direkten Fernsteuern/Abfragen von FHEM, sondern als kleinen "Einsatzbot" für meine Löschgruppe. Ich bin hier in der Freiwilligen Feuerwehr und bei uns hat es sich schon unabhängig vom Bot eingebürgert, dass man ( sofern man die Zeit dazu hat ) mit einem Icon im Gruppenchat kurz mitteilt, ob man kommt ( grüner Haken ) oder nicht ( roter Kreis). Das macht es übersichtlicher und schneller als Prosa und man weiß, mit wem man und wie vielen man ungefähr rechnen kann. Die Icons werte ich bisher mit yowsup und jetzt mit TelegramBot aus.
Der Bot untercheidet jetzt vier Fälle: Komme, komme nicht, komme nach und komme direkt zum Einsatzort. Wenn man jetzt aber gerade das Icon nicht in der Liste der zuletzt genutzten Icons hat, ist das richtige nicht so einfach in der Menge der Icons zu finden. Daher die Überlegung, 4 Buttons anzubieten, sofern das in einer Gruppe überhaupt funktioniert.
Da das ganze zum großen Teil sowieso in bisher 2 X.pm's stattfindet, brauch ich nicht zwangsläufig einen FHEM-Befehl. Direkter Funktionsaufruf ginge ggf. auch, aber meine Perl-Kenntnisse sind begrenzt.
Mein letzter etwas plumper Versuch sah so aus:
{TelegramBot_SendIt( ($defs{LGBot}),$peerid, 'TelegramBot FHEM : $peerid\n Bestaetigung \n', ({TelegramBot_MakeKeyboard(($defs{LGBot}),1,("test"))}), 0) }
aber ich habe wohl unter anderem noch nicht verstanden, wie das Array für MakeKeyboard aussehen muss.
Die Locations werde ich gleich mal testen. Vielen Dank dafür!
Zitat von: viegener am 25 September 2016, 14:07:24
Es gibt eine Version in github (siehe erstes Post), die sowohl locations senden kann und ausserdem venues und locations empfangen. Die empfangenen Koordinaten werden im msgText Reading abgelegt. Von dort muss man sie dann entsprechend weiterverabeiten.
Getestet und eingebaut. Sowohl Senden als auch Empfangen funktioniert gut.
Vielen Dank dafür!
Hallo Johannes,
wäre es in der neuen Version auch gleich noch möglich das Feature für den steuerbaren httptimeout mit einzubauen (siehe #791/792) ?
Das wäre super und ich müßte nach dem Update nicht gleich wieder die Anpassungen nachziehen.
viele Grüße
Heiko
Zitat von: DS_Starter am 25 September 2016, 22:23:06
Hallo Johannes,
wäre es in der neuen Version auch gleich noch möglich das Feature für den steuerbaren httptimeout mit einzubauen (siehe #791/792) ?
Das wäre super und ich müßte nach dem Update nicht gleich wieder die Anpassungen nachziehen.
viele Grüße
Heiko
Ja, das ist möglich und findet sich inzwischen auch in github.
Das Attribut cmdTimeout kann gesetzt werden, um den timeout fürs Senden einzuschalten
Wäre nett, wenn Du das ausprobieren könntest, denn ich kann das bei mir nicht nachstellen (auch ein Bild mit 8MB wird in weniger als 1 sec übertragen :)
Zitat von: Carsten am 25 September 2016, 22:14:09
Getestet und eingebaut. Sowohl Senden als auch Empfangen funktioniert gut.
Vielen Dank dafür!
Gern geschehen!
Danke für den schnellen Test.
ZitatWäre nett, wenn Du das ausprobieren könntest, denn ich kann das bei mir nicht nachstellen
Prima ... Danke :)
Ich probiere das heute Abend mal und melde mich.
Grüße,
Heiko
Hallo Johannes,
mein Test hat leider etwas länger gedauert, sorry für die späte Meldung.
Habe heute die neueste Version vom Github geladen und den Versand eines Bildes mit attr cmdTimout = 45 bzw. 60 probiert.
Es funktionierte so noch nicht.
Du hattest dich in der Zeile 1285 wahrscheinlich verschrieben. sie lautete:
$TelegramBot_hu_upd_params{timeout} = $timeout;
Nachdem ich sie auf:
$TelegramBot_hu_do_params{timeout} = $timeout;
geändert habe klappt es jetzt. :)
Schön wäre auch wenn du vor die Zeile 1397:
HttpUtils_NonblockingGet( \%TelegramBot_hu_do_params);
eine Logausgabe mit z.b. verbose 4 setzen könntest die zur Kontrolle den Hashwert des Timeout-Parameters ausgibt. Damit hatte ich mir jetzt zur Fehlersuche geholfen.
viele Grüße und ein schönes WE,
Heiko
Zitat von: DS_Starter am 01 Oktober 2016, 10:15:38
Hallo Johannes,
mein Test hat leider etwas länger gedauert, sorry für die späte Meldung.
Habe heute die neueste Version vom Github geladen und den Versand eines Bildes mit attr cmdTimout = 45 bzw. 60 probiert.
Es funktionierte so noch nicht.
Du hattest dich in der Zeile 1285 wahrscheinlich verschrieben. sie lautete:
$TelegramBot_hu_upd_params{timeout} = $timeout;
Hallo Heiko,
Du hast natürlich völlig recht und Danke, dass Du nicht nur den Test, sondern auch gleich die Ursachenforschung übernommen hast.
Habe die Änderungen eingebaut und in github hochgeladen
Gruss,
Johannes
Hallo,
habe heute ein Update von fhem gemacht und kann seither kaum noch nachrichten in fhem empfangen.
Ich bekomme auch immer den Fehler
NonBlockingGet timed out on read from <hidden> after 125s
Habe dann extra die Github-Version installiert, aber ohne merkliche verbesserung. Senden von Text und Bildern geht, lediglich das Empfangen/Polling geht nicht mehr.
Habe ich was überlesen, oder kann ich zur Reperatur beitragen?
Die Seite https://api.telegram.org/ ist jedenfalls problemlos erreichbar, ich denke nicht dass es mit meinem Internet/router zusammenhängt...
Edit1: Ein revert hat leide rauch keine Verbesserung gebracht. Vielleicht macht der Telegram-Server schwierigkeiten? Ich muss da leider gerade aufgeben...
Zitat von: JoeALLb am 06 Oktober 2016, 17:12:05
Hallo,
habe heute ein Update von fhem gemacht und kann seither kaum noch nachrichten in fhem empfangen.
Ich bekomme auch immer den Fehler
NonBlockingGet timed out on read from <hidden> after 125s
Habe dann extra die Github-Version installiert, aber ohne merkliche verbesserung. Senden von Text und Bildern geht, lediglich das Empfangen/Polling geht nicht mehr.
Habe ich was überlesen, oder kann ich zur Reperatur beitragen?
Die Seite https://api.telegram.org/ ist jedenfalls problemlos erreichbar, ich denke nicht dass es mit meinem Internet/router zusammenhängt...
Edit1: Ein revert hat leide rauch keine Verbesserung gebracht. Vielleicht macht der Telegram-Server schwierigkeiten? Ich muss da leider gerade aufgeben...
Was heisst "immer den Fehler", was sagt das reading
PollingErrCount.
Hintergrund eine gewisse Anzahl von Fehlern beim Polling ist normal (zumm Beispiel durch eine nächtliche Zwangstrennung von DSL-Anschlüssen) - Bei mir sind es so um die 4 pro Tag
Ich habe gerade einen neue Version ins SVN gestellt (1.9), diese wird ab morgen über update verfügbar:
- Unterstützung für Empfang und Senden von Locations (auch venues) -> z.B. sendLocation
- escaping von Dateinamen um auch Dateinamen mit Leerzeichen oder anderen Sonderzeichen zu ermöglichen (filenameUrlEscape Attribut)
- Timeout einstellbar auch für das Senden
Zitat von: viegener am 06 Oktober 2016, 19:03:51
Was heisst "immer den Fehler", was sagt das reading PollingErrCount.
Hintergrund eine gewisse Anzahl von Fehlern beim Polling ist normal (zumm Beispiel durch eine nächtliche Zwangstrennung von DSL-Anschlüssen) - Bei mir sind es so um die 4 pro Tag
PollingErrCount 4
nach dem Update von heute morgen.
Das senden klappt immer und ohne Zeitverzögerung, das pollen klappt zur zeit nie! ich merke das vorallem daran, dass der von mir gesendete
Text nie im reading erscheint. Auch mehrere Stunden später nicht.
Sorry für die unklare Formulierung, ich dachte ich hätte alles drinnen, was wichtig ist.
Edit1: PollingErrCount 24 mittlerweile
ZitatText nie im reading erscheint.
Das ist leider bei mir auch so. Erst ein
set <botname> reset
bringt Abhilfe und lässt auch zumindest die letzte Nachricht bei FHEM ankommen. Aktuell geht es dann bei mir wieder für eine Weile in beiden Richtungen.
Vielleicht lasse ich jetz mal stündlich einen Reset laufen!?
@JoeALLb - PollingErrCount 24 ist wirklich relativ hoch (Morgens ist ein Wert von 4 nach der Zwangstrennung in der Nacht bei mir normal)
Kannst Du auch mal den reset durchführen wie von RaspiCOC beschrieben?
Hast Du nach dem letzten Updaten einen Neustart von FHEM ausgeführt?
@RaspiCOC - Kannst Du mal ein list des bot devices machen, wenn der Empfang nicht mehr funktioniert?
Hallo Johannes,
von mir eine positive Nachricht :)
Bei mir läuft alles rund nach dem Update. Sende-Timeout funktioniert und ich kann auch ohne Probs Nachrichten an FHEM senden.
PollingErrCount ist bei mir zZt. noch höher, scheint aber keinen negativen Effekt auf die Funktion zu haben.
Aber mein Internetanschluß ist eh nicht so super gut bzw. performant.
Off Topic:
Noch eine Frage die nichts direkt mit dem Modul zu tun hat.
Auf meinem Nexus 7 (Android 6.0.1) geht der Akkuverbrauch drastisch nach oben wenn das Telegram-Popup eingeschaltet ist und das Popup-Fenster nicht
gleich wieder geschlossen wird.
Kennt jemand dieses Problem ?
Off Topic aus.
Danke und viele Grüße
Heiko
2016-10-07 13:21:52 PollingErrCount 322
,
ein reset hat leider keine Änderung gebracht. Meine Internetverbindung ist eingentlich stabil,
zwangstrennungen habe ich nicht.
Es geht auch sonst eigentlich jeder dienst, bis eben auf telegram. Das Log gibt leider nicht viel her, das mir helfen könnte...
Hallo JoeAllb,
nur mal als Ausschlußktiterium ... versuche doch im "global"-device mit dem Attribut "dnsServer" einen öffentlichen DNS (z.B. Google 8.8.8.8 ) einzutragen.
Und falls du dieses Attr noch garnicht gesetzt hast, kanst du durchaus zunächst deinen lokalen DNS (überlicherweise deine Router-IP) dort eintragen.
Schau mal ob das etwas bringt.
VG
Bekomme manchmal (ganz selten) folgende Fehlermeldung
016-10-07 16:27:35 TelegramBot telegram PollingLastError: NonBlockingGet: returned connect to https://api.telegram.org:443 timed out
das interessante ist aber, dass es in derm Commandozeile scheinbar problemlos funktioniert...
wget -p https://api.telegram.org:443
--2016-10-07 16:30:04-- https://api.telegram.org/
Auflösen des Hostnamen »api.telegram.org (api.telegram.org)«... 149.154.167.198, 149.154.167.197, 149.154.167.200, ...
Verbindungsaufbau zu api.telegram.org (api.telegram.org)|149.154.167.198|:443... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 302 Moved Temporarily
Platz: https://core.telegram.org/bots[folge]
--2016-10-07 16:30:04-- https://core.telegram.org/bots
Auflösen des Hostnamen »core.telegram.org (core.telegram.org)«... 149.154.167.99, 2001:67c:4e8:fa60:3:0:811:139
Verbindungsaufbau zu core.telegram.org (core.telegram.org)|149.154.167.99|:443... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 34009 (33K) [text/html]
In »»api.telegram.org/index.html«« speichern.
api.telegram.org/index.html 100%[=============================================================================>] 33,21K --.-KB/s in 0,01s
2016-10-07 16:30:05 (3,23 MB/s) - »»api.telegram.org/index.html«« gespeichert [34009/34009]
BEENDET --2016-10-07 16:30:05--
Verstrichene Zeit: 0,6s
Versteht das jemand?
Zitat von: DS_Starter am 07 Oktober 2016, 14:55:06
nur mal als Ausschlußktiterium ... versuche doch im "global"-device mit dem Attribut "dnsServer" einen öffentlichen DNS (z.B. Google 8.8.8.8 ) einzutragen.
Danke für den Tip, diese Einstellung kannte ich noch gar nicht. Dein Post ist leider erst gekommen, während ich meinen oben verfasst habe. Der Parameter war nicht gesetzt. Habs mit beidem versucht: interner und externer DNS, ohne Änderung!
Auf der Kommandozeile kann ich beide DNS jedoch problemlos auflösen.
dig google.com @8.8.8.8
; <<>> DiG 9.9.5-9+deb8u7-Debian <<>> google.com @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56468
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 216.58.211.14
;; Query time: 32 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Oct 07 16:38:50 CEST 2016
;; MSG SIZE rcvd: 44
Dazu auch noch ein Feature-Request: Die meisten fhem-Tools haben ein disabled-attribut. Es wäre schön, wenn das dieses Modul auch unterstützen könnte ;-)
Zitat von: JoeALLb am 07 Oktober 2016, 16:40:52
Danke für den Tip, diese Einstellung kannte ich noch gar nicht. Dein Post ist leider erst gekommen, während ich meinen oben verfasst habe. Der Parameter war nicht gesetzt. Habs mit beidem versucht: interner und externer DNS, ohne Änderung!
Auf der Kommandozeile kann ich beide DNS jedoch problemlos auflösen.
dig google.com @8.8.8.8
; <<>> DiG 9.9.5-9+deb8u7-Debian <<>> google.com @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56468
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 216.58.211.14
;; Query time: 32 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Oct 07 16:38:50 CEST 2016
;; MSG SIZE rcvd: 44
Das ist alles ein Irrweg aus meiner Sicht: wenn Senden geht und Empfangen nicht, hat das nichts mit DNS oder connectivity zu telegram zu tun. Das passt nicht. Da es auch kein systematisches Problem mit telegram gibt, liegt das Problem an anderer Stelle und in Deiner fhem-Instanz.
Also nochmal zurück: Du hast ein Update von fhem gemacht und danch fingen diese Probleme an, korrekt?
Ein paar Fragen:
- Telegram hat vorher störungsfrei mit denselben Einstellungen funktioniert?
- Auch eine alte Version von telegram hat das Problem nicht gelöst?
- Wie lange hast Du kein Update gemacht vorher? bzw. welche Dateien/Module wurden upgedatet?
- Kannst Du auf die FHEM-Version vor dem update zurückgehen und testen ob es dann noch geht?
- Wenn ja - dann könntest Du versuchen nur telegram in dieser Instanz upzudaten und zu schauen ob das etwas ändert?
Und zur Sicherheit: Hast Du fhem nach dem update neugestartet?
Hast Du mal versucht den Rechner komplett neu zu starten?
Wie immer... Ging eine Weile und jetzt empfängt er nix mehr. Hier list telebot:
Internals:
DEF xxxx:xxxx
FAILS 0
NAME telebot
NR 1582
OLD_POLLING 198
POLLING 198
SNAME telebot
STATE Polling
TYPE TelegramBot
Token xxxx:xxxx
UPDATER 0
URL https://api.telegram.org/botxxxx:xxxx/
WAIT 0
me xxxx:FHEM_Server:@yyyy
offset_id 700937658
sentLastResult SUCCESS
sentMsgId 3078
sentMsgPeer zzzz
sentMsgPeerId xxxx
sentMsgResult SUCCESS
sentMsgText Bewegungserkennung im Treppenhaus!
Contacts:
xxxx xxxx:yyyy:@yyyy
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Fri, 07 Oct 2016 18:59:18 GMT
Content-Type: application/json
Content-Length: 283
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
EDIT: Nehme das jetzt mal zurück. Nach etwa 10 Minuten kam die Nachricht an.
@RaspiCOC - Also geht es doch, wobei 10min sollte eigentlich nicht sein... / Das Listing oben ist aber nicht vollständig ...
Zitat von: viegener am 07 Oktober 2016, 20:13:30
Also nochmal zurück: Du hast ein Update von fhem gemacht und danch fingen diese Probleme an, korrekt?
Ein paar Fragen:
- Telegram hat vorher störungsfrei mit denselben Einstellungen funktioniert?
- Auch eine alte Version von telegram hat das Problem nicht gelöst?
- Wie lange hast Du kein Update gemacht vorher? bzw. welche Dateien/Module wurden upgedatet?
Ich hatte kein Update seit Frühjahr, und es hat seither und vorallem im Frühjahr sehr gut funktioniert.
Ich war jedoch über den Sommer beruflich lange weg, weshalb ich es dort selten genutzt habe.
Dennoch war es bisher immer wenn ich es brauchte sehr zuverlässig.
Zitat von: viegener am 07 Oktober 2016, 20:13:30
- Kannst Du auf die FHEM-Version vor dem update zurückgehen und testen ob es dann noch geht?
Werd ich später versuchen, bin gerade nicht am Gerät.
Zitat von: viegener am 07 Oktober 2016, 20:13:30
- Wenn ja - dann könntest Du versuchen nur telegram in dieser Instanz upzudaten und zu schauen ob das etwas ändert?
Das habe ich gemacht indem ich mir aus github die alte Version gezogen habe und fhem komplett neu gestartet habe.
Auch da hats nicht funktioniert.
Zitat von: viegener am 07 Oktober 2016, 20:13:30
Und zur Sicherheit: Hast Du fhem nach dem update neugestartet?
Hast Du mal versucht den Rechner komplett neu zu starten?
Ja, mehrmals. Zur Sicherheit auch den Server neu gestartet,
da ich auch am Server (debian) einige Updates neu eingespielt wurde.
Mehr Logs gibt es nicht? Die Verbindung zu api.telegram.org müsste doch irgendwelche fehlermeldungen ausspucken?!?
Ich hatte bisher noch keine Zeit, mir das mit Whireshark anzusehen, aber vermutlich sind die Daten eh verschlüsselt...?!
Du hast aber nicht zufällig noch eine Testinstanz von FHEM laufen, die den gleichen Bot bedient?
Zitat von: JoeALLb am 10 Oktober 2016, 08:35:27
Das habe ich gemacht indem ich mir aus github die alte Version gezogen habe und fhem komplett neu gestartet habe.
Auch da hats nicht funktioniert.
Missverständnis, es geht um Ursachenforschung: Ich meinte FHEM komplett (!) auf die alte Version und dann testen
Wenn es damit geht --> telegram updaten
Wenn es dann nicht geht ist es möglicherweise telegram
Wenn es dann wieder geht ist es ein anderer Teil von FHEM
Zitat von: JoeALLb am 10 Oktober 2016, 08:35:27
Mehr Logs gibt es nicht? Die Verbindung zu api.telegram.org müsste doch irgendwelche fehlermeldungen ausspucken?!?
Ich hatte bisher noch keine Zeit, mir das mit Whireshark anzusehen, aber vermutlich sind die Daten eh verschlüsselt...?!
Doch natürlich gibt es mehr logs, attribut verbose auf 5 setzen erzeugt relativ viel log
Im commandref ist auch beschrieben, wie die pollingfehler einzeln gelogged werden können
Wireshark wird hier eher nicht helfen, mitmproxy könnte helfen, wäre aber relativ aufwändig und vermutlich mit Kanonen auf Spatzen.
Also wenn der Versuch von oben dazu führt, dass es wohl bem telegram-Modul liegen kann würde ich vorschlagen
- verbose auf 5
- relevanten Teil des logs heir posten
- list des telegram Devices hier posten
- Infos zur Umgebung - Anbindung über WLAN / Plattform / Betriebssystem / ... dazu
Achtung: Immer den Bot-URL (zumindest den APIKey ) unkenntlich machen
Nein, habe ich nicht. Habe mich aber auch schon gefragt, ob mich Telegramm vielleicht wegen zu vielen Fehlern in gewisser weise "sperrt".
Dies sollte mir Telegramm jedoch mitteilen, oder?
Aus diesem Grund habe ich nach dem disabled=1 -Feature gefragt, um den Bot mal für einen Tag abzustellen---- ;-)
Was mir auffällt ist, dass ich bei normalem Betrieb diese Fehlermeldung erhalte.
PollingLastError=NonBlockingGet timed out on read from <hidden> after 125s
Wenn ich für einen Test jedoch die Firewall sperre, erhalte ich folgende Fehlermeldung:
im Reading:
me=Failed - see log file for details
im Log:
TelegramBot_DoUrlCommand telegram: FAILED http access returned error :https://api.telegram.org/bot1558#####:AAF############H1Br-a####0/getMe: Can't connect(1) to https://api.telegram.org:443: IO::Socket::INET: connect: timeout:
Zitat von: viegener am 10 Oktober 2016, 09:42:39
Wireshark wird hier eher nicht helfen, mitmproxy könnte helfen, wäre aber relativ aufwändig und vermutlich mit Kanonen auf Spatzen.
Da haben sich unsere Posts wieder überschnitten, sorry. Einen Proxy hätte ich, wenn du mir sagst, wie ich den konfigurieren kann?
Hab dazu per suche nix gefunden, ausser, wie ich einen reverse-Proxy VOR fhem schalte, und das habe ich schon.
Das andere teste ich später, wenn ich am Gerät bin. Danke für die INformationen und die Unterstützung.
@viegener: Sorry, habe wohl Länge des Listings unterschätzt und zu wenig kopiert... Hier nochmal:
Internals:
DEF 333333333:[API-Key]
FAILS 0
NAME telebot
NR 1581
POLLING 1
SNAME telebot
STATE Polling
TYPE TelegramBot
Token 333333333:[API-Key]
UPDATER 0
URL https://api.telegram.org/bot333333333:[API-Key]/
WAIT 0
me 333333333:FHEM_Server:@FHEM_Test_bot
sentLastResult SUCCESS
sentMsgId 4209
sentMsgPeer Test_User
sentMsgPeerId 222222222
sentMsgResult SUCCESS
sentMsgText Haustür wurde soeben geschlossen!
Contacts:
222222222 222222222:Test_User:@TESTTEST
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 10 Oct 2016 05:48:30 GMT
Content-Type: application/json
Content-Length: 287
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
{"ok":true,"result":{"message_id":4209,"from":{"id":333333333,"first_name":"FHEM_Server","username":"FHEM_Test_bot"},"chat":{"id":222222222,"first_name":"yyyyy","last_name":"zzzzzzzzz","username":"YN427","type":"private"},"date":1476078510,"text":"Haust\u00fcr wurde soeben geschlossen!"}}
code 200
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 10 Oct 2016 05:48:30 GMT
Content-Type: application/json
Content-Length: 287
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 215
loglevel 4
method POST
path /bot333333333:[API-Key]/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/bot333333333:[API-Key]/sendMessage
args:
Test_User
Haustür wurde soeben geschlossen!
0
1
Hash:
Sslargs:
Hu_upd_params:
FD 5
NAME
addr https://api.telegram.org:443
buf
code 200
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
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Mon, 10 Oct 2016 09:34:28 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
isPolling update
loglevel 4
method GET
offset 0
path /bot444444444:[API-Key]/getUpdates?offset=0&limit=5&timeout=15
protocol https
redirects 0
timeout 35
url https://api.telegram.org/bot444444444:[API-Key]/getUpdates?offset=0&limit=5&timeout=15
Hash:
DEF 444444444:[API-Key]
FAILS 1
NAME ALARM_Bot
NR 1727
OLD_POLLING 84
POLLING 84
SNAME ALARM_Bot
STATE Polling
TYPE TelegramBot
Token 444444444:[API-Key]
UPDATER 0
URL https://api.telegram.org/bot444444444:[API-Key]/
WAIT 0
me 444444444:ALARM_E25b:@FHEM_25b_Notifier_bot
Contacts:
222222222 222222222:Test_User:@TESTTEST
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 10 Oct 2016 05:48:30 GMT
Content-Type: application/json
Content-Length: 287
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
{"ok":true,"result":{"message_id":4209,"from":{"id":333333333,"first_name":"FHEM_Server","username":"FHEM_Test_bot"},"chat":{"id":222222222,"first_name":"yyyyy","last_name":"zzzzzzzzz","username":"YN427","type":"private"},"date":1476078510,"text":"Haust\u00fcr wurde soeben geschlossen!"}}
code 200
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 10 Oct 2016 05:48:30 GMT
Content-Type: application/json
Content-Length: 287
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 215
loglevel 4
method POST
path /bot333333333:[API-Key]/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/bot333333333:[API-Key]/sendMessage
args:
Test_User
Haustür wurde soeben geschlossen!
0
1
Hash:
Sslargs:
Hu_upd_params:
Readings:
2016-08-11 15:08:18 Contacts 222222222:Test_User:@TESTTEST
2016-10-10 11:34:39 PollingErrCount 1503
2016-10-10 11:34:39 PollingLastError NonBlockingGet timed out on read from <hidden> after 35s
2016-09-19 17:24:29 msgChat
2016-09-19 17:24:29 msgFileId
2016-09-19 17:24:29 msgId 413
2016-09-19 17:24:29 msgPeer Test_User
2016-09-19 17:24:29 msgPeerId 222222222
2016-09-19 17:24:29 msgText Alarm zurückgesetzt!
2016-09-19 17:24:29 prevMsgChat
2016-09-19 17:24:29 prevMsgFileId
2016-09-19 17:24:29 prevMsgId 412
2016-09-19 17:24:29 prevMsgPeer Test_User
2016-09-19 17:24:29 prevMsgPeerId 222222222
2016-09-19 17:24:29 prevMsgText Alarm zurückgesetzt!
2016-09-19 17:24:29 sentMsgId 414
2016-09-19 17:24:29 sentMsgResult SUCCESS
Sslargs:
Readings:
2016-08-09 14:03:12 Contacts 222222222:Test_User:@TESTTEST
2016-10-09 00:00:08 PollingErrCount 0
2016-10-07 16:28:20 PollingLastError NonBlockingGet timed out on read from <hidden> after 35s
2016-10-07 20:58:53 msgChat
2016-10-07 20:58:53 msgFileId
2016-10-07 20:58:53 msgId 3077
2016-10-07 20:58:53 msgPeer Test_User
2016-10-07 20:58:53 msgPeerId 222222222
2016-10-07 20:58:53 msgText Gbhbbbbb
2016-10-07 20:58:53 prevMsgChat
2016-10-07 20:58:53 prevMsgFileId
2016-10-07 20:58:53 prevMsgId 2813
2016-10-07 20:58:53 prevMsgPeer Test_User
2016-10-07 20:58:53 prevMsgPeerId 222222222
2016-10-07 20:58:53 prevMsgText done
2016-10-10 07:48:30 sentMsgId 4209
2016-10-10 07:48:30 sentMsgResult SUCCESS
sentQueue:
Attributes:
cmdKeyword doit
cmdRestrictedPeer Test_User
defaultPeer Test_User
icon telegram
pollingTimeout 15
room 2.10_Kommunikation
Unverändert die Situation, dass ausgehende Nachrichten superschnell zugestellt werden. Eingehende Nachrichten kommen nach einer Weile Betrieb nicht mehr an. Erst nach einem RESET werden sodann neu abgesetzte Nachrichten zugestellt.
ok, ein revert ist nicht so einfach, da ich configDB verwende und meine Konfiguration sich daher nicht im Backup befindet....
Anbei ein Auszug ais dem VerboseLog 5.
Meines erachtens sehe ich dort den Text, den ich per Handy an den Pot sende (einmal den sinnvollen text "ggggggvv", einmal "tttttttttttt").
Beide Texte habe ich nur am Handy eingegeben, und sie erscheinen tatsächlich im TemegramBot-Log. Im Modul bei FHEM erscheinen sie
jedoch nicht.
Könnte das schon weiterhelfen?
2016.10.10 12:03:23 5: TelegramBot_ParseUpdate telegram: data returned :{"ok":true,"result":[{"update_id":461154800,
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :1: to :1:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found an ARRAY
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :2124: to :2124:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :tttttttttttt: to :tttttttttttt:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :######: to :######:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####307: to :147####307:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :private: to :private:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####307: to :147####307:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :######: to :######:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####803: to :147####803:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :461154###: to :46###4800:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_UpdatePoll telegram: called
2016.10.10 12:03:23 4: TelegramBot_UpdatePoll telegram: initiate polling with nonblockingGet with 60s
2016.10.10 12:03:23 2: TelegramBot_Callback telegram: resulted in :SUCCESS: from Polling
2016.10.10 12:03:23 5: TelegramBot_Callback telegram: called from Polling
2016.10.10 12:03:23 5: TelegramBot_ParseUpdate telegram: data returned :{"ok":true,"result":[{"update_id":461#####01,
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :1: to :1:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found an ARRAY
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####803: to :147####803:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :private: to :private:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####307: to :147####307:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :######: to :######:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####307: to :147####307:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :######: to :######:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :ggggggvv: to :ggggggvv:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :2125: to :2125:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :461#####01: to :461#####01:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_UpdatePoll telegram: called
2016.10.10 12:03:23 4: TelegramBot_UpdatePoll telegram: initiate polling with nonblockingGet with 60s
2016.10.10 12:03:23 2: TelegramBot_Callback telegram: resulted in :SUCCESS: from Polling
Zitat von: RaspiCOC am 10 Oktober 2016, 11:44:54
@viegener: Sorry, habe wohl Länge des Listings unterschätzt und zu wenig kopiert... Hier nochmal:
Internals:
DEF 333333333:[API-Key]
FAILS 0
NAME telebot
NR 1581
POLLING 1
SNAME telebot
STATE Polling
TYPE TelegramBot
Token 333333333:[API-Key]
UPDATER 0
URL https://api.telegram.org/bot333333333:[API-Key]/
WAIT 0
me 333333333:FHEM_Server:@FHEM_Test_bot
sentLastResult SUCCESS
sentMsgId 4209
sentMsgPeer Test_User
sentMsgPeerId 222222222
sentMsgResult SUCCESS
sentMsgText Haustür wurde soeben geschlossen!
Contacts:
222222222 222222222:Test_User:@TESTTEST
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 10 Oct 2016 05:48:30 GMT
Content-Type: application/json
Content-Length: 287
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
{"ok":true,"result":{"message_id":4209,"from":{"id":333333333,"first_name":"FHEM_Server","username":"FHEM_Test_bot"},"chat":{"id":222222222,"first_name":"yyyyy","last_name":"zzzzzzzzz","username":"YN427","type":"private"},"date":1476078510,"text":"Haust\u00fcr wurde soeben geschlossen!"}}
code 200
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 10 Oct 2016 05:48:30 GMT
Content-Type: application/json
Content-Length: 287
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 215
loglevel 4
method POST
path /bot333333333:[API-Key]/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/bot333333333:[API-Key]/sendMessage
args:
Test_User
Haustür wurde soeben geschlossen!
0
1
Hash:
Sslargs:
Hu_upd_params:
FD 5
NAME
addr https://api.telegram.org:443
buf
code 200
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
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Mon, 10 Oct 2016 09:34:28 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
isPolling update
loglevel 4
method GET
offset 0
path /bot444444444:[API-Key]/getUpdates?offset=0&limit=5&timeout=15
protocol https
redirects 0
timeout 35
url https://api.telegram.org/bot444444444:[API-Key]/getUpdates?offset=0&limit=5&timeout=15
Hash:
DEF 444444444:[API-Key]
FAILS 1
NAME ALARM_Bot
NR 1727
OLD_POLLING 84
POLLING 84
SNAME ALARM_Bot
STATE Polling
TYPE TelegramBot
Token 444444444:[API-Key]
UPDATER 0
URL https://api.telegram.org/bot444444444:[API-Key]/
WAIT 0
me 444444444:ALARM_E25b:@FHEM_25b_Notifier_bot
Contacts:
222222222 222222222:Test_User:@TESTTEST
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 10 Oct 2016 05:48:30 GMT
Content-Type: application/json
Content-Length: 287
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
{"ok":true,"result":{"message_id":4209,"from":{"id":333333333,"first_name":"FHEM_Server","username":"FHEM_Test_bot"},"chat":{"id":222222222,"first_name":"yyyyy","last_name":"zzzzzzzzz","username":"YN427","type":"private"},"date":1476078510,"text":"Haust\u00fcr wurde soeben geschlossen!"}}
code 200
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 10 Oct 2016 05:48:30 GMT
Content-Type: application/json
Content-Length: 287
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 215
loglevel 4
method POST
path /bot333333333:[API-Key]/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/bot333333333:[API-Key]/sendMessage
args:
Test_User
Haustür wurde soeben geschlossen!
0
1
Hash:
Sslargs:
Hu_upd_params:
Readings:
2016-08-11 15:08:18 Contacts 222222222:Test_User:@TESTTEST
2016-10-10 11:34:39 PollingErrCount 1503
2016-10-10 11:34:39 PollingLastError NonBlockingGet timed out on read from <hidden> after 35s
2016-09-19 17:24:29 msgChat
2016-09-19 17:24:29 msgFileId
2016-09-19 17:24:29 msgId 413
2016-09-19 17:24:29 msgPeer Test_User
2016-09-19 17:24:29 msgPeerId 222222222
2016-09-19 17:24:29 msgText Alarm zurückgesetzt!
2016-09-19 17:24:29 prevMsgChat
2016-09-19 17:24:29 prevMsgFileId
2016-09-19 17:24:29 prevMsgId 412
2016-09-19 17:24:29 prevMsgPeer Test_User
2016-09-19 17:24:29 prevMsgPeerId 222222222
2016-09-19 17:24:29 prevMsgText Alarm zurückgesetzt!
2016-09-19 17:24:29 sentMsgId 414
2016-09-19 17:24:29 sentMsgResult SUCCESS
Sslargs:
Readings:
2016-08-09 14:03:12 Contacts 222222222:Test_User:@TESTTEST
2016-10-09 00:00:08 PollingErrCount 0
2016-10-07 16:28:20 PollingLastError NonBlockingGet timed out on read from <hidden> after 35s
2016-10-07 20:58:53 msgChat
2016-10-07 20:58:53 msgFileId
2016-10-07 20:58:53 msgId 3077
2016-10-07 20:58:53 msgPeer Test_User
2016-10-07 20:58:53 msgPeerId 222222222
2016-10-07 20:58:53 msgText Gbhbbbbb
2016-10-07 20:58:53 prevMsgChat
2016-10-07 20:58:53 prevMsgFileId
2016-10-07 20:58:53 prevMsgId 2813
2016-10-07 20:58:53 prevMsgPeer Test_User
2016-10-07 20:58:53 prevMsgPeerId 222222222
2016-10-07 20:58:53 prevMsgText done
2016-10-10 07:48:30 sentMsgId 4209
2016-10-10 07:48:30 sentMsgResult SUCCESS
sentQueue:
Attributes:
cmdKeyword doit
cmdRestrictedPeer Test_User
defaultPeer Test_User
icon telegram
pollingTimeout 15
room 2.10_Kommunikation
Unverändert die Situation, dass ausgehende Nachrichten superschnell zugestellt werden. Eingehende Nachrichten kommen nach einer Weile Betrieb nicht mehr an. Erst nach einem RESET werden sodann neu abgesetzte Nachrichten zugestellt.
Kurze Frage: Benutzt Du zwei unabhängige Bots, die beide per Polling Nachrichten empfangen?
Johannes
Zitat von: JoeALLb am 10 Oktober 2016, 12:09:33
ok, ein revert ist nicht so einfach, da ich configDB verwende und meine Konfiguration sich daher nicht im Backup befindet....
Anbei ein Auszug ais dem VerboseLog 5.
Meines erachtens sehe ich dort den Text, den ich per Handy an den Pot sende (einmal den sinnvollen text "ggggggvv", einmal "tttttttttttt").
Beide Texte habe ich nur am Handy eingegeben, und sie erscheinen tatsächlich im TemegramBot-Log. Im Modul bei FHEM erscheinen sie
jedoch nicht.
Könnte das schon weiterhelfen?
2016.10.10 12:03:23 5: TelegramBot_ParseUpdate telegram: data returned :{"ok":true,"result":[{"update_id":461154800,
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :1: to :1:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found an ARRAY
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :2124: to :2124:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :tttttttttttt: to :tttttttttttt:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :######: to :######:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####307: to :147####307:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :private: to :private:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####307: to :147####307:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :######: to :######:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####803: to :147####803:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :461154###: to :46###4800:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_UpdatePoll telegram: called
2016.10.10 12:03:23 4: TelegramBot_UpdatePoll telegram: initiate polling with nonblockingGet with 60s
2016.10.10 12:03:23 2: TelegramBot_Callback telegram: resulted in :SUCCESS: from Polling
2016.10.10 12:03:23 5: TelegramBot_Callback telegram: called from Polling
2016.10.10 12:03:23 5: TelegramBot_ParseUpdate telegram: data returned :{"ok":true,"result":[{"update_id":461#####01,
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :1: to :1:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found an ARRAY
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####803: to :147####803:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :private: to :private:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####307: to :147####307:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :######: to :######:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :147####307: to :147####307:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :######: to :######:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :ggggggvv: to :ggggggvv:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :2125: to :2125:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: encoded a String from :461#####01: to :461#####01:
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.10 12:03:23 5: TelegramBot_UpdatePoll telegram: called
2016.10.10 12:03:23 4: TelegramBot_UpdatePoll telegram: initiate polling with nonblockingGet with 60s
2016.10.10 12:03:23 2: TelegramBot_Callback telegram: resulted in :SUCCESS: from Polling
Auch bei Dir die Frage gibt es 2 Bots in derselben FHEM-Instanz?
Nein, nur einer!!
root@debian:/opt/fhem# perl fhem.pl 7072 "list TYPE=TelegramBot"|grep NAME
NAME telegram
SNAME telegram
NAME
NAME
ZitatKurze Frage: Benutzt Du zwei unabhängige Bots, die beide per Polling Nachrichten empfangen?
Ja, das ist richtig! Ich könnte aber einen zu Testzwecken deaktivieren, was ich jetzt gleich mal machen werde.
EDIT: Oder auch nicht, da ich gerade sehe, dass es kein "disable" gibt. Allerdings, jetzt etwa 1,5 h nach dem Reset kommen eingehende Nachrichten noch immer an.
Zitat von: RaspiCOC am 10 Oktober 2016, 13:08:01
Ja, das ist richtig! Ich könnte aber einen zu Testzwecken deaktivieren, was ich jetzt gleich mal machen werde.
EDIT: Oder auch nicht, da ich gerade sehe, dass es kein "disable" gibt. Allerdings, jetzt etwa 1,5 h nach dem Reset kommen eingehende Nachrichten noch immer an.
Das disable (zumindest kein empfang) geht über setzen des Pollingtimeouts auf 0
Ich denke aber, dass das die Erklärung ist, ich hatte so etwas zu Testzwecken auch in Betrieb aber habe es in letzter Zeit nicht mehr genutzt, deshalb ist mir das wohl nicht aufgefallen. Ich versuche eine Testversion zu machen bevor ich morgen geschäftlich wieder unterwegs bin.
Ok, pollingtimeout ist jetzt auf 0.
Werde das jetzt mal ein paar Tage beobachten.
OT: Das schöne an diesem Modul ist, dass es eine deutliche schnellere Kommunikation/Interaktion zwischen User und FHEM ermöglicht, als das WebFrontend oder andFHEM es können.
... da schließe ich mich an: ich versende über dieses Modul zwischenzeilich sogar Statusmeldungen von meinem Internet-Router (DHCP-IP-änderungen, gewisse WLAN-Ereignisse, etc...) Sehr tolles Modul für solche Dinge!
Zitat von: JoeALLb am 10 Oktober 2016, 14:32:23
... da schließe ich mich an: ich versende über dieses Modul zwischenzeilich sogar Statusmeldungen von meinem Internet-Router (DHCP-IP-änderungen, gewisse WLAN-Ereignisse, etc...) Sehr tolles Modul für solche Dinge!
Vielen Dank für die Blumen :)
Das Problem mit mehreren parallelen Bots werde ich wohl hoffentlich auch lösen können...
Zitat von: viegener am 10 Oktober 2016, 14:36:46
Das Problem mit mehreren parallelen Bots werde ich wohl hoffentlich auch lösen können...
Aber mir hilft das nicht, oder? Denn ich habe ja nur einen Bot...
Zitat von: JoeALLb am 10 Oktober 2016, 14:52:24
Aber mir hilft das nicht, oder? Denn ich habe ja nur einen Bot...
Ja, dazu habe ich leider noch keine Lösung, vermute aber, dass es vielleicht am JSON-Modul oder am Encoding liegen könnte.
@JoeALLb: im github befindet sich jetzt eine Testversion, die mehr logausgaben enthält. Vielleicht kannst Du das mal ausprobieren und nochmal den log mit verbose 5 posten?
@RaspiCOC: die Version in github enthält auch Änderungen für mehrere Bots, das sollte hoffentlich auch gehenn Rückmeldung erwünscht.
github-Link: https://github.com/viegener/Telegram-fhem/blob/master/50_TelegramBot.pm (https://github.com/viegener/Telegram-fhem/blob/master/50_TelegramBot.pm)
Anbei mein Log nach einem shutdown/restart mit dem neuen Modul.
Danach habe ich vom Handy an den Bot den schlauen Text "-gggggggggggggggg" geschickt.
Im Log finde ich den wieder, jedoch in keinem Reading des Moduls, welches mir immer noch
PollingLastError=NonBlockingGet timed out on read from <hidden> after 125s
ausgibt. Ich hoffe, das hilft weiter.?!
2016.10.11 07:55:54 3: TelegramBot_Define telegram: called
2016.10.11 07:56:37 4: TelegramBot_Set telegram: called
2016.10.11 07:56:37 4: TelegramBot_Set telegram: Processing TelegramBot_Set( ? )
2016.10.11 07:56:37 4: TelegramBot_Set telegram: called
2016.10.11 07:56:37 4: TelegramBot_Set telegram: Processing TelegramBot_Set( ? )
2016.10.11 07:56:37 5: TelegramBot_Get telegram: called
2016.10.11 07:56:37 5: TelegramBot_Get telegram: Processing TelegramBot_Get( ? )
2016.10.11 07:57:15 5: TelegramBot_Callback telegram: called from Polling
2016.10.11 07:57:15 5: TelegramBot_Callback telegram: data returned :{"ok":true,"result":[]}:
2016.10.11 07:57:15 5: TelegramBot_Deepencode telegram: found an ARRAY
2016.10.11 07:57:15 5: TelegramBot_Deepencode telegram: encoded a String from :1: to :1:
2016.10.11 07:57:15 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.11 07:57:15 5: TelegramBot_Callback telegram: after encoding
2016.10.11 07:57:15 5: TelegramBot_Callback telegram: polling returned result? 0
2016.10.11 07:57:15 5: TelegramBot_UpdatePoll telegram: called
2016.10.11 07:57:15 4: TelegramBot_UpdatePoll telegram: initiate polling with nonblockingGet with 60s
2016.10.11 07:57:15 2: TelegramBot_Callback telegram: resulted in :SUCCESS: from Polling
2016.10.11 07:57:37 5: TelegramBot_Callback telegram: called from Polling
2016.10.11 07:57:37 5: TelegramBot_Callback telegram: data returned :{"ok":true,"result":[{"update_id": 4611548XX,
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: found an ARRAY
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from : 4611548XX: to : 4611548XX:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from :-gggggggggggggggg: to :-gggggggggggggggg:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from :2130: to :2130:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from :XXmyname: to :XXmyname:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from :1488793XX: to :1488793XX:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from :1476169057: to :1476169057:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from :XXmyname: to :XXmyname:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from :private: to :private:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from :1488793XX: to :1488793XX:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: encoded a String from :1: to :1:
2016.10.11 07:57:37 5: TelegramBot_Deepencode telegram: found a HASH
2016.10.11 07:57:37 5: TelegramBot_Callback telegram: after encoding
2016.10.11 07:57:37 5: TelegramBot_Callback telegram: polling returned result? 1
2016.10.11 07:57:37 5: TelegramBot_UpdatePoll telegram: called
2016.10.11 07:57:37 4: TelegramBot_UpdatePoll telegram: initiate polling with nonblockingGet with 60s
2016.10.11 07:57:37 2: TelegramBot_Callback telegram: resulted in :SUCCESS: from Polling
Anbei noch ein list des Bots
fhem> list telegram
Internals:
CFGFN
DEF 155MYBOT9588:####API####0
FAILS 0
NAME telegram
NR 258
OLD_POLLING 9
POLLING 9
SNAME telegram
STATE Polling
TYPE TelegramBot
Token 155MYBOT9588:####API####0
UPDATER 0
URL https://api.telegram.org/bot155MYBOT9588:####API####0/
WAIT 0
me 155MYBOT9588:cXXX5:@myNBot
offset_id 461154803
sentLastResult SUCCESS
sentMsgId 2129
sentMsgPeer
sentMsgPeerId 1488793XX
sentMsgResult SUCCESS
sentMsgText Image: /mnt/surveillance/@Snapshot/FOSCAM-R2-20161010-1800410122.jpg
Contacts:
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Tue, 11 Oct 2016 05:56:15 GMT
Content-Type: application/json
Content-Length: 538
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
{"ok":true,"result":{"message_id":2129,"from":{"id":155MYBOT9588,"first_name":"cXXX5","username":"myNBot"},"chat":{"id":1488793XX,"first_name":"XXmyname","type":"private"},"date":1476168975,"photo":[{"file_id":"AgADBAADuKcxG7SvSgk2EnvH7VpSJhjfaBkABNrDZYPol3k-a80BAAEC","file_size":1001,"width":90,"height":51},{"file_id":"AgADBAADuKcxG7SvSgk2EnvH7VpSJhjfaBkABPGP_mFF5QYVbM0BAAEC","file_size":10410,"width":320,"height":180},{"file_id":"AgADBAADuKcxG7SvSgk2EnvH7VpSJhjfaBkABNP4TiX2Rmxybc0BAAEC","file_size":21445,"width":640,"height":360}]}}
code 200
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Tue, 11 Oct 2016 05:56:15 GMT
Content-Type: application/json
Content-Length: 538
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 1
loglevel 4
method POST
path /bot155MYBOT9588:####API####0/sendPhoto
protocol https
redirects 0
timeout 30
url https://api.telegram.org/bot155MYBOT9588:####API####0/sendPhoto
args:
1488793XX
/mnt/surveillance/@Snapshot/FOSCAM-R2-20161010-1800410122.jpg
1
1
Hash:
Sslargs:
Hu_upd_params:
FD 23
NAME
addr https://api.telegram.org:443
buf
code 200
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
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Tue, 11 Oct 2016 06:02:38 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 8
isPolling update
loglevel 4
method GET
offset 461154803
path /bot155MYBOT9588:####API####0/getUpdates?offset=461154803&limit=5&timeout=60
protocol https
redirects 0
timeout 125
url https://api.telegram.org/bot155MYBOT9588:####API####0/getUpdates?offset=461154803&limit=5&timeout=60
Hash:
Sslargs:
Readings:
2016-10-11 08:54:56 PollingErrCount 284
2016-10-11 08:54:56 PollingLastError NonBlockingGet timed out on read from <hidden> after 125s
2016-10-11 08:56:15 sentMsgId 2129
2016-10-11 08:56:15 sentMsgResult SUCCESS
sentQueue:
Attributes:
DbLogExclude .*
allowUnknownContacts 0
cmdFavorites /short
cmdKeyword dofhem
cmdRestrictedPeer 1488793XX 133974XXX XXmyname
comment favorites
set Sonos_Kueche play;set Sonos StopAll; /kuch=setreading telegram currentSpeakPlayer Sonos_Wohnzimmer ; /all=setreading telegram currentSpeakPlayer Sonos_Joe ; /wohnzimmer=setreading telegram currentSpeakPlayer Sonos_Wohnzimmer ; /kinder=setreading telegram currentSpeakPlayer Sonos_Jim,Sonos_Joe ; /schlafzimmer=setreading telegram currentSpeakPlayer Sonos_Schlafzimmer ; /all=setreading telegram currentSpeakPlayer Sonos_Jim,Sonos_Joe,Sonos_Schlafzimmer,Sonos_Wohnzimmer ; /speakvolume=setreading telegram currentSpeakVolume ; /snap=set CamCP snap
defaultPeer 1488793XX
event-on-change-reading .*
group telegram
pollingTimeout 60
pollingVerbose 2_Log
room 2 Todo,4 Webcam,System
verbose 5
Die Github-Version werde ich mal testen. Schaffe ich vielleicht heute. [Was passiert da eigentlich bei einem "update check / update"? Wird die dann wieder durch die offizielle ersetzt?]
Ansonsten laufen jetzt in- und outbound Nachrichten einwandfrei, nachdem ich den zweiten Bot auf send-only gesetzt hatte.
Github-Version: Habe ich auf den FHEM-Pi gepackt. Dann mittels reload 50_TelegramBot aktiviert. Kein FHEM Restart.
Dann den zweiten Bot "Alarmbot" wieder auf PollingTimeout 25 gesetzt. Mal ausprobiert. Verzögerung von wenigen Sekunden. Ersten Bot "FHEMBot" getestet. Keine Nachricht geht ein. Beide Bots resettet. Alarmbot outbound geschickt; kommt sofort an. Inbound funktionierte ebenfalls. FHEMBot outbound funktionierte ebenfalls. Inbound leider nun hier Fehlanzeige.
Schreib mir mal, was ich systematisch testen soll. Vielleicht macht das Sinn.
mir wurde gesagt, dass der TelegramBot einen kompletten fhem-restart benötigt und ein simples reload nicht ausreicht. Vielleicht kannst Du das noch testen?
shutdown restart wird gemacht. Sehe aber gerade, dass eine neue Version (vielleicht liegt es aber daran, dass ich jetzt eine inofficial Version habe) über die Update-Verteilung reinkommt. Verzichte jetzt mal auf das Update...
Scheint gut zu funktionieren. Beide Bots können in- und outbound kommunizieren.
Was mache ich jetzt beim nächsten Update? Da wird mir die inofficial-Version überschrieben werden.
RaspiCOC - attr global exclude_from_update 50_TelegramBot.pm
Alles ausser Telegrambot wird aktualisiert... :)
Jawoll, funktioniert so gut, dass ich das attr via TelegramBot gesetzt habe und dann das Update ebenfalls remote starten konnte! ;D ;D ;D
Jetzt muss nur noch diese Version offiziell aufgenommen werden.
@viegener: Es läuft weiterhin alles super rund. Seit gestern um 17:30, also inzwischen nach knapp 16 Stunden nicht ein einziger PollingErr. In- und outbound Kommunikation funktioniert in < 1 Sek.
Grossartig! Danke, danke, danke!
nach heutigem fhem update klappt telegram nicht mehr.
2016-10-13 17:23:58 TelegramBot Telegram PollingLastError: Callback returned error:Unauthorized:
2016-10-13 17:23:58 TelegramBot Telegram PollingErrCount: 348
habe TelegramBot vom 1. Beitrag eingespielt, hat bis jetzt wunderbar gewerkelt.
Jetzt bekomme ich aber das:
2016.10.13 18:02:40 5: TelegramBot_Set Telegram: reset done succesful:
2016.10.13 18:02:40 4: TelegramBot_Set Telegram: called
2016.10.13 18:02:40 4: TelegramBot_Set Telegram: Processing TelegramBot_Set( ? )
2016.10.13 18:02:40 4: TelegramBot_Set Telegram: called
2016.10.13 18:02:40 4: TelegramBot_Set Telegram: Processing TelegramBot_Set( ? )
2016.10.13 18:02:40 5: TelegramBot_Get Telegram: called
2016.10.13 18:02:40 5: TelegramBot_Get Telegram: Processing TelegramBot_Get( ? )
2016.10.13 18:02:41 4: TelegramBot_Set Telegram: called
2016.10.13 18:02:41 4: TelegramBot_Set Telegram: Processing TelegramBot_Set( ? )
Bitte um Hilfe ! kann doch nicht sein das ein FHEM update alles zunichte macht
Komisch, ich habe auch eben ein Update gemacht und bei mir läuft alles...
auch telegrambot ? altes eingespielt od. update verboten?
Möglich das es schon einige tage nicht klappt. es gab ja ein update von telegram.
wie richtet man das jetzt nur neu ein? kann mich nicht mehr erinnern.
hat wer tips?
http://www.fhemwiki.de/wiki/TelegramBot (http://www.fhemwiki.de/wiki/TelegramBot)
http://www.fhemwiki.de/wiki/TelegramBot
Rückfrage zu meine m Problem: So wie ich es verstehe, scheint es eine besonderheit mit MEINEM FHEM zu sein?!?
Da ich die empfangenen Texte im Log sehe, nur nicht in den Readings: Kann irgendetwas verhindern, dass der Text bei mir als Reading angezeigt wird?!?
Muss/Soll ich TelegramBot mal neu einrichten? Eigentlich sehe ich darin keinen Vorteil?!
Meine Installation ist natürlich aus den urzeiten des TelegramBot, aber das sollte ja kein Problem sein, oder?
Danke für die Unterstützung.
hat leider nichts gebracht.
neuen User angelegt u. definiert, aber:
2016.10.14 09:03:30 4: TelegramBot_Set Telegram: called
2016.10.14 09:03:30 4: TelegramBot_Set Telegram: Processing TelegramBot_Set( ? )
2016.10.14 09:03:33 5: TelegramBot_Callback Telegram: called from Polling
2016.10.14 09:03:33 5: TelegramBot_ParseUpdate Telegram: data returned :{"ok":false,"error_code":401,"description":"Unauthorized"}:
2016.10.14 09:03:33 5: TelegramBot_UpdatePoll Telegram: called
2016.10.14 09:03:33 5: TelegramBot_UpdatePoll Telegram: got fails :23: wait 25 seconds
2016.10.14 09:03:33 3: TelegramBot_Callback Telegram: resulted in :Callback returned error:Unauthorized:: from Polling
[code]
https://core.telegram.org/api/errors#401-unauthorized sagt:
Zitat401 UNAUTHORIZED
There was an unauthorized attempt to use functionality available only to authorized users.
Examples of Errors:
AUTH_KEY_UNREGISTERED: The key is not registered in the system
AUTH_KEY_INVALID: The key is invalid
USER_DEACTIVATED: The user has been deleted/deactivated
SESSION_REVOKED: The authorization has been invalidated, because of the user terminating all sessions
SESSION_EXPIRED: The authorization has expired
ACTIVE_USER_REQUIRED: The method is only available to already activated users
AUTH_KEY_PERM_EMPTY: The method is unavailble for temporary authorization key, not bound to permanent
Prüf mal, ob du ID und Authtoken korrekt gesetzt hast.
*edit*
Und wenn du einen neuen Bot angelegt hast ( ich nehme an, du meinst Bot mit "User ), dann denk dran, dass der dich glaube ich nur ansprechen darf, wenn du zuerst mit ihm gesprochen hast.
hallo.
ja, sogar neu definert. was meinst du mit "gesprochen hast" ?
[edit]
Jetzt klappts, komisch. Message gesendet und angekommen, trotz fehlermeldung.
wie legt man noch schnell ein userpic an?
Zitat von: satprofi am 14 Oktober 2016, 09:24:37
was meinst du mit "gesprochen hast" ?
Soweit ich weiß, muss man den Bot einmal angeschrieben haben, damit der zurückschreiben darf. Spamschutz.
Zitat von: satprofi am 14 Oktober 2016, 09:24:37
wie legt man noch schnell ein userpic an?
Über den Botfather
Hallo Telegramer,
bei userpic fällt mir gerade was ein.
Bei WA konnte man das auch von FHEM aus mit einem set-Befehl ändern. Ich hatte das benutzt um schon am Userpic einen bestimmten Zustand zu erkennen.
Geht das in Telegram ausschließlich über den Botfather oder gibt es da nicht noch eine Möglichkeit?
Gruß
Andi
Zitat von: Carsten am 14 Oktober 2016, 11:17:52
Soweit ich weiß, muss man den Bot einmal angeschrieben haben, damit der zurückschreiben darf. Spamschutz.
Ja das ist wichtig, und gilt für einen neuen Bot und auch für jeden zusäztlichen Benutzer.
Also ein Benutzer, der etwas vom Bot empfangen soll, muss zuerst einmal den Bot kontaktieren (also ihm eine Nachricht schicken)
Zitat von: AndiL am 14 Oktober 2016, 13:55:23
Hallo Telegramer,
bei userpic fällt mir gerade was ein.
Bei WA konnte man das auch von FHEM aus mit einem set-Befehl ändern. Ich hatte das benutzt um schon am Userpic einen bestimmten Zustand zu erkennen.
Geht das in Telegram ausschließlich über den Botfather oder gibt es da nicht noch eine Möglichkeit?
Gruß
Andi
Bisher gibt es meines Wissens nach nur diese Möglichkeit und leider nicht über das API
Zitat von: RaspiCOC am 11 Oktober 2016, 23:00:12
Jawoll, funktioniert so gut, dass ich das attr via TelegramBot gesetzt habe und dann das Update ebenfalls remote starten konnte! ;D ;D ;D
Jetzt muss nur noch diese Version offiziell aufgenommen werden.
Ich nehme das vermutlich am Wochenende in die offizielle Version auf, möchte aber erst nochmal schauen, dass ich das problem von JoeALLb lösen kann
Nur mal ein kurzer Hinweis zwischendurch, könnte für den einen oder anderen interessant sein.
Gestern bin ich über "/setcommands" gestoßen.
Damit kann man im Bot Befehle vorgeben, die per "/" angezeigt werden.
Bisher hatte ich (noch vor dem Wechsel von WhatsApp zu Telegram) ein paar notifys definiert, die auf bestimmte Begriffe reagieren. Zentral war dann der Begriff "hilfe". Hat man "hilfe" an fhem geschickt, dann kam eine Liste der verfügbaren notifys zurück (z.B. "temp" um einen Überblick der Temperaturen zuhause zu bekommen oder "benzin" um die aktuellen Benzinpreise der favorisierten Tankstellen zu kriegen).
"hilfe" hat sich mit /setcommands erübrigt und ist noch viel eleganter, da man eine Auflistung der Befehle mit Beschreibung kriegt und die direkt auswählen kann (ähnlich wie das Eintippen von "/" beim Botfather).
Das habe ich hier im Thread und in der commandref nicht gefunden, hat aber auch nicht viel mit dem Modul selbst zu tun. Wollte es aber trotzdem nicht für mich behalten ;)
Zitat von: JoeALLb am 14 Oktober 2016, 08:49:29
Rückfrage zu meine m Problem: So wie ich es verstehe, scheint es eine besonderheit mit MEINEM FHEM zu sein?!?
Da ich die empfangenen Texte im Log sehe, nur nicht in den Readings: Kann irgendetwas verhindern, dass der Text bei mir als Reading angezeigt wird?!?
Muss/Soll ich TelegramBot mal neu einrichten? Eigentlich sehe ich darin keinen Vorteil?!
Meine Installation ist natürlich aus den urzeiten des TelegramBot, aber das sollte ja kein Problem sein, oder?
Danke für die Unterstützung.
Ich habe mir gerade den neuen log von Dir vorgenommen und bisher habe ich keine Erklärung nicht mal eine Idee. Das Problem ist so auch noch von niemandem gemeldet worden zu sein.
Es könnte sein, dass ich eine spezielle debugversion für Dich erstellen muss, denn aus dem Logfile geht hervor, dass die Nachricht ankommt, decodiert wird, auch als Nachricht gezählt wird und dann undurchsichtiger weise nicht weiterverarbeitet, sondern der gesamte Teil dort übersprungen wird aber ohne irgendeine Fehlermeldung und auch ohne, dass die sub verlassen wird.
Ich würde heute oder morgen mal eine Debugversion erstellen mit der Du nochmals den Test machen könntest - Wir können auch loginfos per PN oder email austauschen wenn das einfacher ist und dann das Ergebnis / die Lösung hier posten.
Zitat von: viegener am 14 Oktober 2016, 19:02:28
Das Problem ist so auch noch von niemandem gemeldet worden zu sein.
Dann melde ich mich auch mal. Ich beobachte den Thread schon die ganze Zeit in der Hoffnung auf einer Lösung, hab das gleiche Problem wie JoeALLb. Kann ich irgendwie bei der Fehlersuche beitragen?
Zitat von: Vampy20 am 14 Oktober 2016, 19:47:22
Dann melde ich mich auch mal. Ich beobachte den Thread schon die ganze Zeit in der Hoffnung auf einer Lösung, hab das gleiche Problem wie JoeALLb. Kann ich irgendwie bei der Fehlersuche beitragen?
Ja sicher, erstmal könntest Du mit Informationen helfen:
- Was genau funktioniert nicht - Keine Readings - grundsätzlich nicht oder nur unter bestimmten Bedingungen
- Was für ein System (rechner/betriebssystem) verwendest Du
- Welche perl-version?
- gibt es im log file andere Einträge mit Fehlern?
- Hat es schon funktioniert - wenn ja seit wann nicht mehr?
Zitat von: viegener am 14 Oktober 2016, 21:15:15
Ja sicher, erstmal könntest Du mit Informationen helfen:
Raspbian 4.4.13+ (jessie) auf Raspberry Pi B+ Perl v5.20.2
Senden funktioniert, kann aber keine Daten "empfangen" obwohl im Log der Empfang dokumentiert wird. Hier z.B. das Empfangen der Nachricht "Test":
2016.10.14 21:59:45 5: TelegramBot_Callback telebot: called from Polling
2016.10.14 21:59:45 5: TelegramBot_ParseUpdate telebot: data returned :{"ok":true,"result":[{"update_id":372018023,
"message":{"message_id":299,"from":{"id":***,"first_name":"***","last_name":"***","username":"***"},"chat":{"id":***,"first_name":"***","last_name":"***","username":"***","type":"private"},"date":1476475185,"text":"Test"}}]}:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :1: to :1:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: found an ARRAY
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :***: to :***:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :***: to :***:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :***: to :***:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :***: to :***:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: found a HASH
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :Test: to :Test:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :299: to :299:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :private: to :private:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :***: to :***:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :***: to :***:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :***: to :***:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :***: to :***:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: found a HASH
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :1476475185: to :1476475185:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: found a HASH
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: encoded a String from :372018023: to :372018023:
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: found a HASH
2016.10.14 21:59:45 5: TelegramBot_Deepencode telebot: found a HASH
2016.10.14 21:59:45 5: UpdatePoll telebot: number of results 1
2016.10.14 21:59:45 5: UpdatePoll telebot: parse result
2016.10.14 21:59:45 5: TelegramBot_UpdatePoll telebot: called
2016.10.14 21:59:45 4: TelegramBot_UpdatePoll telebot: initiate polling with nonblockingGet with 120s
2016.10.14 21:59:45 4: HttpUtils url=<hidden>
2016.10.14 21:59:45 4: TelegramBot_Callback telebot: resulted in :SUCCESS: from Polling
Anbei die Liste der aktuellen Readings:
Readings:
2016-10-14 01:08:32 PollingErrCount 1
2016-10-14 01:08:32 PollingLastError NonBlockingGet timed out on read from <hidden> after 245s
2016-10-13 21:33:15 sentMsgId 296
2016-10-13 21:33:15 sentMsgResult SUCCESS
Somit fehlen die Readings bzgl. Empfang. Der ErrCount war schon mal auf über 300.
Es hat schon mal funktioniert, etwa seit Dienstag nicht mehr.
Bei mir auch ein Problem, dabei nichts am laufendem System geändert:
me Failed - see log file for details
sentLastResult Callback returned error:Unauthorized:
Auf dem iPhone steht: Hidden room, sowie ist es mir nicht möglich eine Message an Fhem zu senden.
Ich hab jetzt mal mein Device gelöscht und neu angelegt. Scheint zu laufen.
Zitat von: Vampy20 am 14 Oktober 2016, 22:34:13
Ich hab jetzt mal mein Device gelöscht und neu angelegt. Scheint zu laufen.
Also jetzt kommen die Nachrichten wieder an, somit Problem gelöst?
@JoeALLb: Wäre es möglich, dass Du das auch mal versuchst (Also Device neu anlegen)?
Ich glaube jetzt habe ich es verstanden: Kann es sein, dass bei Euch das Attribut allowUnknownContacts auf 0 gesetzt ist?
Bei JoeALLb ist es im list enthalten. War es bei Dir, Vampy20, auch vorher gesetzt?
Wenn das gesetzt ist, muss der Kontakt in der Kontaktliste enthalten sein, damit die Nachricht in den Readings auftaucht. Nachrichten von unbekannten Kontakten werden verworfen.
Das ist es, ich hatte/hab das Attribut gesetzt.
Die Frage ist nur wie konnten die Readings verschwinden und somit die Kontakte?
Jetzt funktioniert alles wieder, alle Readings sind da.
Zitat von: Vampy20 am 14 Oktober 2016, 23:06:17
Das ist es, ich hatte/hab das Attribut gesetzt.
Die Frage ist nur wie konnten die Readings verschwinden und somit die Kontakte?
Jetzt funktioniert alles wieder, alle Readings sind da.
Die readings werden ja im statefile abgelegt, wenn der bei einem absturz verlorengeht oder beim start nicht gelesen werden kann sind die readings und damit die kontakte weg. Es gibt ein attribut savestateoncontactchange, dass gesetzt werden kann um zumindest sicherzustellen, dass bei einer änderung der statefile geschrieben wird.
Ausserdem gibt es die möglichkeit mit
set replaceContacts alte kontakte zum beispiel aus einem backup wieder zu setzen.
Zitat von: RitterSport am 14 Oktober 2016, 22:32:10
Bei mir auch ein Problem, dabei nichts am laufendem System geändert:
me Failed - see log file for details
sentLastResult Callback returned error:Unauthorized:
Auf dem iPhone steht: Hidden room, sowie ist es mir nicht möglich eine Message an Fhem zu senden.
Das hat vermutlich nichts mit fhem/telegrammodul zu tun, sondern mit einstellungen an deinem bot - prüfe mal ob es den bot noch gibt (im botfather) und welche einstellungen er hat.
Zitat von: ChrisK am 14 Oktober 2016, 16:56:21
Nur mal ein kurzer Hinweis zwischendurch, könnte für den einen oder anderen interessant sein.
Gestern bin ich über "/setcommands" gestoßen.
Damit kann man im Bot Befehle vorgeben, die per "/" angezeigt werden.
Bisher hatte ich (noch vor dem Wechsel von WhatsApp zu Telegram) ein paar notifys definiert, die auf bestimmte Begriffe reagieren. Zentral war dann der Begriff "hilfe". Hat man "hilfe" an fhem geschickt, dann kam eine Liste der verfügbaren notifys zurück (z.B. "temp" um einen Überblick der Temperaturen zuhause zu bekommen oder "benzin" um die aktuellen Benzinpreise der favorisierten Tankstellen zu kriegen).
"hilfe" hat sich mit /setcommands erübrigt und ist noch viel eleganter, da man eine Auflistung der Befehle mit Beschreibung kriegt und die direkt auswählen kann (ähnlich wie das Eintippen von "/" beim Botfather).
Das habe ich hier im Thread und in der commandref nicht gefunden, hat aber auch nicht viel mit dem Modul selbst zu tun. Wollte es aber trotzdem nicht für mich behalten ;)
Guter hinweis, ich war zwar sicher, dass ich das im wiki oder im commandref erwähnt hatte, aber finde es gerade selber nicht mehr.
Es wäre schön, wenn du das im wiki zum telegrambot einträgst, dann finden auch andere es leichter :)
@viegener: Vielen Dank für die Erklärung.
Ist es möglich den parse_mode für Styles (HTML oder Markdown) einzustellen? Ich würde gerne meine FHEM Nachrichten formatieren.
Zitat von: Vampy20 am 15 Oktober 2016, 17:46:24
@viegener: Vielen Dank für die Erklärung.
Ist es möglich den parse_mode für Styles (HTML oder Markdown) einzustellen? Ich würde gerne meine FHEM Nachrichten formatieren.
Bisher hatte ich das nicht eingebaut, da nicht alle Clients unterstützt wurden, das ist aber wohl seit dem letzten update von telegram bot api der Fall.
Der Plan wäre ein Attribut "parseModeSend" mit folgenden Werten:
-
0_None - default
-
1_Markdown - wie hier beschrieben https://core.telegram.org/bots/api/#markdown-style (https://core.telegram.org/bots/api/#markdown-style)
-
2_HTML - wie hier beschrieben https://core.telegram.org/bots/api/#html-style (https://core.telegram.org/bots/api/#html-style)
-
3_InMsg - Allows using the strings
Markdown or
HTML at the beginning of a message
Ich baue das mal ein
Hallo Johannes,
kann ich mit dem Bot solche Keyboards wie hier https://core.telegram.org/bots#keyboards (https://core.telegram.org/bots#keyboards) aufgeführt werden erzeugen?
Danke und schönes Wochenende.
Gerd
Zitat von: viegener am 15 Oktober 2016, 19:02:02
Bisher hatte ich das nicht eingebaut, da nicht alle Clients unterstützt wurden, das ist aber wohl seit dem letzten update von telegram bot api der Fall.
Der Plan wäre ein Attribut "parseModeSend" mit folgenden Werten:
- 0_None - default
- 1_Markdown - wie hier beschrieben https://core.telegram.org/bots/api/#markdown-style (https://core.telegram.org/bots/api/#markdown-style)
- 2_HTML - wie hier beschrieben https://core.telegram.org/bots/api/#html-style (https://core.telegram.org/bots/api/#html-style)
- 3_InMsg - Allows using the strings Markdown or HTML at the beginning of a message
Ich baue das mal ein
OK Version mit obigem Attribut ist in guthub, wenn es jeman schonmal testen will. parse_mode wird jetzt für text messages gesetzt
Cool, Markdown funktioniert. Danke!!!
Hallo Vampy20 & Johannes,
die Option parse_mode HTML und NONE habe ich verstanden ::)
Konnte das über meine 99_myUtils.pm auch in der Textausgabe nachvollziehen.
Was aber macht MARKDOWN und InMsg ?
Wie sieht das in Telegram aus? Habt ihr hierzu Beispiele?
Gruss Gerd
Zitat von: Maista am 15 Oktober 2016, 22:32:28
Hallo Vampy20 & Johannes,
die Option parse_mode HTML und NONE habe ich verstanden ::)
Konnte das über meine 99_myUtils.pm auch in der Textausgabe nachvollziehen.
Was aber macht MARKDOWN und InMsg ?
Wie sieht das in Telegram aus? Habt ihr hierzu Beispiele?
Gruss Gerd
markdown ist nur eine andere Formatierung --> siehe den obigen Link
Inmsg soll heissen in der Message selbst befindet sich die Angabe wie formatiert ist, als am Anfang der Text "HTML", dann ist die Nachricht HTML formatiert, am Anfang "markdown" dann ist sie mit markdown formatiert, anonsten unformatiert
Die setcommands benutze ich auch. Ein paar Hinweise noch dazu:
- Es dauert manchmal einige Zeit, bis Änderungen wirksam werden. Vor allem, wenn man sie mehrfach kurz hintereinander ändert, scheint es länger zu dauern, bis die neuen commands bei allen Clients in der Vorschlagsliste auftauchen.
- Die Liste ist nicht geheim. Jeder, der irgendwie den Bot findet, kann auch die Liste sehen. Daher muss zum einen natürlich sichergestellt werden, dass nicht jeder auch die Commands ausführen kann und zum zweiten sollten die Commands selbst keine sicherheitsrelevanten Infos beinhalten
- Wenn Telegram "denkt", dass der Empfänger des Commands nicht eindeutig ist, hängt der Client automatisch ein "@<Botname>" an. Aus "/LichtAn" wird dann "/LichtAn@Botname". Das ist wohl eigentlich dazu gedacht, um in einer Gruppe mit mehreren Bots nicht gleichzeitig alle Bots zu triggern, die den Befehl unterstützen. In der Praxis wird das aber nach einem nicht erkennbaren Muster auch manchmal angehängt, obwohl es gar nicht nötig wäre. Teilweise wurden bei mir zwei nacheinander abgesetzte identische Befehle einmal um den Botnamen ergänzt und einmal nicht. Sowohl im Gruppenchat, als auch im Direktchat. "@<Botname>" sollte daher beim Parsen des Befehls rausgefiltert werden
@viegener: Wäre es möglich, die Funktion "editMessageText" zum implementieren? Könnte das ganz gut gebrauchen, um die letzte Statusmeldung aktuell zu halten, ohne jedesmal eine neue Nachricht zu schicken.
Bzgl. der InlineKeyboards fände ich auch super interessant!
Wäre damit auch so etwas möglich wie einen Link zu einer anderen App auf dem Phone? (Bot schickt mir ein Bild von der Kamera, und zusätzlich noch einen inlineButton zb. zum Surveillance Station App von Synology)
Ansonsten noch mal eine Frage zu den replyKeyboards, ich hatte ja schon mal in der Vergangenheit darauf hingewiesen das einem die confirmation immer wieder gezeigt wird solange bis man praktisch wieder manuell "/" eingibt und wieder die ursprügnliche befehls liste angezeigt bekommt.
Hab eher zufällig heute noch mal ein bisschen bei telegram rumgestöbert und bin zufällig auf folgendes gestossen https://core.telegram.org/bots/api/#replykeyboardhide (https://core.telegram.org/bots/api/#replykeyboardhide) verstehe ich das richtig das man zuvor beschriebenes verhalten so lösen könnte das nach dem confirm das Replykeyboard wieder ausgeblendet wird?
Zitat von: viegener am 14 Oktober 2016, 22:56:52
Ich glaube jetzt habe ich es verstanden: Kann es sein, dass bei Euch das Attribut allowUnknownContacts auf 0 gesetzt ist?
Jetzt gehts wieder ;-)
Da müssen dann wohl beim Update die Contacts rausgeflogen sein? Danke!!!!!
Sollten wir den Grund des verwerfens der Nachricht eventuell ins Log mit aufnehmen?
Jetzt geht wieder alles, schnell und zuverlässig!
Zitat von: viegener am 14 Oktober 2016, 15:16:08
Ich nehme das vermutlich am Wochenende in die offizielle Version auf, möchte aber erst nochmal schauen, dass ich das problem von JoeALLb lösen kann
Weiterhin, nun nach mehreren Tagen alles top! Das Update ist aber noch nicht im Repository, oder?
Zitat von: RaspiCOC am 17 Oktober 2016, 11:51:14
Weiterhin, nun nach mehreren Tagen alles top! Das Update ist aber noch nicht im Repository, oder?
Korrekt, ist noch nicht im SVN / offiziellen Update. Etwas Zeitmangel, könnte noch ein paar Tage dauern.
Zitat von: Maista am 15 Oktober 2016, 20:35:05
Hallo Johannes,
kann ich mit dem Bot solche Keyboards wie hier https://core.telegram.org/bots#keyboards (https://core.telegram.org/bots#keyboards) aufgeführt werden erzeugen?
Danke und schönes Wochenende.
Gerd
Bisher ist die Keyboard-Erzeugung nur intern im Modul und wird für Favoriten und Bestätigungen genutzt.
Zitat von: speex am 16 Oktober 2016, 20:01:16
Bzgl. der InlineKeyboards fände ich auch super interessant!
Wäre damit auch so etwas möglich wie einen Link zu einer anderen App auf dem Phone? (Bot schickt mir ein Bild von der Kamera, und zusätzlich noch einen inlineButton zb. zum Surveillance Station App von Synology)
Die neuen Inlinekeyboards habe ich noch nicht ausprobiert, sie würden sich aus meiner Sicht speziell für die Bestätigung für Favoriten eignen.
Generell sind die Keyboards (inline oder normal) für eine Dialogfunktion sicher hilfreich, allerdings würde das aus meiner Sicht schwierig über FHEM-Befehle zu machen sein. Aufrufe von Funktionen aus Perl wären hier vermutlich besser...
Zitat von: viegener am 17 Oktober 2016, 15:28:19
Generell sind die Keyboards (inline oder normal) für eine Dialogfunktion sicher hilfreich, allerdings würde das aus meiner Sicht schwierig über FHEM-Befehle zu machen sein. Aufrufe von Funktionen aus Perl wären hier vermutlich besser...
Wäre für meine Zwecke perfekt. :D
Was für eine Response triggern die Inline-Keyboards eigentlich?
Zitat von: speex am 16 Oktober 2016, 20:01:16
Ansonsten noch mal eine Frage zu den replyKeyboards, ich hatte ja schon mal in der Vergangenheit darauf hingewiesen das einem die confirmation immer wieder gezeigt wird solange bis man praktisch wieder manuell "/" eingibt und wieder die ursprügnliche befehls liste angezeigt bekommt.
Hab eher zufällig heute noch mal ein bisschen bei telegram rumgestöbert und bin zufällig auf folgendes gestossen https://core.telegram.org/bots/api/#replykeyboardhide (https://core.telegram.org/bots/api/#replykeyboardhide) verstehe ich das richtig das man zuvor beschriebenes verhalten so lösen könnte das nach dem confirm das Replykeyboard wieder ausgeblendet wird?
Das Verhalten hat sich nicht geändert - das keyboard wird automatisch ausgeblendet, Ausgeblendet heisst nicht entfernt, es gibt nur hide (ausblenden) im telegram API. Also ja das Verhalten ist schon so, dass es ausgeblendet wird (zumindest in firefox, Android und iOS).
Es wird halt immer das letzte Keyboard gespeichert und über den Button ist es wieder anzeigbar.
Zitat von: Carsten am 17 Oktober 2016, 17:39:38
Wäre für meine Zwecke perfekt. :D
Was für eine Response triggern die Inline-Keyboards eigentlich?
Das genau ist das Problem, auch die inlineKeyboards sind eigentlich nicht dafür eine normale Nachricht zu schicken, sondern eine sogenannte inline-query oder schickt den Benutzer in einen anderen Chat oder ruft einen Url im client auf. Nicht unbedingt für den Dialog zu gebrauchen. Da die queries auch nicht als normale messages üebr den update kommen, muss man einen speziellen Aufruf machen, ich sehe noch nicht was man damit anfangen könnte.
... ist mir gerade aufgefallen, vielleicht hilfts. Ich konnte keine Beeinträchtigung erkennen, und nutze noch die Testversion, bis SVn aktualisiert wurde...
Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1684.
:D
Zitat von: JoeALLb am 18 Oktober 2016, 12:44:41
... ist mir gerade aufgefallen, vielleicht hilfts. Ich konnte keine Beeinträchtigung erkennen, und nutze noch die Testversion, bis SVn aktualisiert wurde...
Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1684.
:D
Das ist ein Fehler des Telegram-Servers, das passiert gelegentlich mal wenn von dort eine HTML-(Fehler-)Seite geliefert wird. Kein Fehler im Modul und kein Grund zur Beunruhigung.
Zitat von: Carsten am 16 Oktober 2016, 10:02:36
@viegener: Wäre es möglich, die Funktion "editMessageText" zum implementieren? Könnte das ganz gut gebrauchen, um die letzte Statusmeldung aktuell zu halten, ohne jedesmal eine neue Nachricht zu schicken.
In der neuesten version in github gibt es jetzt einen Befehl
msgEdit damit lassen sich Meldungen ändern. Die Id der nachricht muss (analog) zu replyID mit angegeben werden
Habe gerade die letzten Änderungen am TelegramBot auch ins SVN hochgeladen, damit diese ab morgen über update verfügbar sind:
- HTML oder markdown in Textnachrichten - siehe parseModeSend
- Nachrichten im nachhinein Ändern - siehe msgEdit
- Wenn Nachrichten von unbekannten Kontakten abgelehnt werden findet ein Vermerk im log statt (log level 3)
- diverse fixes (z.B. multibot umegbungen)
Danke klappt super mit der HTML Formatierung :-)
Hätte noch einen Wunsch:
Wenn ich mir eine Message mit HTML Link schicken lasse, erhalte ich automatisch ein "Preview" der Seite... Könnte man dies irgendwie verhindern? Bin in der Dokumention auf "disable_web_page_preview" gestoßen, vielleicht ist das ja damit möglich.
Gruß Firetic
Zitat von: Firetic am 20 Oktober 2016, 11:09:04
Danke klappt super mit der HTML Formatierung :-)
Hätte noch einen Wunsch:
Wenn ich mir eine Message mit HTML Link schicken lasse, erhalte ich automatisch ein "Preview" der Seite... Könnte man dies irgendwie verhindern? Bin in der Dokumention auf "disable_web_page_preview" gestoßen, vielleicht ist das ja damit möglich.
Gruß Firetic
Kein Problem findet sich inzwischen in github - Attribut
webPagePreview - :)
@viegener: So, update jetzt wieder im regulären Repository!
Muss jetzt einfach mal was loswerden: Vielen Dank!!!!! Das ist so ziemlich das beste Modul, dass mir seit geraumer Zeit untergekommen ist! Macht einfach immer wieder Freude! Jetzt spricht das Haus mit mir!!!!!
Vielen Dank!
msgEdit funktioniert super. Ich muss mir nur noch einen intelligenten Weg einfallen lassen, mir die sentMsgId nach der spaeter upzudatenden Nachricht asynchron zu merken. Direkt nach dem Absenden steht noch die alte drin, weil das ja ein wenig dauert.
Zitat von: Carsten am 20 Oktober 2016, 22:55:26
Vielen Dank!
msgEdit funktioniert super. Ich muss mir nur noch einen intelligenten Weg einfallen lassen, mir die sentMsgId nach der spaeter upzudatenden Nachricht asynchron zu merken. Direkt nach dem Absenden steht noch die alte drin, weil das ja ein wenig dauert.
Im Prinzip sollte für diesen Zweck das Reading
sentMsgResult funktionieren. Das Reading nimmt den Wert
SUCCESS an, sobald die Nachricht erfolgreich versandt wurde und dann findet sich auch in sentMsgId die entsprechende Id.
Also folgendes müsste auf den ersten Blick gehen:
notify auf sentMsgResult setzen und aktivieren wenn Du die Nachricht versenden willst.
sentMsgID im notify an geeigneter Stelle (z.B. Dummy ?) speichern
Zur Sicherheit kann man noch überprüfen ob dass die nachricht ist, um die es geht
Hallo und guten Abend,
ich habe ein TelegramBot Gerät eingerichtet :
define tele_bot TelegramBot aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
attr tele_bot event-on-change-reading msgId
Desweiteren habe ich ein Notify definiert, dass sobald sich <msgId> ändert,
also eine Nachricht einrifft, darauf reagieren soll und eine Antwort schicken soll :
define bot_notify notify tele_bot set tele_bot send @Empfaenger tele_bot-Nachricht.
Das Ganze funktioniert auch soweit ganz gut. Allerdings wird, wenn ich unabhängig über die Befehlszeile eine Nachricht schicke :
set tele_bot send @Emfaenger Andere Nachricht
immer auch das Notify ausgelöst und die damit verbundene Nachricht geschickt, obwohl dies nach meinem Verständnis nicht passieren sollte,
da beim senden <msgId> nicht verändert wird.
Wäre toll wenn ich einen Hinweis bekäme, wie ich das lösen kann.
Dein Notify muss auf das Reading lauschen, also
define bot_notify notify tele_bot:msgId.* set tele_bot send @Empfaenger tele_bot-Nachricht
Vielen Dank für die Antwort : Es hat direkt richtig funktioniert.
Zitat
Dein Notify muss auf das Reading lauschen, also
define bot_notify notify tele_bot:msgId.* set tele_bot send @Empfaenger tele_bot-Nachricht
Ich bin davon ausgegangen, dass mit
attr tele_bot event-on-change-reading msgId
das Lauschen schon auf das Reading bereits eingeschränkt ist.
Zitat von: viegener am 21 Oktober 2016, 01:19:37
notify auf sentMsgResult setzen und aktivieren wenn Du die Nachricht versenden willst.
sentMsgID im notify an geeigneter Stelle (z.B. Dummy ?) speichern
Zur Sicherheit kann man noch überprüfen ob dass die nachricht ist, um die es geht
Ja, so ähnlich habe ich das auch gemacht. In dem Moment, wo ich die Nachricht absende, merke ich mir im zugehörigen dummy den Empfänger und die Nachricht und setzte ein Flag auf 1, in dem ich mir merke, dass die msgID noch fehlt. Ein notify auf sentMsgId trägt die ID dann noch und setzt den Merker zurück. Funktioniert bisher ohne Probleme.
Zitat von: viegener am 15 Oktober 2016, 10:08:07
Guter hinweis, ich war zwar sicher, dass ich das im wiki oder im commandref erwähnt hatte, aber finde es gerade selber nicht mehr.
Es wäre schön, wenn du das im wiki zum telegrambot einträgst, dann finden auch andere es leichter :)
Sorry, war die letzte Woche komplett offline.
Ich kümmere mich erstmal um den Wiki-Zugang und dann würde ich das da ergänzen.
Hallo
Nach dem FHEM Update von heute werden keine Nachrichten per Telegram versendet, mit dem FHEM Update stand gestern ging das noch.
sentLastResult "NonBlockingGet: returned FAILED peer not found"
PollingLastError "NonBlockingGet timed out on read from <hidden> after 245s"
Was kann das sein?
Beste Grüße
Heinz
PS: AMAD zeigt nur "initialized" und nicht "active", auch seit heute. Thema folgt.
Gelöst!
Der Bot musste am Smartphone neu gestartet werden.
Zitat von: viegener am 19 Oktober 2016, 23:28:26- HTML oder markdown in Textnachrichten - siehe parseModeSend
Schick!
Gibt es auch irgendeine Möglichkeit einen Zeilenumbruch einzubauen? Luat https://core.telegram.org/bots/api/#formatting-options scheinbar nicht, oder habe ich da was überlesen?
formatierungswütige Grüße
Niels
Zitat von: Muschelpuster am 25 Oktober 2016, 21:23:40
Schick!
Gibt es auch irgendeine Möglichkeit einen Zeilenumbruch einzubauen? Luat https://core.telegram.org/bots/api/#formatting-options scheinbar nicht, oder habe ich da was überlesen?
formatierungswütige Grüße
Niels
/n geht mit HTML nicht?
Zitat von: Carsten am 25 Oktober 2016, 21:29:52
/n geht mit HTML nicht?
Nein, auch <br> geht nicht, wirklich nur das was im o.g. Link genannt ist.
eingeschränkte Grüße
Niels
Es wäre auch \n und nicht /n.
Jo Danke, \n geht!
formatierte Grüße
Niels
Nabend, ich hätte da mal eine Anfänger Frage : kann ich bei einem Favoriten eine variable angeben? ZB. " /short1 Milch "
Ich möchte ein Dummy mit Werten füllen, wobei der übergebene Wert des Favoriten immer angehängt wird.
Also ungefähr so :
{ fhem("set EKL " . (Value("EKL")." ".VARIABLE) ) }
Gesendet von meinem GT-I9505 mit Tapatalk
Zitat von: popeye1979 am 27 Oktober 2016, 19:19:04
Nabend, ich hätte da mal eine Anfänger Frage : kann ich bei einem Favoriten eine variable angeben? ZB. " /short1 Milch "
Ich möchte ein Dummy mit Werten füllen, wobei der übergebene Wert des Favoriten immer angehängt wird.
Also ungefähr so :
{ fhem("set EKL " . (Value("EKL")." ".VARIABLE) ) }
Gesendet von meinem GT-I9505 mit Tapatalk
Nein bei Favoriten ist das nicht möglich, aber dafür gibt es ja das Attribut
cmdKeyword , so dass man beliebige Kommandos abschicken kann.
Hi viegener, ja das ist klar. Aber ich möchte ja nicht immer den ganzen Befehl eintippen müssen nur um Milch etc der Einkaufsliste hinzuzufügen.
Deswegen hatte ich gehofft bei einem Favoriten etwas "anhängen" zu können.
Gesendet von meinem GT-I9505 mit Tapatalk
Zitat von: popeye1979 am 29 Oktober 2016, 16:45:45
Hi viegener, ja das ist klar. Aber ich möchte ja nicht immer den ganzen Befehl eintippen müssen nur um Milch etc der Einkaufsliste hinzuzufügen.
Deswegen hatte ich gehofft bei einem Favoriten etwas "anhängen" zu können.
Gesendet von meinem GT-I9505 mit Tapatalk
Dafür lässt sich der existierende Mechanismus
cmdalias in FHEM benutzen. Das hat dann auch den Vorteil, dass man gezielter Kommandos über
allowedCommands erlauben kann, indem man nur den neuen alias erlaubt und nicht das zugrundeliegende Kommando.
Hey viegener,
ich habe bei mir ab und an das Problem, wenn ich z.B. ein Update meines Handys oder eine große Datei über den PC aus dem Internet herunterlade, dass mein FHEM immer wieder für knappe 1,5 - 2 Sekunden hängenbleibt.
Das passiert knapp alle 60 Sekunden wenn ich den pollingTimeout auf 60 stehen habe und auch fast alle 15 Sekunden wenn ich den polingTimeout auf 15 stehen habe, stelle ich diesen dann auf 0, also deaktiviere TelegramBot, dann sind die Freezes weg.
Kann man dagegen was machen oder muss ich damit leben, dass es so ist?
Grüße Marcel
Zitat von: Ma_Bo am 16 November 2016, 20:25:03
Hey viegener,
ich habe bei mir ab und an das Problem, wenn ich z.B. ein Update meines Handys oder eine große Datei über den PC aus dem Internet herunterlade, dass mein FHEM immer wieder für knappe 1,5 - 2 Sekunden hängenbleibt.
Das passiert knapp alle 60 Sekunden wenn ich den pollingTimeout auf 60 stehen habe und auch fast alle 15 Sekunden wenn ich den polingTimeout auf 15 stehen habe, stelle ich diesen dann auf 0, also deaktiviere TelegramBot, dann sind die Freezes weg.
Kann man dagegen was machen oder muss ich damit leben, dass es so ist?
Grüße Marcel
Hallo Marcel,
das müsste man genauer analysieren, denn mir ist dieses Verhalten bisher nicht aufgefallen. Das Polling startet einen Request zum telegram-Server. Dieser Request ist eigentlich relativ klein und läuft im wesentlichen auch ohne Blockade von FHEM ab. Am Anfang wird dabei der Name des Servers aufgelöst, das kann je nach Infrastruktur durchaus ein Problem machen.
- Vielleicht kannst Du beschreiben wie die Umgebaung aussieht (Internetanbindung und Plattform auf dem der FHEM+Bot läuft)?
- Du könntest auch mal versuchen, dass globla Attribut
dnsServer auf die IP-Addresse Deines DNS-Servers oder entpsrechenden Proxies zu verwenden. Dann wird auch die Anfrage nach der IP-Adresse nonblocking ausgeführt und auch gecached.
Gruss,
Johannes
Hi zusammen..
Ich lasse mir über einen Doif den Status meiner Steckdosen zuschicken.
Das sieht folgendermaßen aus
([TelegramBot:msgText] eq "Status")(set TelegramBot message TV [TV:state])(set TelegramBot message Entertain [Entertain:state])(set TelegramBot message Garderobe [Garderobe:state])(set TelegramBot message Server [Server:state])(set TelegramBot message Spiegelschrank [Spiegelschrank:state])(set TelegramBot message Tablet_Laden [Tablet_Laden:state])
Durch das defaultpeer Attribut geht die Antwort immer an mich,wenn ich es weglasse passiert nichts.Soweit so klar.Wie bewerkstellige ich es,dass die Antwort an denjenigen geht,der den Status abfragt.
Gibt es da evtl. ein Attribut für,welches ich übersehen habe?
Gibt es evtl. eine Elegantere Lösung ?
Vielen Dank.
Im Reading prevMsgPeerId steht doch die letzte Id.
Also kannst Du doch sowas machen:
(set TelegramBot message @[TelegramBot:prevMsgPeerId] bla bla)
Gruß
Dan
P.S. Evtl. muss das @ noch mit \ maskiert werden!?
Hey viegener,
ich melde mich die tage nochmal zu meinem Problem, im Moment habe ich nicht viel zeit für meine fhem Projekte.
Zitat von: DeeSPe am 21 November 2016, 20:47:03
Im Reading prevMsgPeerId steht doch die letzte Id.
Also kannst Du doch sowas machen:
(set TelegramBot message @[TelegramBot:prevMsgPeerId] bla bla)
Gruß
Dan
P.S. Evtl. muss das @ noch mit \ maskiert werden!?
Dank dir! Hat funktioniert. :)
Hey, habe das gerade auch interessiert ausprobiert, aber ich hab das gefühl, dass es msgPeerId sein müsste?
in der prevMsgPeerId steht immer der Absender der vorherigen Message, so dass ich die Informationen bekomme, wenn meine Frau fragt, und andersrum ... ?
Erst beim zweiten fragen klappt es dann wie gewünscht ... (klar, weil dann auch die richtige id in dem prev...-Feld steht ..
Ooooooder.. ich hab die Frage falsch verstanden.. :-)
Grüße
Stephan
edit: wie wärs mit einem Attribut "sendAnswerTo" und z.B. "defaultPeer" "askingPeer" ( natürlich beschränkt auf die restricted)..
nur als Idee:)
Zitat von: abc2006 am 21 November 2016, 21:25:16
Hey, habe das gerade auch interessiert ausprobiert, aber ich hab das gefühl, dass es msgPeerId sein müsste?
in der prevMsgPeerId steht immer der Absender der vorherigen Message, so dass ich die Informationen bekomme, wenn meine Frau fragt, und andersrum ... ?
Erst beim zweiten fragen klappt es dann wie gewünscht ... (klar, weil dann auch die richtige id in dem prev...-Feld steht ..
Ooooooder.. ich hab die Frage falsch verstanden.. :-)
Grüße
Stephan
edit: wie wärs mit einem Attribut "sendAnswerTo" und z.B. "defaultPeer" "askingPeer" ( natürlich beschränkt auf die restricted)..
nur als Idee:)
Ja, Du hast Recht! Es muss natürlich msgPeerId sein.
Ist mir vorhin gar nicht aufgefallen weil in beiden bei mir das selbe stand.
ZitatmsgPeerId <text>
The sender id of the last received message
prevMsgPeerId <text>
The sender id of the SECOND last received message
Gruß
Dan
Hi,
ich habe seit 17.11. (letzten Donnerstag) Probleme mit TelegramBot - es kommen keine Nachrichten mehr durch.
Es scheint ein SSL-Problem zu sein.
Hier mal ein kleiner Log-Ausschnitt:
2016.11.23 17:56:09.713 5: TelegramBot_Callback teleBot: called from Polling
2016.11.23 17:56:09.713 5: TelegramBot_Callback teleBot: polling returned result? <undef>
2016.11.23 17:56:09.713 5: Triggering teleBot (1 changes)
2016.11.23 17:56:09.713 5: Starting notify loop for teleBot, first event PollingLastError: NonBlockingGet: returned connect to https://api.telegram.org:443 timed out
2016.11.23 17:56:09.716 5: Triggering teleBot (1 changes)
2016.11.23 17:56:09.716 5: Starting notify loop for teleBot, first event PollingErrCount: 238
2016.11.23 17:56:09.718 5: TelegramBot_UpdatePoll teleBot: called
2016.11.23 17:56:09.718 5: TelegramBot_UpdatePoll teleBot: got fails :12: wait 14 seconds
2016.11.23 17:56:09.718 4: TelegramBot_Callback teleBot: resulted in :NonBlockingGet: returned connect to https://api.telegram.org:443 timed out: from Polling
Hat sich da auf Seiten von Telegram irgendwas verändert oder hat jemand das gleiche Problem?
System ist Windows mit ActivePerl.
Ich habe fhem zwischendurch mal geupdatet, aber auch mit einem Backup ist es das gleiche Problem.
Gruß
Spiff.
Wie kommst Du darauf, dass es ein SSL-Problem ist, aus dem Logausschnitt ist nur erkennbar, dass der Verbindungsaufbau zu api.telegram.org fehlschlägt (timeout)?
Also mir sind jetzt keine Probleme/Änderungen bekannt.
Vielleicht mal ein Standardansatz:
- Hast Du mal Dein System durchgestartet
- Kannst Du auf dem Windowssystem mal den URL (aus dem internals) mit angehängtem /getUpdates aufrufen?
komisch,
hatte den Telegrambot schon aktiv und mir Shortcuts angelegt und alles.
Heute stelle ich fest dass der Bot weg ist. Das ganze "device" ist aus der cfg verschwunden.
Beim Neu anlegen finde ich das im Log:
Zitat2016.11.24 09:50:38 1: reload: Error:Modul 50_TelegramBot deactivated:
Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl . ./FHEM ./FHEM/lib) at ./FHEM/50_TelegramBot.pm line 177, <GEN9> line 432.
BEGIN failed--compilation aborted at ./FHEM/50_TelegramBot.pm line 177, <GEN9> line 432.
Der Bot ist auf 4 von 5 RasPis weg.
jemand ne Idee wie es dazu auf einmal kommt?
Nachtrag 1:
scheinbar haben diese 4 RasPis kein FHEM Updat gemacht. die 50_Telegrambo.pm war alt.
Mach jetzt mal nen Update und melde mich wieder.
Zitat von: Frank_Huber am 24 November 2016, 09:57:55
komisch,
hatte den Telegrambot schon aktiv und mir Shortcuts angelegt und alles.
Heute stelle ich fest dass der Bot weg ist. Das ganze "device" ist aus der cfg verschwunden.
Beim Neu anlegen finde ich das im Log:
Der Bot ist auf 4 von 5 RasPis weg.
jemand ne Idee wie es dazu auf einmal kommt?
Die Fehlermeldung besagt, dass das JSON-Modul nicht gefunden wurde. Dieses wird aber eigentlich schon von Anfang an benötigt, um den TelegramBot zu betreiben. Der Device ist weg, weil das TelegromBot-Modul beim Neustart nicht mehr geladen werden kann.
Wie kommt es dazu, dass das JSON-Modul nicht mehr da ist?
Was wurde seit dem letzten restart an der Installation (perl ?) verändert?
Solange Du kein save ausführst ist die bot-definition noch im cfg vorhanden. Du müsstest aber erst das Problem mit dem json-Modul lösen.
Zitat von: viegener am 24 November 2016, 10:07:12
Die Fehlermeldung besagt, dass das JSON-Modul nicht gefunden wurde. Dieses wird aber eigentlich schon von Anfang an benötigt, um den TelegramBot zu betreiben. Der Device ist weg, weil das TelegromBot-Modul beim Neustart nicht mehr geladen werden kann.
Wie kommt es dazu, dass das JSON-Modul nicht mehr da ist?
Was wurde seit dem letzten restart an der Installation (perl ?) verändert?
Solange Du kein save ausführst ist die bot-definition noch im cfg vorhanden. Du müsstest aber erst das Problem mit dem json-Modul lösen.
Danke für deine Antwort,
Auf Perl-Ebene hab ich nichts geändert an den RasPis. dazu hab ich den 5ten. Das ist meine Testwiese. aber da geht noch alles.
Änderungen gab es schon viele, Ich weis ja nicht seit wann der Bot weg ist.
Das FHEM Update hat nichts gebracht. Ich mach mich dann mal jetzt auf die Suche wie ich JSON nachinstallieren kann.
die Lösung in diesem Post gefunden:
https://forum.fhem.de/index.php/topic,38328.msg337390.html#msg337390 (https://forum.fhem.de/index.php/topic,38328.msg337390.html#msg337390)
auf der Konsole JSON neu installiert mit:
sudo apt-get update && sudo apt-get install libjson-perl -y
Ist mir ein Rätsel warum es weg war, aber seis drum. es geht wieder.
Danke für die Hilfe!
Zitat von: Frank_Huber am 24 November 2016, 10:23:17
die Lösung in diesem Post gefunden:
https://forum.fhem.de/index.php/topic,38328.msg337390.html#msg337390 (https://forum.fhem.de/index.php/topic,38328.msg337390.html#msg337390)
auf der Konsole JSON neu installiert mit:
sudo apt-get update && sudo apt-get install libjson-perl -y
Ist mir ein Rätsel warum es weg war, aber seis drum. es geht wieder.
Danke für die Hilfe!
Schön, dass es wieder geht.
An dem Post sieht man, dass JSON bereits seit langem Vorbedingung war, wie beschrieben. Komisch, dass es bei Dir plötzlich weg war (perl update?)
Nur aus Neugier, warum soviele FHEM-Instanzen?
Zitat von: viegener am 24 November 2016, 11:01:27
Nur aus Neugier, warum soviele FHEM-Instanzen?
Ich mache alles über IOs. möchte keinen unnötigen Funk haben. Also alle Rollos, alle Lampen, alle Schalter über Draht.
das macht dann pro Etage einen RPI mit 32GPIO Huckepack.
Befehle untereinander tausche ich mit RFHEM aus.
Am Handy / Tablet Habe ich mir mit der NetIO App was gebastelt.
Der 5te ist der zum testen und ausprobieren.
EDIT für deine Neugier:
Installation: http://www.Frank-Huber.net/TEMP/FHEM_Inst.jpg (http://www.frank-huber.net/TEMP/FHEM_Inst.jpg)
NetIO: http://www.Frank-Huber.net/TEMP/Screen_EG.png (http://www.frank-huber.net/TEMP/Screen_EG.png)
Bei der Installation fehlen noch die ganzen Tasterkabel auf den LSA+
Hi,
Zitat von: viegener am 23 November 2016, 23:43:06
Wie kommst Du darauf, dass es ein SSL-Problem ist, aus dem Logausschnitt ist nur erkennbar, dass der Verbindungsaufbau zu api.telegram.org fehlschlägt (timeout)?
...weil ich anfangs immer SSL-Probleme hatte. Aber du hast Recht. Es war letztendlich meine Firewall / mein Virusscanner, der irgendwas erkannt haben will. Trotz Neustart ging es nicht. Ich habe ihn jetzt manuell deaktiviert und wieder aktiviert - geht wieder. Nichts weiteres verändert. Symantec... vielleicht hat er sich verschluckt.
Gruß
Spiff.
Zitat von: Frank_Huber am 24 November 2016, 11:15:05
EDIT für deine Neugier:
Installation: http://www.Frank-Huber.net/TEMP/FHEM_Inst.jpg (http://www.frank-huber.net/TEMP/FHEM_Inst.jpg)
NetIO: http://www.Frank-Huber.net/TEMP/Screen_EG.png (http://www.frank-huber.net/TEMP/Screen_EG.png)
Bei der Installation fehlen noch die ganzen Tasterkabel auf den LSA+
Danke für die Erklärungen!
Hallo viegener,
ist es möglich, das mir ein Telegrambot-Device ein zeitaktuelles Reading zurückgibt,
was der Bot als Antwort gegeben hat.
Momentan ist es ja so, daß ich z.B. vom Smartphone aus einen Befehl sende und bekomme eine Antwort.
Diesen Text, der da links im Smartphone angezeigt wird hätte ich gern als Reading ...
Geht das ?
Panik
Zitat von: Panik am 25 November 2016, 16:47:40
Hallo viegener,
ist es möglich, das mir ein Telegrambot-Device ein zeitaktuelles Reading zurückgibt,
was der Bot als Antwort gegeben hat.
Momentan ist es ja so, daß ich z.B. vom Smartphone aus einen Befehl sende und bekomme eine Antwort.
Diesen Text, der da links im Smartphone angezeigt wird hätte ich gern als Reading ...
Geht das ?
Panik
Sorry, Panik, aber ich stehe auf dem Schlauch bei Deiner Anfrage. Mir ist nicht klar, welche Antwort Du als Reading sehen möchtest?
Ich vermute, Du meinst die letzte gesendete Nachricht? Wenn Ja, dann steht dieser Text als Internal
sentMsgTextzur Verfügung. Der Wert kann abgerufen werden sobal die Readings zur gesendeten Nachricht gesetzt sind (Id und Result). Die Message nochmal als Reading zu speichern wollte ich eigentlich vermeiden.
Hallo viegener,
ich habe einen kommentierten Screenshot angehangen, welcher beschreibt, was ich meine. Bitte mal anschauen.
Mich interessiert der Text zur msgID 310
Hintergrund ist der Folgender:
Man findet im Internet viele Hinweise, wie man den Telegram-Befehl "sendMessage" verwendet - auch automatisiert!
Doch über
https://api.telegram.org/bot1xxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxx/sendMessage?chat_id=yyyyyyyyyy&text=Dieser Text kommt über https://api.telegram.org/bot12345:ABCDEF/sendMessage?chat_id=6789&text=usw
kann man nur nachbilden, wie ein Bot eine Nachricht sendet.
Aber ich kann die Seite "Mensch" nicht auf diese Art simulieren, wie es die Clientsoftware bzw. Telegram-Apps tun.
Nachrichten von Bot zu Bot werden in Telegram.api nicht unterstützt :'(
Letztlich geht's mir darum, zu jeder fortlaufenden msgID den zugehörigen Text zu bekommen.
Ich hoffe, auf diese Weise in FHEM den Text auswerten zu können.
Panik
@Panik: Ich rätsele leider immer noch herum, was Du eigentlich erreichen willst.
Meine aktuelle Vermutung ist, dass Du Readings haben willst, die Messages beinhalten die von irgendjemandem, aber nicht dem TelegramBot in FHEM versendet wurden, durch Aufruf des sendMessage URLs. Also Nachrichten, die in der TelegramApp des Empfängers als vom Bot gesendet auftauchen, aber nicht über den bot in FHEM versendet wurden.
Was der Anwendungsfall dafür ist, ist mir ein Rätsel und leider ist das auch nicht möglich. Das Telegram Bot API bietet meines Wissens nach keine Möglichkeit Nachrichten die versendet wurden nachträglich wieder abzurufen. Das Bot-API von Telegram ist kein vollständiges Client-API und ein Bot ist auch kein normaler Benutzer.
Wenn Du beschreiben würdest, welches Problem Du eigentlich lösen willst, kann man überlegen wie das anzugehen wäre, wenn möglich.
@viegener
brauchst nicht rätseln ... ich erzähl:
Es wurde im Forum auch schon angefragt, aber leider kam keine verwertbare Aussage.
Ich habe (nach etlichen vergeblichen Versuchen) das in Frage kommende Bindeglied
zwischen der Android-App "Tasker" und FHEM (über Telegram-Api) beschrieben.
Daher habe ich nur die Kernfrage gestellt, auf die es m.E. ankommt.
Tasker ist eine sehr populäre App unter Android, die auf verschiedenste Tasks
automatisch Aktionen ausführen kann.
Sie kann auch einen HTTP-Post an Telegram versenden, wie ich ihn oben angab.
Dies klappt erfolgreich. Nur leider kann dein Modul es nicht erkennen, verwerten und eine
Aktion in FHEM damit auslösen.
Meine gewünschte Aktion:
Wenn ich in den "Dunstkreis" meiner heimatlichen Netzzellen komme,
soll FHEM meine Temperatur der Wohnung auf Wunschtemperatur einstellen (oder WLAN einschalten)
Und warum verwendest Du dazu nicht Geofancy?
Oder warum kann nicht tasker eine html-Seite direkt auf dem fhem-Server-aufrufen statt über Telegram zu gehen? Über pushbullet kann man übrigens auch mit fhem kommunizieren und Kommandos schicken.
Klar, ggf. muss fhem von außen erreichbar sein, etwa über einen VPN-Zugang.
Zitat von: Panik am 26 November 2016, 13:35:31
Sie kann auch einen HTTP-Post an Telegram versenden, wie ich ihn oben angab.
Dies klappt erfolgreich. Nur leider kann dein Modul es nicht erkennen, verwerten und eine
Aktion in FHEM damit auslösen.
Ja, das Problem ist wie oben beschrieben, dass diese Einschränkung durch das TelegramBot-API entsteht und es deshalb keine Lösung für den TelegramBot in FHEM geben kann, solange Telegram das API nicht ändert oder eine Möglichkeit schafft das Bots untereinander Nachrichten verschicken können.
Hallo,
ich möchte gerne ein an den TelegramBot gesendetes Bild in ftui darstellen.
Das funktioniert auch, wenn ich den Wert "fileUrl" benutze (Habe mir dazu ein entsprechendes Userreading angelegt.
Das Problem ist nun, das die "fileUrl" automatisch neu erzeugt wird, wenn ein neues Bild gesendet wird.
Habe es mit folgendem notify versucht, geht aber nicht:
TelegramBot:msgFileId get TelegramBot urlForFile $EVENT
Hat jemand eine Tip für mich?
Danke und Gruß
Detlef
Was macht denn das userReading und was soll das notify genau machen?
Gruß
Dan
Zitat von: DeeSPe am 26 November 2016, 23:02:12
Was macht denn das userReading und was soll das notify genau machen?
Gruß
Dan
Das userreading macht aus dem "Internal" ein "Reading" :
fileUrl {InternalVal ($name,"fileUrl",0)}
Das notify soll den Befehl zum erstellen der fileurl ausführen:
get TelegramBot urlForFile <msgFileId>
Habe eben mal ein userReading erstellt welches direkt das letzte Bild (jpg,jpeg,png) im Reading lastPhoto anzeigt.
attr TB userReadings lastPhoto:msgFileId.* {"<html><img src=\"".InternalVal($name,"fileUrl","")."\"></html>" if (InternalVal($name,"fileUrl","") =~ /(jpg|jpeg|png)$/)}
Gruß
Dan
Zitat von: DeeSPe am 26 November 2016, 23:14:43
Habe eben mal ein userReading erstellt welches direkt das letzte Bild (jpg,jpeg,png) im Reading lastPhoto anzeigt.
attr TB userReadings lastPhoto:msgFileId.* {"<html><img src=\"".InternalVal($name,"fileUrl","")."\"></html>" if (InternalVal($name,"fileUrl","") =~ /(jpg|jpeg|png)$/)}
Gruß
Dan
Sorry, da hat ja noch was gefehlt:
attr TB userReadings lastPhoto:msgFileId.* {my $url=fhem "get $name urlForFile ".ReadingsVal($name,"msgFileId",""); "<html><img src=\"$url\" width=480></html>" if ($url =~ /(jpg|jpeg|png)$/)}
Gruß
Dan
Die "abgespeckte" Variante ist genau das was ich brauche:
fileUrl:msgFileId.* {my $url=fhem "get $name urlForFile ".ReadingsVal($name,"msgFileId","")}
Vielen Dank!
Zitat von: Masterfunk am 26 November 2016, 23:29:54
Die "abgespeckte" Variante ist genau das was ich brauche:
fileUrl:msgFileId.* {my $url=fhem "get $name urlForFile ".ReadingsVal($name,"msgFileId","")}
Vielen Dank!
Na siehst Du! 8)
Mit meiner Version des userReadings könnte man sich mit einem readingsHistory mehrere der letzten Bilder anzeigen lassen:
define rh_TB_lastPhoto readingsHistory TB:lastPhoto.*
Gruß
Dan
Zitat von: Masterfunk am 26 November 2016, 23:29:54
Die "abgespeckte" Variante ist genau das was ich brauche:
fileUrl:msgFileId.* {my $url=fhem "get $name urlForFile ".ReadingsVal($name,"msgFileId","")}
Vielen Dank!
Bei Dir müsste das dann so reichen:
fileUrl:msgFileId.* {fhem "get $name urlForFile ".ReadingsVal($name,"msgFileId","")}
Gruß
Dan
Zitat von: DeeSPe am 26 November 2016, 23:37:50
Bei Dir müsste das dann so reichen:
Ja, passt. Mir reichen die letzen beiden Bilder.
Habe jetz folgende Userreadings:
fileUrl:msgFileId.* {fhem "get $name urlForFile ".ReadingsVal($name,"msgFileId","")},
prevfileUrl:msgFileId.* {fhem "get $name urlForFile ".ReadingsVal($name,"prevMsgFileId","")}
Nochmals Danke
Kleine Verbesserung noch!
Um sicherzustellen dass prevMsgFileId auch schon verändert wurde würde ich das userReading prevfileUrl auch auf eben dieses triggern:
prevfileUrl:prevMsgFileId.* {fhem "get $name urlForFile ".ReadingsVal($name,"prevMsgFileId","")}
Gruß
Dan
Hatte ich übersehen.
Danke
Hallo zusammen,
ich habe ein wenig mit dem Modul gespielt und habe nun ungewöhnliche, mir nicht bekannte, Contacts.
Stehen die nur drin weil die es versucht haben, oder können die etwas mitlesen oder etwas schicken?
Viele Grüße
Tim
Zitat von: HoTi am 29 November 2016, 07:01:22
Hallo zusammen,
ich habe ein wenig mit dem Modul gespielt und habe nun ungewöhnliche, mir nicht bekannte, Contacts.
Stehen die nur drin weil die es versucht haben, oder können die etwas mitlesen oder etwas schicken?
Viele Grüße
Tim
Das kommt darauf an, wie Du konfiguriert hast.
Mitlesen können sie nicht. Schicken können sie, etwas auslösen können sie eigentlich nur, wenn Du die Hinweise zur Absicherung (z.B: im wiki: http://www.fhemwiki.de/wiki/TelegramBot (http://www.fhemwiki.de/wiki/TelegramBot)) nicht befolgt hast.
Aus meiner Sicht ist cmdRestrictedPeer mit den user ids (numerische id) der Personen, die etwas auslösen dürfen unverzichtbar.
Ok, auslösen kann man sowieso noch nichts. Aber wie kann ich die Contacts löschen, damit ich sauber die Liste schließen kann.
Dafür gibt es den set-Befehl replaceContacts
Also Contact reading nehmen - alle Einträge, die gelöscht werden sollen komplett entfernen - und das Ergebnis mit replaceContacts wieder setzen. Wichtig: Danach überprüfen ob alle gewünschten Kontakte enthalten sind und alle unerwünschten entfernt.
Wenn gewünscht kann man dann noch allowUnknownContacts auf 0 setzen
Das steht aber auch alles in der commandref ;)
Hallo
Ich habe mal eine Frage. Und zwar nutze ich auch den Telegram Bot und dieser funktioniert auch soweit.
Ich kann per Telegram Geräte abfragen und steuern. Das funktioniert auch alles.
Jetzt habe ich den Bot in einer Gruppe hinzugefügt und wollte dort auch Befehle an den Bot übergeben, damit dieser z.b die Temperaturen oder Status der Fenster in der Gruppe ausgibt. Leider reagiert der Bot in der Gruppe auf keine dieser Nachrichten.
Habt ihr ne Idee was das Problem sein kann und wie ich den Bot in der Gruppe dazu bringe auf Befehle zu reagieren?
Vielen Dank im Voraus
MfG
Dopamin
Zitat von: Dopamin am 05 Dezember 2016, 11:21:19
Hallo
Ich habe mal eine Frage. Und zwar nutze ich auch den Telegram Bot und dieser funktioniert auch soweit.
Ich kann per Telegram Geräte abfragen und steuern. Das funktioniert auch alles.
Jetzt habe ich den Bot in einer Gruppe hinzugefügt und wollte dort auch Befehle an den Bot übergeben, damit dieser z.b die Temperaturen oder Status der Fenster in der Gruppe ausgibt. Leider reagiert der Bot in der Gruppe auf keine dieser Nachrichten.
Habt ihr ne Idee was das Problem sein kann und wie ich den Bot in der Gruppe dazu bringe auf Befehle zu reagieren?
Vielen Dank im Voraus
MfG
Dopamin
Es gibt mehrere möglich Erklärungen:
- Privacy mode - Bots sehen in Gruppen standardmässig nur bestimmte Nachrichten, siehe hier - kann man beim botfather umschalten
https://core.telegram.org/bots#privacy-mode (https://core.telegram.org/bots#privacy-mode)
- Wenn er die Nachrichten empfängt, aber nicht darauf reagiert, dann könnte es daran liegen, dass die Benutzer/die Gruppe nicht in den Kontakten stehen bzw. nicht zugelassen sind Kommandos abzusenden
Danke für deine Antwort.
Also der Privacy Modus steht auf disabled. Wenn ich jetzt im Gruppenchat irgendwas schreibe dann sehe ich diese nachrichten auch garnicht im FHEM. wollte probieren über diesen curl aufruf die Gruppenchat ID herauszufinden aber wenn ich den Befehl "curl -x POST https://api.telegram.org/botxxx:xxx/getUpdates (xxx steht für den token) dann erhalte ich nur folgendes: {"ok":true,"result":[]}
Wenn ich den Bot direkt anschreibe also nicht in dem Gruppenchat dann funktioniert aber alles.
Einstellungen vom Bot sehen wie folgt aus:
/setjoingroups - Enable
/setprivacy - Disable
Keine Ahnung wo mein Denk- oder Configfehler sich befindet.
Gruß
Dopamin
Zitat von: Dopamin am 05 Dezember 2016, 13:30:34
Danke für deine Antwort.
Also der Privacy Modus steht auf disabled. Wenn ich jetzt im Gruppenchat irgendwas schreibe dann sehe ich diese nachrichten auch garnicht im FHEM. wollte probieren über diesen curl aufruf die Gruppenchat ID herauszufinden aber wenn ich den Befehl "curl -x POST https://api.telegram.org/botxxx:xxx/getUpdates (xxx steht für den token) dann erhalte ich nur folgendes: {"ok":true,"result":[]}
Wenn ich den Bot direkt anschreibe also nicht in dem Gruppenchat dann funktioniert aber alles.
Einstellungen vom Bot sehen wie folgt aus:
/setjoingroups - Enable
/setprivacy - Disable
Keine Ahnung wo mein Denk- oder Configfehler sich befindet.
Gruß
Dopamin
Wenn er die Nachrichten nichtmal empfängt, dann gibt es noch andere Möglichkeiten
Ist denn die Gruppe in den Kontakten enthalten?
Bist Du sicher, dass der Bot in der gruppe ist?
kannst Du vom bot aus an die Gruppe senden?
Ansonsten bräuchte ich mehr Infos, um das genauer zu analysieren: Kannst Du mal ein List Deines Bots anfertigen und hier in COde-tags posten (bitte auth-token und andere private Informationen / z.B. Kontakte maskieren)
Hallo
Also habe nochmals alles geprüft und alle Infos hier hinzugefügt. Ich bin mir nur gerade nicht sicher ob im Telegram zwischen Gruppe und Kanal ein Unterschied besteht. Habe dort ein Kanal eingerichtet. Habe nochmals einen neuen aufgebaut und den Bot hinzugefügt (siehe Screenshot) aber weiterhin kein Erfolg mit dem Bot.
Der Bot und auch der Kanal ist in meiner Kontaktliste vorhanden.
Anbei auch ein list von meinem Bot
Internals:
DEF xxx
FAILS 0
NAME fhembot
NR 151
OLD_POLLING 78
POLLING 78
SNAME fhembot
STATE Polling
TYPE TelegramBot
Token xxx
UPDATER 0
URL https://api.telegram.org/botxxx/
WAIT 0
me xxx:xxx_Bot:@xxx_Bot
offset_id 206117010
sentLastResult SUCCESS
sentMsgId XXX
sentMsgPeer xxx
sentMsgPeerId xxx
sentMsgResult SUCCESS
sentMsgText FHEM wurde neugestartet!
Contacts:
xxx xxx:xxx:
xxx xxx:xxx:
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 05 Dec 2016 13:37:51 GMT
Content-Type: application/json
Content-Length: 253
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
{"ok":true,"result":{"message_id":689,"from":{"id":xxx,"first_name":"xxx_Bot","username":"xxx_Bot"},"chat":{"id":xxx,"first_name":"xxx","last_name":"xxx","type":"private"},"date":1480945071,"text":"FHEM wurde neugestartet!"}}
code 200
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 05 Dec 2016 13:37:51 GMT
Content-Type: application/json
Content-Length: 253
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 1
loglevel 4
method POST
path /botxxx:xxx/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/botxxx:xxx/sendMessage
args:
xxx
FHEM wurde neugestartet!
0
1
Hash:
Sslargs:
Hu_upd_params:
FD 28
NAME
addr https://api.telegram.org:443
buf
code 200
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
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Mon, 05 Dec 2016 14:43:44 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 77
isPolling update
loglevel 4
method GET
offset 206117010
path /botxxx:xxx/getUpdates?offset=206117010&limit=5&timeout=60
protocol https
redirects 0
timeout 125
url https://api.telegram.org/botxxx:xxx/getUpdates?offset=206117010&limit=5&timeout=60
Hash:
Sslargs:
Readings:
2016-12-05 14:20:53 Contacts xxx:xxx: xxx:xxx:
2016-12-05 14:12:41 PollingErrCount 22
2016-12-05 14:12:41 PollingLastError Callback returned error:Unauthorized:
2016-12-02 11:15:36 StoredCommands xxx xxx xxx.measured-temp
2016-12-05 14:21:15 msgChat
2016-12-05 14:21:15 msgFileId
2016-12-05 14:21:15 msgId 685
2016-12-05 14:21:15 msgPeer xxx
2016-12-05 14:21:15 msgPeerId xxx
2016-12-05 14:21:15 msgText xxx
2016-12-05 14:21:15 prevMsgChat
2016-12-05 14:21:15 prevMsgFileId
2016-12-05 14:21:15 prevMsgId 682
2016-12-05 14:21:15 prevMsgPeer xxx
2016-12-05 14:21:15 prevMsgPeerId xxx
2016-12-05 14:21:15 prevMsgText xxx
2016-12-05 14:35:59 sentMsgId 689
2016-12-05 14:35:59 sentMsgResult SUCCESS
sentQueue:
Attributes:
allowUnknownContacts 0
cmdKeyword xxx
cmdRestrictedPeer xxx
defaultPeer xxx
pollingTimeout 60
room xxx
Hoffe das ich soweit alles maskiert habe was wichtig ist :-)
Anbei noch der Screenshot von der Gruppe/Kanal
Vielen Dank schonmal für deine Hilfe.
Gruß
Dopamin
Zitat von: Dopamin am 05 Dezember 2016, 15:55:30
Hallo
Also habe nochmals alles geprüft und alle Infos hier hinzugefügt. Ich bin mir nur gerade nicht sicher ob im Telegram zwischen Gruppe und Kanal ein Unterschied besteht. Habe dort ein Kanal eingerichtet. Habe nochmals einen neuen aufgebaut und den Bot hinzugefügt (siehe Screenshot) aber weiterhin kein Erfolg mit dem Bot.
Der Bot und auch der Kanal ist in meiner Kontaktliste vorhanden.
Anbei auch ein list von meinem Bot
Internals:
DEF xxx
FAILS 0
NAME fhembot
NR 151
OLD_POLLING 78
POLLING 78
SNAME fhembot
STATE Polling
TYPE TelegramBot
Token xxx
UPDATER 0
URL https://api.telegram.org/botxxx/
WAIT 0
me xxx:xxx_Bot:@xxx_Bot
offset_id 206117010
sentLastResult SUCCESS
sentMsgId XXX
sentMsgPeer xxx
sentMsgPeerId xxx
sentMsgResult SUCCESS
sentMsgText FHEM wurde neugestartet!
Contacts:
xxx xxx:xxx:
xxx xxx:xxx:
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 05 Dec 2016 13:37:51 GMT
Content-Type: application/json
Content-Length: 253
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
{"ok":true,"result":{"message_id":689,"from":{"id":xxx,"first_name":"xxx_Bot","username":"xxx_Bot"},"chat":{"id":xxx,"first_name":"xxx","last_name":"xxx","type":"private"},"date":1480945071,"text":"FHEM wurde neugestartet!"}}
code 200
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Mon, 05 Dec 2016 13:37:51 GMT
Content-Type: application/json
Content-Length: 253
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 1
loglevel 4
method POST
path /botxxx:xxx/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/botxxx:xxx/sendMessage
args:
xxx
FHEM wurde neugestartet!
0
1
Hash:
Sslargs:
Hu_upd_params:
FD 28
NAME
addr https://api.telegram.org:443
buf
code 200
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
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Mon, 05 Dec 2016 14:43:44 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 77
isPolling update
loglevel 4
method GET
offset 206117010
path /botxxx:xxx/getUpdates?offset=206117010&limit=5&timeout=60
protocol https
redirects 0
timeout 125
url https://api.telegram.org/botxxx:xxx/getUpdates?offset=206117010&limit=5&timeout=60
Hash:
Sslargs:
Readings:
2016-12-05 14:20:53 Contacts xxx:xxx: xxx:xxx:
2016-12-05 14:12:41 PollingErrCount 22
2016-12-05 14:12:41 PollingLastError Callback returned error:Unauthorized:
2016-12-02 11:15:36 StoredCommands xxx xxx xxx.measured-temp
2016-12-05 14:21:15 msgChat
2016-12-05 14:21:15 msgFileId
2016-12-05 14:21:15 msgId 685
2016-12-05 14:21:15 msgPeer xxx
2016-12-05 14:21:15 msgPeerId xxx
2016-12-05 14:21:15 msgText xxx
2016-12-05 14:21:15 prevMsgChat
2016-12-05 14:21:15 prevMsgFileId
2016-12-05 14:21:15 prevMsgId 682
2016-12-05 14:21:15 prevMsgPeer xxx
2016-12-05 14:21:15 prevMsgPeerId xxx
2016-12-05 14:21:15 prevMsgText xxx
2016-12-05 14:35:59 sentMsgId 689
2016-12-05 14:35:59 sentMsgResult SUCCESS
sentQueue:
Attributes:
allowUnknownContacts 0
cmdKeyword xxx
cmdRestrictedPeer xxx
defaultPeer xxx
pollingTimeout 60
room xxx
Hoffe das ich soweit alles maskiert habe was wichtig ist :-)
Anbei noch der Screenshot von der Gruppe/Kanal
Vielen Dank schonmal für deine Hilfe.
Gruß
Dopamin
Das ist die relevante Information - Gruppen sollten funktionieren, Supergruppen (mit Einschränkungen auch) - Channels sind bisher nicht getestet, weil ich nicht davon ausgung, dass jemand seine Hausautomatisierung öffentlich machen will. Aber ich lerne dazu ;)
https://telegram.org/faq#q-what-39s-the-difference-between-groups-supergroups-and-channel (https://telegram.org/faq#q-what-39s-the-difference-between-groups-supergroups-and-channel)
Also als einfache Lösung - mache aus Deinem Channel eine Gruppe - Auf einen ersten Blick sind für chanels wieder neue Felder im API hinzugekommen, obwohl für den Benutzer keine Änderungen bestehen. Ich kann mir das auf die Todo nehmen, aber wie gesagt. Ich gehe eher davon aus, dass Gruppen für die Anwendung im TelegramBot ausreichen
Hi,
gibt es schon neues zu den Custom Keyboards? Würde die gerne in meine Chats einbauen.
Gruß Mohrengemuse
Hi
Vielen Dank für deine Hinweise.
Habe jetzt aus dem Kanal eine Gruppe gemacht. Jetzt reagiert der Bot auch auf Anfragen, jedoch bleibt ein kleines Problem.
Und zwar werden die Antworten nicht direkt in der Gruppe geschrieben sondern es kommt die Antwort nur direkt an mich sodass die anderen Personen in der Gruppe diese Antwort nicht sehen. Wenn ich aus FHEM versucht mittels Befehl eine Nachricht in der Gruppe zu posten bekomme ich folgenden Fehler:
set TelegramBot msg @#Gruppenname test
FAILED peer not found :#Gruppenname
:
Ist das so gewollt das die Antworten bzw. Nachrichten vom Bot nicht direkt im Chat/Gruppe landen?
Ein erneuter Versuch die Gruppenchat ID herauszufinden ist weiterhin erfolglos.
curl -x POST https://api.telegram.org/botTOKEN/getUpdates
liefert folgendes Ergebnis:
{"ok":true,"result":[]}
Gruß
Dopamin
Also bei taucht die Gruppe in den Kontakten des Bot auf. Du erkennst sie an dem Bindestrich vor der ID:-14xxxxxx1::#FHEM
Ich kann an den Gruppennamen wir auch an die ID schreiben:set telegramBot message @#FHEM Test123
set telegramBot message @-14xxxxxx1 Test456
überprüfte Grüße
Niels
Ahh ich hab den Fehler gefunden.
Hatte allowunknowncontacts auf 0 gestellt und somit hat er den neuen Kontakt nicht hinzugefügt bzw ignoriert.
Habe diesen Chatboscript aus dem Forum implementiert und jetzt muss ich es nurnoch hinbekommen, das wenn jemand in der Gruppe z.n /help schreibt das der Telegrambot auch das ganze in der Gruppe ausgibt und nicht direkt zu dem Kontakt.
Hallo,
Zitat[/Habe diesen Chatboscript aus dem Forum implementiert und jetzt muss ich es nurnoch hinbekommen, das wenn jemand in der Gruppe z.n /help schreibt das der Telegrambot auch das ganze in der Gruppe ausgibt und nicht direkt zu dem Kontakt.quote]
Ich glaub das geht nicht, was in Gruppen geschrieben wird, liest er nicht!
In Gruppen schreiben hingegen würde gehen!
LG
Marlen
Doch es funktioniert.
Habe das ganze Script ein bissl umgeschrieben und auch die msgChat mit ausgegeben. Und wenn die msgChat ungleich leer ist, dann soll er die msgChatID als msgPeerID nutzen.
Schon funktioniert die ganze Sache. Und wenn ich jetzt direkt in der Gruppe /hilfe schreibe antwortet der Bot in der Gruppe. Wenn ich den Bot direkt anschreibe, dann erhalte nur ich die Antwort vom Bot.
Genauso wie ich es mir vorgestellt habe.
Danke nochmal an alle die mir bei meinem Problem geholfen haben.
Gruß
Dopamin
Ohhh....das interessiert mich aber jetzt!
Kannst du hierzu mal dein notify posten?
LG
Marlen
Klar doch. Also mein Notify sieht folgendermaßen aus
fhembot:msgText:.* {my $msgText = ReadingsVal("fhembot","msgText","");my $msgPeerId = ReadingsVal("fhembot","msgPeerId","");my $msgChat = ReadingsVal ("fhembot","msgChat",""); if($msgPeerId eq "ID"){tg_analyse($msgChat,$msgPeerId,$msgText);} }
ID steht natürlich für die IDs der Kontakte.
Und in dem Telegram Script 99_myUtilsTelegram.pm musst du dann natürlich noch eine Änderung vornehmen.
my ($msgChat, $msgPeerId, $msgText) = @_;
Log "fhembot", "Gruppe: $msgChat";
Log "fhembot", "Sender: $msgPeerId";
Log "fhembot", "Text: $msgText";
$msgChat = substr($msgChat,0,11);
if($msgChat != '') {$msgPeerId = $msgChat};
$msgChat in der erste Zeile hinzufügen.
Da die Variable msgChat aber die ID und den Namen enthält, habe ich mit substr($msgChat,0,11) die Variable auf 11 Zeichen gekürtzt. Danach dann natürlich die Überprüfung ob die Variable msgChat ungleich leer ist, und wenn diese Bedingung erfüllt ist (was im Gruppenchat sein sollte) dann setzt er die msgPeerID auf die msgChat ID.
Wenn du den Bot direkt ansprichst, sollte es eigentlich keine msgChat ID geben.
Ist vielleicht nicht die sauberste Lösung das zu lösen aber es funktioniert bei mir :-)
Vielleicht findet sich ja ein Pfiffiger der das sauber löst und den Code hier veröffentlicht :-)
Bin halt nicht so der Hardcoreprogrammierer ;D
Gruß
Dopamin
@Dopamin, klingt spannend was Du da erreicht hast. Aber ich brauche noch etwas Hilfe um zu verstehen was man damit jetzt machen kann.
Ich sage mal was ich verstanden habe, aber bitte korrigiere mich.
Du hast einen Telegram Bot, der fhem-Kommandos entgegen nimmt und beantwortet. Dieser Bot ist aber nun nicht mehr in einem direkten Chat mit genau einem Nutzer, sondern Du hast den Bot in eine Telegram-Gruppe eingeladen in der sich z.B. auch noch weiterer Familienmitglieder befinden. Und Du hast den Privatsphären-Modus deaktiviert, so dass der Bot alles mitbekommt (ist das nötig oder reicht es nicht, dass der Bot nur die Anfragen sieht, die mit einem / beginnen). Wenn nun jemand im Gruppenchat eine Anfrage stellt, dann beantwortet der Chat-Bot diese und alle in der Gruppe können die Antwort sehen. Unabhängig davon und parallel kann jeder Berechtigte auch direkt mit dem Bot kommunizieren und diese Kommunikation ist dann nur für ihn sichtbar.
Habe ich das richtig verstanden? Welches Problem löst das nun für Dich - welchen Vorteil siehst Du?
Hallo
Ja genau. Der Bot befindet sich bei uns in der Familiengruppe. Und alle Berechtigten der Gruppen können halt Befehle absetzen und der Bot beantwortet dann die Anfragen.
Das hat unterschiedlichen nutzen. Bei uns dient es erstmal das meine Frau z.B weiss wenn ich mal das WLAN oder Funksteckdosen in den Kinderzimmern abschalte wenn die es wieder mit der PC Nutzung übertreiben :-)
Dann brauch Sie mich nicht extra anrufen.
Weiterhin dient es dafür wenn der letzte das Haus verlässt und es mal vergessen wird Fenster zu schließen das dort in der Gruppe automatisch die Nachricht eintrifft das noch ein Fenster auf ist und dieses dann ruhig auch mal durch die Kinder geschlossen werden ohne ständig anzurufen und zu bitten.
Ich weiss sehr spezieller Einsatzzweck aber bei uns ab und an mal notwendig.
Gruß
Dopamin
Guten Abend!
Wird echt immer interessanter!
Wie deaktiviert man den Privatsphären-Modus?
Und wie kann man das Modul bearbeiten? Direkt von FHEM aus oder über die Konsole mit nano?
Wäre es dann möglich 2 Bot's in einer Gruppe zu haben und der eine Bot empfängt vom anderen Bot Befehle?
LG
Marlen
Zitat von: Marlen am 06 Dezember 2016, 21:19:02
Wie deaktiviert man den Privatsphären-Modus?
über den botfather
Zitat von: Marlen am 06 Dezember 2016, 21:19:02
Und wie kann man das Modul bearbeiten? Direkt von FHEM aus oder über die Konsole mit nano?
Sowohl als auch. Siehe Commandref FHEMWEB attribut editFileList.
Die Frage ist nur was du ändern möchtest und nicht mit allen teilen willst ;)
Zitat von: Marlen am 06 Dezember 2016, 21:19:02
Wäre es dann möglich 2 Bot's in einer Gruppe zu haben und der eine Bot empfängt vom anderen Bot Befehle?
Nein, bots können nicht mit Bots kommunizieren
Was bewirkt das deaktivieren des Privatsphären-Modus?
Hab ihn deaktiviert und jetzt empfängt der Bot auch Gruppennachrichten! Dann muss ich doch das Modul nicht mehr ändern!?
Ja Empfangen geht aber das direkte Antworten des Bots im Gruppenchat funktioniert damit nicht. Deshalb ja meine Änderung.
Ich schreibe z.B einfach /fenster in mein Gruppenchat und er gibt dann genau aus welche Fenster offen sind. (für die Kids leichter als in jedem Zimmer nachzuschauen) :-)
Warum soll das Antworten nicht gehen, mein Bot schreibt doch jetzt auch an Gruppen!?
LG
Marlen
okay.
Bei mir hat das ganze nicht funktioniert. Wenn ich in meiner Gruppe z.B /fenster geschrieben habe um den Fensterstatus zu überprüfen, dann kam die Antwort vom Bot nicht in der Gruppe sondern direkt explizit nur an mich. Das hätten dann die anderen Gruppenmember garnicht mitbekommen.
Deshalb habe ich das ganze umgeschrieben, das geprüft wird von wo die nachricht kommt und wenn eine Nachricht für den Bot in ein Gruppenchat ankommt, dann soll er die Antwort auch nur an den Gruppenchat weiterleiten.
Wenn es bei dir auf Anhieb funktioniert, dann ist es ja gut. Bei meiner Config hat es so nicht funktioniert.
Gruß
Dopamin
@wthiess Was passiert denn genau, wenn Du /short eingibst?
Entschuldige war eine Fehlmeldung. Ich hab direkt in der Fhem.cfg gearbeitet. Dann aber im Web dann gings. Habe meine Post gelöscht damit niemand verwirrt wird.
Danke
lg
Wolfgang
Hallo!
Jetzt da ich schon tolle Erfolge habe kann ich eine echte Frage definieren.
Gibt es eine Möglichkeit die Buttons für die Favoriten schöner zu gestalten.
Als Anhang ein Bild vom Telegramm am PC.
lg
Wolfgang
#Telegram
define teleBot TelegramBot xxxxx:xxxxxxxxxxxxxxxxxxxxx
attr teleBot cmdFavorites /short
attr teleBot cmdKeyword doit
attr teleBot cmdRestrictedPeer xxxxxxxxxxxxxxx
attr teleBot defaultPeer Wolfgang_Thiess
attr teleBot favorites /[Rollo auf]=set R_WzF Auf;; /[Rollo zu]=set R_WzF Zu;; /[Haus Temp SVG]=set svgsend on
attr teleBot pollingTimeout 120
attr teleBot room Telegram
Zitat von: wthiess am 09 Dezember 2016, 22:34:36
Hallo!
Jetzt da ich schon tolle Erfolge habe kann ich eine echte Frage definieren.
Gibt es eine Möglichkeit die Buttons für die Favoriten schöner zu gestalten.
Als Anhang ein Bild vom Telegramm am PC.
lg
Wolfgang
Leider bisher nicht wirklich. Ich vermute mit schöner meinst Du, dass nur die beschreibenden Texte erscheinen sollen? Oder gibt es andere Verschönerungen (Bilder werden von telegram nicht unterstützt)?
kurzer Hintergrund, warum auf den Tasten "/short..." steht, Ein Tastendruck ist für den Bot genauso, als ob der Text eingetippt würde und die Nachritcht ist auch keine Antwort sondern nur eine weitere Nachricht. .Damit der Text von der Botimplementierung als Kommand erkannt wird, muss dieser also wie ein normales Favoritenkommando gebaut sein
Ok danke. Ist trotzdem eine super Berreicherung. Hab jetzt von Mail auf Telegram umgestellt. Lg Wolfgang
Gesendet von meinem SM-N9005 mit Tapatalk
Ich habe mal 2 neue Funktionen hinzugefügt zum Modul (erstmal nur in github):
- Man kann jetzt direkt bei den message-Set-Befehlen auch ein Keyboard für den Empfänger mitgeben, indem man Strings in () vor der eigentlichen Message hinzufügt:
Beispiel:
set aTelegramBotDevice message @@someusername (yes) (may be) are you there?
Dies geht beim Versenden von Textnachrichten
Mehrere Tasten in einer Zeile können durch | getrennt werden:
set aTelegramBotDevice message @@someusername (yes|no) (may be) are you there?
- Neuer Set-Befehl msgForceReply, um beim Empfänger eine direkte Antwort anzufordern. Dieser Befehl erlaubt leider keine Definition von Keyboards beim Empfänger, ansonsten verhält sich der Befehl wie ein normales "set ... message". Diese ist eine Einschränkung im telegram bot api, ich habe aber bereits einen feature request gestellt.
Ausserdem habe ich auch ein Reading für das Nachverfolgen von Antworten ("reply") hinzugefügt: msgReplyMsgId
Wenn es jemand ausprobiert würde ich mich über Rückmeldung freuen
Zitat von: viegener am 10 Dezember 2016, 23:03:31
- Man kann jetzt direkt bei den message-Set-Befehlen auch ein Keyboard für den Empfänger mitgeben, indem man Strings in [] vor der eigentlichen Message hinzufügt:
Beispiel:
set aTelegramBotDevice message @@someusername [yes] [may be] are you there?
Dies geht beim Versenden von Textnachrichten
Man kann ja auch mehrspaltige Keyboards senden. Würdes du das dann als | Trennzeichen in den Klammern einbauen?
Beispiel:
set aTelegramBotDevice message @@someusername [1|2|3] [4|5|5] [7|8|9] [*|0|#] what is your number?
siehe auch Youtube: FHEM Telegram Dialoge (https://www.youtube.com/watch?v=HcWCdOtyQ2w) aus dem chatBot (vordefinierte Dialoge) für Telegram (https://forum.fhem.de/index.php/topic,51425.msg531925.html#msg531925) Thread.
@viegener: Toll! Danke!!!!
@igami: noch toller!
Muss ich bei Gelegenheit (aber wird wohl Weihnachten werden) mal ausprobieren!
Gruß, Joachim
Zitat von: igami am 11 Dezember 2016, 07:52:28
Man kann ja auch mehrspaltige Keyboards senden. Würdes du das dann als | Trennzeichen in den Klammern einbauen?
Beispiel:
set aTelegramBotDevice message @@someusername [1|2|3] [4|5|5] [7|8|9] [*|0|#] what is your number?
Kaum lege ich mal Funktionalität nach, schon beginnen hier die Forderungen ;) - Nein im Ernst, ja schaue ich mir gleich mal an
Mir ging es im ersten Schritt mal darum, hilft das für die Dialogführung und funktioniert das so?
Hintergrund wenn irgendjemand heute Nachrichten hat, die mit einer eckigen Klammer anfangen, dann ändert sich das Verhalten durch die neue Funktion!
Zitat von: viegener am 11 Dezember 2016, 11:06:30
Kaum lege ich mal Funktionalität nach, schon beginnen hier die Forderungen ;) - Nein im Ernst, ja schaue ich mir gleich mal an
Ich denke immer, dass es einfacher ist das vor dem einchecken zu bedenken ;)
Ich bin gerade dabei eine 99_myTelegramBotDialogUtils.pm zu schreiben. Daraus die sub für das senden von keyboards
sub TBD_keyboard($@) {
my ($msg, @rows) = @_;
my @keys;
for (@rows){
my @columns = split("\\|", $_);
push(@keys, \@columns);
}
my $jsonkb = TelegramBot_MakeKeyboard($TBD_hash, 1, 0, @keys);
TelegramBot_SendIt($TBD_hash, TBD_peer(), $msg, $jsonkb, 0);
return;
}
Ich wollte ja für die Telegram Dialoge mal ein eigenes Modul schreiben. Aber vorerst wird es wohl bei DOIF und ein paar subs bleiben ;)
Getestet habe ich deine Variante nicht, werde ich wohl dieses Jahr auch nicht mehr zu kommen :( Ich könnte mir aber vorstellen, dass es bei der Verwendung mit DOIF Probleme geben wird, da dort ja auch eckige Klammern verwendet werden.
OK, auch die Erweiterung mit mehreren Keys ist enthalten, neue Version in github, habe auch noch ein paar Abrundungen vorgenommen.
Zitat von: igami am 11 Dezember 2016, 11:45:22
Getestet habe ich deine Variante nicht, werde ich wohl dieses Jahr auch nicht mehr zu kommen :( Ich könnte mir aber vorstellen, dass es bei der Verwendung mit DOIF Probleme geben wird, da dort ja auch eckige Klammern verwendet werden.
Ja, eckige Klammern werden an mehreren Stellen verwendet, da ich gerade auch Schwierigkeiten mit set-logic [device:reading] bekommen habe, ist das jetzt kurzfristig auf runde Klammern geändert. Was auch wohl nicht Konfliktfrei ist, aber vielleicht weniger Probleme auslöst.
Also neue Version mit runden Klammern ist in github:
set aTelegramBotDevice message @@someusername (yes|no) (may be) are you there?
Achso: Und feedback von tests wäre immer noch erwünscht!
Ich kann meinen Bot nicht mehr ereichen vom Smartphone und er mich nicht mehr. Geändert habe ich meines Wissens nichts mehr seit einigen Wochen.
In Fhem sehe ich:
sentLastResult
Callback returned error:Forbidden: Bot was blocked by the user:
und
PollingLastError
Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1746, <GEN20> line 4286.
Der Bot steht in meinem Handy auch nicht mehr in der Kontaktliste. Habe ich ihn vielleicht mal entfernt? Wie kriege ich ihn wieder rein?
Gruß
Jan
@stratege-0815: Ich vermute, Du hast den Bot-Chat in Telegram beendet und damit wohl zumindest auch das Authtoken invalidiert.
Lösung: Erstmal wieder zum botfather gehen und schauen ob der Bot noch bekannt ist.
Wenn ja - neues Authtoken generieren und verwenden.
Wenn nein - neuen Bot aufsetzen (ist ja relativ simpel) und einrichten
Von Deinem Benutzer solltest Du den Bot dann anschreiben, damit Du mit ihm wieder reden kannst
Ja, offenbar war das beenden des Chats wohl die eigentliche Ursache. Ich dachte der Chat geht wieder auf, so wie bei anderen Chats. Zudem musste ich in telegramBot noch ein"reset" ausführen.
Scheint wieder zu gehen.
Hallo!
Tolle neue Funktion (mit mehreren Keys) - funktioniert!
Habe aber nachstehen Meldung:
PollingLastError
Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1746
Danke und LG
Zitat von: raimundl am 11 Dezember 2016, 17:40:43
Hallo!
Tolle neue Funktion (mit mehreren Keys) - funktioniert!
Habe aber nachstehen Meldung:
PollingLastError
Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1746
Danke und LG
Die Meldung verheisst erstmal, dass Telegram mal ein HTML (vermutlich server überlastet o.ä.) statt einem wirklichen Resultat zurückgeliefert hat. Die Meldung kommt immer mal wieder vor, wenn die Server mal kurzzeitig nicht erreichbar oder überlastet sind. Das stammt aber aus der Abfragen nach neuen Nachrichten (Polling) und nicht aus dem Senden des keyboards.
Wo wir schon bei neuen Features sind. Direkt SVGs zu senden wäre auch cool, verwende da momentan auch eine eigene sub
my $TBD_TelegramBot = "TelegramBot";
my $TBD_hash = $defs{$TBD_TelegramBot};
my $TBD_me = (split(":", InternalVal($TBD_TelegramBot, "me", "0:$TBD_TelegramBot:0")))[1];
sub TBD_SVG($) {
my ($SVG) = @_;
TelegramBot_ExecuteCommand($TBD_hash, TBD_peer(), "{plotAsPng(\"$SVG\")}");
return;
}
Man könnte das ja als
set aTelegramBotDevice SVG @@someusername <SVG name> [<caption>]
implementieren ;)
Zitat von: igami am 12 Dezember 2016, 06:13:00
Wo wir schon bei neuen Features sind. Direkt SVGs zu senden wäre auch cool, verwende da momentan auch eine eigene sub
:
:
Man könnte das ja als
set aTelegramBotDevice SVG @@someusername <SVG name> [<caption>]
implementieren ;)
Ja, wäre cool - ich habe die Sub direkt im Befehl drin:
{fhem "set telegramBot message \@someusername some text" ;; TelegramBot_ExecuteCommand($defs{"telegramBot"}, someusername, '{plotAsPng("svg_name")}');; return;;})
Toll, aber ohne Forenhilfe hätte ich das nicht hin bekommen ;)
beschränkte Grüße
Niels
Mein Tipp für die Umwandliung von SVG in PNG bei wirklich hoher Qualität: Inkscape mit entsprechenden Kommandozeilenoptionen verwenden.
Einen netten Use-Case für Telegram kann ich in diesem Thread auch noch beisteuern: Verwalten einer digitalen Einkaufsliste mit Telegram, siehe hier: https://wiki.fhem.de/wiki/Modul_PostMe
LG
pah
Hallo zusammen,
ich habe mir gestern mal das Thema InlineKeyboards angeschaut.
Gleich eins vorweg: ich bin kein Perl Entwickler und mein Code ist demensprechend wahrscheinlich nicht der schönste. ;D
Mein Ziel war folgendes:
- Versenden von InlineKeyboards mit Callback Events bei dem klick des Buttons
- Auswerten der Callback Events
- Beantworten der Callback Events mit und ohne Benachrichtigung (wird in dem Chat oben angezeigt)
Versenden von Nachrichten mit InlineKeyboards:
Die InlineKeyboards werden beim Nachrichten Versand als JSON mit an die API gesendet. Für jede Zeile gibt es ein eigenes Array. Für jeden Botton wird ein Text und ein Feld Callbackdata benötigt. Dafür habe ich mir folgendes überlegt.
ButtonText und CallbackData werden mit Minus getrennt und Buttons werden mit Doppelpunkten getrennt:
"Button Name-Callback_data:Button Name2- Callback_data2"
Mehrere Zeilen werden mit Kommas getrennt:
"Button Name-Callback_data:Button Name2- Callback_data2,Button Name Zeil2-Callback_data3 "
Hierfür habe ich eine Funktion in der myUtils angelegt:
sub setTelegramInlineKeyboard($$$)
{
my ($to, $msg, $btns) = @_;
my @lines = split(/\,/,$btns);
my $btnjson = '{"inline_keyboard":[';
my $linefirst = 1;
my $data;
my $text;
foreach my $line (@lines){
if($linefirst eq 0){
$btnjson = $btnjson.',[' ;
}else{
$linefirst = 0;
$btnjson = $btnjson.'[' ;
}
my @btn = split(/\:/,$line);
my $btnfirst = 1;
foreach (@btn){
my @btndata = split(/\-/,$_);
$text = $btndata[0];
if ($btndata[1] ne ''){
$data = $btndata[1];
}else{
$data = $btndata[0];
}
if($btnfirst eq 0){
$btnjson = $btnjson.',{"text":"'.$text.'","callback_data":"'.$data.'"}' ;
}else{
$btnfirst = 0;
$btnjson = $btnjson.'{"text":"'.$text.'","callback_data":"'.$data.'"}' ;
}
}
$btnjson = $btnjson.']' ;
}
$btnjson = $btnjson.']}';
my $param = {
url => "https://api.telegram.org/bot--APIKEY--/sendMessage",
timeout => 5,
method => "POST",
header => "agent: TeleHeater/2.2.3\r\nUser-Agent: TeleHeater/2.2.3\r\nAccept: application/json",
};
$param->{data}{text} = $msg;
$param->{data}{chat_id} = $to;
$param->{data}{reply_markup} = $btnjson;
my $return = HttpUtils_BlockingGet($param);
}
Nun wird bei einem Klick auf den Button wird nun ein Callback ausgelost. Dieser wird von dem TelegramBot allerdings nicht ausgewertet (zumindest nicht angezeigt)
Deshalb habe ich in dem Modul (50_TelegramBot.pm) folgendes hinzugefügt.
In der Funktion "TelegramBot_Callback" innerhalb des "foreach my $update ( @$result ) {" habe ich folgednes eingefügt (in meinem Fall war das Zeile 1863):
if ( defined( $update->{callback_query} ) ) {
$ret = TelegramBot_Parsecallback( $hash, $update->{update_id}, $update->{callback_query} );
}
Desweiteren habe ich eine die Funktion "TelegramBot_Parsecallback" hinzugefügt:
sub TelegramBot_Parsecallback($$$)
{
my ( $hash, $uid, $callback ) = @_;
my $callbackID = $callback->{id};
my $from = $callback->{from};
my $mpeer = $from->{id};
my $data = $callback->{data};
readingsBeginUpdate($hash);
readingsBulkUpdate($hash, "callbackID", $callbackID);
readingsBulkUpdate($hash, "callbackpeerID", $mpeer);
readingsBulkUpdate($hash, "callData", $data );
readingsEndUpdate($hash, 1);
}
Nun stehen die Infos aus dem aktuellen bzw. letzten Callback im TelegramBot als Reading.
Ein Callback muss beantwortet werden sonst erscheint ein Ewigkeit Ladebalken nach dem Klick auf den Botton. Des Weiteren gibt es hier die Möglichkeit noch eine kleine Popup Nachricht zu senden (z.B. "Licht angeschaltet")
Hier habe ich wieder eine Funktion in myUtils angelegt:
sub answerCallback($$)
{
my ($callbackid, $msg) = @_;
my $param = {
url => "https://api.telegram.org/bot--APIKEY--/answerCallbackQuery",
timeout => 5,
method => "POST",
header => "agent: TeleHeater/2.2.3\r\nUser-Agent: TeleHeater/2.2.3\r\nAccept: application/json",
};
$param->{data}{callback_query_id} = $callbackid;
$param->{data}{text} = $msg;
my $return = HttpUtils_BlockingGet($param);
}
Für Die Logik habe ich ein Notify angelegt welches die CallBackDatas auswertet (hier ein kleiner Auszug):
In dem einen if muss die eigene Telegram ID hinterlegt werden um eine Prüfung des Absenders durchzuführen.
Telegram:callbackID:.* {
my $callbackid = ReadingsVal("Telegram", "callbackID", 0);
my $sender = ReadingsVal("Telegram", "callbackpeerID", 0);
my $calldata = ReadingsVal("Telegram", "callData", "");
my $callantwort;
if ($sender eq "--meine Telegram ID--"){
if ($calldata =~ /hauptmenue/) {
{setTelegramInlineKeyboard($sender, "Ich kann folgendes für dich tun:", "Heizung-heizung:Licht-licht:Rolladen-rolladen,Müll-muell:Temperatur-temperatur:Fenster-fenster")}
}elsif ($calldata =~ /licht/) {
if($calldata =~ /wohnzimmer_schrank_an/){
fhem("set Wohnzimmer_LED_Schrank on");
$callantwort="Wohnzimmer LED Spot angeschalten";
}elsif($calldata =~ /wohnzimmer_schrank_aus/){
fhem("set Wohnzimmer_LED_Schrank off");
$callantwort="Wohnzimmer LED Spot ausgeschalten";
}elsif($calldata =~ /wohnzimmer_led_an/){
fhem("set Wohnzimmer_LED on");
$callantwort="Wohnzimmer LED Streifen angeschalten";
}elsif($calldata =~ /wohnzimmer_led_aus/){
fhem("set Wohnzimmer_LED off");
$callantwort="Wohnzimmer LED Streifen ausgeschalten";
}else{
{setTelegramInlineKeyboard($sender, "Lichtsteuerung", "Wohnzimmer Schrank aus-licht_wohnzimmer_schrank_aus:Wohnzimmer Schrank an-licht_wohnzimmer_schrank_an,Wohnzimmer LED aus-licht_wohnzimmer_led_aus:Wohnzimmer LED an-licht_wohnzimmer_led_an,Hauptmenü-hauptmenue")}
}
}elsif ($calldata =~ /rolladen/) {
if($calldata =~ /rolladen_schlafzimmer_hoch/){
fhem("set Schlafzimmer_Rolladen on");
$callantwort="Rolladen Schlafzimmer hoch";
}elsif($calldata =~ /rolladen_schlafzimmer_runter/){
fhem("set Schlafzimmer_Rolladen off");
$callantwort="Rolladen Schlafzimmer runter";
}elsif($calldata =~ /rolladen_esszimmer_hoch/){
fhem("set Esszimmer_Rolladen on");
$callantwort="Rolladen Esszimmer hoch";
}elsif($calldata =~ /rolladen_esszimmer_runter/){
fhem("set Esszimmer_Rolladen off");
$callantwort="Rolladen Esszimmer runter";
}elsif($calldata =~ /rolladen_buero_hoch/){
fhem("set Buero_Rolladen on");
$callantwort="Rolladen Büro hoch";
}elsif($calldata =~ /rolladen_buero_runter/){
fhem("set Buero_Rolladen off");
$callantwort="Rolladen Büro runter";
}else{
{setTelegramInlineKeyboard($sender, "Rolladensteuerung", "Schlafzimmer hoch-rolladen_schlafzimmer_hoch:Schlafzimmer runter-rolladen_schlafzimmer_runter,Esszimmer hoch-rolladen_esszimmer_hoch:Esszimmer runter-rolladen_esszimmer_runter,Büro hoch-rolladen_buero_hoch:Büro runter-rolladen_buero_runter,Hauptmenü-hauptmenue")}
}
}
{answerCallback($callbackid, $callantwort)}
}
}
Anbei noch ein paar Bilder.
Ich hoffe dass es einigermaßen verständlich ist und ich jemanden damit helfen konnte.
Bitte verschlagt mich nicht für meinen Chaos Perl Code. :o 8)
Viele Grüße
Max
Edit: Prüfung des Absenders des Callbacks.
@dergeberl:
Hi Max,
klasse!
Perl code hab ich mir noch nicht angeschaut...
...aber meiner wäre wohl auch nicht "schöner"... ;-)
Wird Zeit, dass Weihnachten kommt...
...dann habe ich endlich mal Zeit meine Liste mit allem was ich schon immer ausprobieren/umsetzen wolte "abzuarbeiten" ;-)
Danke, Joachim
@dergeberl - Reife Leistung - keine Frage! Ich habe bisher immer von den inlinequeries zurückgeschreckt, weil ich das Problem mit der Reaktion vom Telegrambot unschön finde. Es muss halt eine Reaktion erfolgen sonst ist der Telegram client eingefroren.
Wenn es aber Interesse gibt, kann ich Teile Deines Codes übernehmen?
@dergeberl: Achtung: Du hast ein offenes Scheunentor in Deinen Bot eingebaut - Soweit ich das auf die Schnelle sehen kann findet keinerlei Prüfung statt wer gerade Dein Hausfernsteuert - Das erscheint mir nicht ganz so smart.
Bitte übernehmt den Code so nicht!
@viegner
Vielen Dank für die Blumen.
So wie ich das verstanden habe werden die Callbacks nach einer Weile automatisch gelöscht.
Ich glaube es erscheint lediglich ein Ladebalken (bzw. Ladekreis) in dem Button der geklickt wurde. Muss ich mal testen ob der einfriert.
Klar nimm was du brauchst :)
Also schon einmal sehr interessant wäre die Ausgabe der Callback Infos in den readings.
Grüße
Max
Zitat von: viegener am 14 Dezember 2016, 23:13:38
@dergeberl - Reife Leistung - keine Frage! Ich habe bisher immer von den inlinequeries zurückgeschreckt, weil ich das Problem mit der Reaktion vom Telegrambot unschön finde. Es muss halt eine Reaktion erfolgen sonst ist der Telegram client eingefroren.
Wenn es aber Interesse gibt, kann ich Teile Deines Codes übernehmen?
@viegener
Schande über mein Haupt...
Vielen Dank für Deinen Hinweis.
Ich habe oben noch eine If Abfrage eingefügt welche die Absender ID prüft.
Viele Grüße
Max
Gesendet von meinem VIE-L09 mit Tapatalk
Aus meiner Sicht ist das immer noch sehr unsicher. Insbesondere müsste überprüft werden, ob ein Callback tatsächlich von demjenigen kommt, der vorher ein entsprechendes Keyboard erhalten hat. Da das ggf. mehrere Benutzer des Smarthome sein können, muss der TelegramBot darüber Buch führen.
Zweitens sollte aus Sicherheitsgründen eine Protokollierung erfolgen: Wer hat von außen wann welche Aktionen im Smarthome ausführen lassen.
Drittens ist natürlich für eine Quick-and-dirty Lösung die Angabe eines Keyboards in einem String sehr gut. Für eine generische Lösung allerdings halte ich das auch für ungeeignet. Stattdessen sollten die jeweiligen Keyboards in entsprechenden (kleinen) Konfigurationsdateien liegen und bei Bedarf eingelesen werden. Dadurch kann man sie pflegen, ohne jeweils das myUtils.pm neu einzulesen.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 15 Dezember 2016, 03:58:28
Aus meiner Sicht ist das immer noch sehr unsicher. Insbesondere müsste überprüft werden, ob ein Callback tatsächlich von demjenigen kommt, der vorher ein entsprechendes Keyboard erhalten hat. Da das ggf. mehrere Benutzer des Smarthome sein können, muss der TelegramBot darüber Buch führen.
Zweitens sollte aus Sicherheitsgründen eine Protokollierung erfolgen: Wer hat von außen wann welche Aktionen im Smarthome ausführen lassen.
Drittens ist natürlich für eine Quick-and-dirty Lösung die Angabe eines Keyboards in einem String sehr gut. Für eine generische Lösung allerdings halte ich das auch für ungeeignet. Stattdessen sollten die jeweiligen Keyboards in entsprechenden (kleinen) Konfigurationsdateien liegen und bei Bedarf eingelesen werden. Dadurch kann man sie pflegen, ohne jeweils das myUtils.pm neu einzulesen.
LG
pah
Eine Protokollierung ist auf jeden Fall sehr wichtig für alle Einfallstore, sollte heute über die Readings-Filelog möglich sein.
Vielleicht hier auch nochmal ein grundsätzlicher "Disclaimer" zur Sicherheit:
Der Code vom TelegramBot ist nicht auf Sicherheit überprüft und ich bin auch kein Sicherheitsexperte. Generell ist die Öffnung eines Zuganges für die Ausführung von Kommandos über den TelegramBot inhärent ein Unsicherheitsfaktor. Die Absicherung sollte auf jeden Fall über die Mechanismen des Moduls beschränkt werden.
Alle Mechanismen setzen aber voraus, dass es in Telegram nicht möglich ist die ID des Absenders nicht gefälscht werden kann!
Zitat von: Prof. Dr. Peter Henning am 15 Dezember 2016, 03:58:28
Aus meiner Sicht ist das immer noch sehr unsicher. Insbesondere müsste überprüft werden, ob ein Callback tatsächlich von demjenigen kommt, der vorher ein entsprechendes Keyboard erhalten hat. Da das ggf. mehrere Benutzer des Smarthome sein können, muss der TelegramBot darüber Buch führen.
So wie ich die Callbacks verstanden (korrigiert mich) können die nur gesendet werden wenn man auch die Buttons erhalten hat. Wie @viegener gehe ich außerdem davon aus das ein Spoofing von BenutzerIDs nicht möglich ist :)
Desweiteren wäre hier auch interessant die Auswertung (für die erlaubten Kontakte) über das Modul zu machen, dass readings nur gesetzt werden wenn der Absender in den Kontakten ist. Hier fehlen mir allerdings Perl Kenntnisse.
Die Idee die Buttons über Config files zu erstellen finde ich nicht schlecht. Wobei die Buttons ja über die Funktion erzeugt werden und somit nicht in der myUtils sondern in dem Notify.
Für mich ist es definitiv weiterhin ein spannendes Thema.
viele Grüße
Max
Ich habe in github jetzt nochmal eine neue Version hochgeladen, in der ich die inline keyboards (set ... inline) und auch die Beantwortung (set ... answer) hinzugefügt habe. Vielleicht mag das ja jemand ausprobieren.
2 Hinweise:
- Es findet keine automatische Beantwortung von inline queries statt, der answer befehl muss abgesetzt werden, sonst ist der Client erstal blockiert
- Es werden nur inline query buttons von berechtigten Benutzern (selbe Prüfung wie bei cmdKeyword) entgegengenommen, alle anderen werden auch nicht als reading bereitgestellt
Damit sollte auch der blockierende HTTP-Zugriff ausserhalb von telegramBot unnötig werden
Ich lade es mal runter, hatte auch schon angefangen, an dem Modul herumzuspielen.
Mit dem Modul von github:
reload 50_TelegramBot.pm
Too many arguments for main::TelegramBot_UpdatePoll at /opt/fhem/FHEM/50_TelegramBot.pm line 696, near ""doOnce" )"
===> FHEM crash.
Manueller Neustart: Scheint zu laufen, auch mit "inline".
Problem noch: Wie bekommt man mehrere Buttons in eine Zeile ? Dazu sollte ab Zeile 1641 eine zweite Schleifenverschachtelung rein, also etwa
foreach my $aKey ( @$aKeyRow ) {
foreach my $bKey (split( /,/,$aKey)){
my ( $keytext, $keydata ) = split( /:/, $bKey, 2);
$keydata = $keytext if ( ! defined( $keydata ) );
my %oneKey = ( "text" => $keytext, "callback_data" => $keydata );
push( @parRow, \%oneKey );
}
}
Dann kann man mit set <Device>inline (Einkauf:E,Baumarkt:B) (Test:T) PostIt ein Keyboard erzeugen, das in der ersten Zeile 2 Buttons und in der 2. Zeile einen Button hat
Außerdem ist unklar, was die Kiste jetzt mit dem callbackdata anfangen soll - nur das reading setzen ? Warum nicht ein "eval" über den Text laufen lassen, oder FHEM-Kommandos als Attribute zu setzen ?
Sonstige Dinge:
1. Neues undokumentiertes set _msg - dupliziert set msg ??
2. Tippfehler disbale in der Doku
3. Zeile 537 => Kommentar sollte nicht "location" lauten
4. Zeile 1643 => sollte lauten my %oneKey = ( "text" => $keytext, "callback_data" => $keydata ); (keydata statt keytext)
5. Die beiden Kommandos "reply" und "answer" sind schwer auseinander zu halten, und "inline" ist etwas zu allgemein. Mein Vorschlag: "keyboard" statt "inline", "kbresponse" statt "answer".
6. Warum macht man eigentlich kein automatisches Response aus dem Modul heraus ? Wenn die externe Routine zum Abfangen eines Events nicht funktioniert, hängt der Client. Ich votiere für Asychronität: Automatische Respoinse in demMoment, wo Callbackdata gesetzt wurde bzw. ein FHEM-Kommando abgesandt wurde.
Also am Ende von ParseCallBack, außerhalb des BulkUpdate:
#-- set result reading and answer call ansynchronously
if( $data ){
readingsSingleUpdate($hash, "callbackData", $data,1 );
TelegramBot_Set($hash,$name,"answer ".$qid);
}else{
readingsSingleUpdate($hash, "callbackData", "",1 );
}
7. Ich habe noch in Zeile 1104 eingefügt
$retMsg=""
if( $retMsg eq "none");
um damit die ausführliche Meldung nach der Ausführung eines abgekürzten Kommandos unterdrücken zu können.
LG
pah
Hallo Profis!
Ich habe nun Telegramm in Betrieb. Meldungen senden von Fhem ok.; SVG anfordern ok.; Favoriten um Fhem zu steuern ok.; Echt super Sache.
Jetzt habe ich hier von "Inline Keyboard" gelesen. Da ich keine Ahnung habe um was es da geht weis ich nicht ob ich sowas brauchen kann. Es hört sich cool an. Kann mir bitte jemand das auf "Nicht Programmierer-Deutsch" erklären.
lg
Wolfgang
Soso.
ZitatProgrammierer-Deutsch
>:( >:(
Da würde ich doch mal die Screenshots aus den vorigen Posts ansehen, die sagen mehr, als 1000 Worte.
LG
pah
@viegener
Danke, werde mir das am Wochenende mal anschauen.
Eine automatische "Bearbeitung" der CallbackData sollte jedenfalls optional sein. Ich persönlich mache über Notifys was bei mir auch sehr gut funktioniert.
Bei einer Automatischen Antwort auf die Callbacks sehe ich das genau so. Dort kann man einen Text mitschicken (z.b. "Licht wurde angeschalten") welchen ich in dem Notify setze. Diese Funktion geht dadurch dann verloren.
Evtl. würde sich sowas über Attribute einstellen lassen?
Viele Grüße
Max
Schaltvorgänge können in FHEM eine ganze Weile dauern - z.B. wenn eine Keymatic mit AES-Signatur der Kommandos aufgefahren werden muss. Viele Dinge liefern überhaupt keine Rückmeldung (z.B. das Setzen irgendwelcher Attribute)
Insofern wäre es unsinnig, im Telegram-Client immer auf so etwas zu warten. Eine Bestätigungsmessage sollte ebenfalls asychhron herausgehen, und nicht direkt auf das Anklicken des virtuellen Keyboards.
Damit Fehler durch Nichtbeantwortung solcher Keyboard-Requests ausgeschlossen werden, sollte also die automatische Beantwortung der default sein. Meinetwegen gerne per Attribut abschaltbar - dann ist man selbst für die Rückmeldung verantwortlich.
LG
pah
Zitat von: dergeberl am 16 Dezember 2016, 16:57:15
@viegener
Danke, werde mir das am Wochenende mal anschauen.
Eine automatische "Bearbeitung" der CallbackData sollte jedenfalls optional sein. Ich persönlich mache über Notifys was bei mir auch sehr gut funktioniert.
Bei einer Automatischen Antwort auf die Callbacks sehe ich das genau so. Dort kann man einen Text mitschicken (z.b. "Licht wurde angeschalten") welchen ich in dem Notify setze. Diese Funktion geht dadurch dann verloren.
Evtl. würde sich sowas über Attribute einstellen lassen?
Viele Grüße
Max
Bin nicht sicher ob ich deinen Kommentar verstehe - Eine automatische Beantwortung ist momentan nicht vorgesehen, also kannst Du in dem Aufruf von answer Deinen text mitgeben (oder eben weglassen)
Die habe ich aber in einer Modifikation eingebaut, siehe Post auf der vorigen Seite. Damit entfällt die Warterei, und der Client ist wieder frei. Weitere Abarbeitung in FHEM dann asynchron.
LG
pah
Ich habe das gerade nochmal getestet:
Wenn man keinen Callback schickt, wird lediglich der Ladebalken in dem Button angezeigt.
Der Client hängt nicht. Ich konnte trotzdem mich durch die Buttons Klicken.
Der Ladebalken verschwindet irgendwann wieder (callbacks laufen glaube ich nach ein paar Sekunden ab).
Ich gebe dir Recht das eine Automatische Beantwortung der Callbacks in manchen Situationen von Vorteil ist. Jedoch nicht immer ;D
@viegener:
Das war auf den Post von Prof. Dr. Peter Henning bezogen :)
Viele Grüße
Max
Zitat von: Prof. Dr. Peter Henning am 16 Dezember 2016, 12:47:03
Ich lade es mal runter, hatte auch schon angefangen, an dem Modul herumzuspielen.
===> FHEM crash.
Manueller Neustart: Scheint zu laufen, auch mit "inline".
Problem noch: Wie bekommt man mehrere Buttons in eine Zeile ? Dazu sollte ab Zeile 1641 eine zweite Schleifenverschachtelung rein, also
Sonstige Dinge:
1. Neues undokumentiertes set _msg - dupliziert set msg ??
2. Tippfehler disbale in der Doku
3. Zeile 537 => Kommentar sollte nicht "location" lauten
4. Zeile 1643 => sollte lauten my %oneKey = ( "text" => $keytext, "callback_data" => $keydata ); (keydata statt keytext)
5. Die beiden Kommandos "reply" und "answer" sind schwer auseinander zu halten, und "inline" ist etwas zu allgemein. Mein Vorschlag: "keyboard" statt "inline", "kbresponse" statt "answer".
6. Warum macht man eigentlich kein automatisches Response aus dem Modul heraus ? Wenn die externe Routine zum Abfangen eines Events nicht funktioniert, hängt der Client. Ich votiere für Asychronität: Automatische Respoinse in demMoment, wo Callbackdata gesetzt wurde bzw. ein FHEM-Kommando abgesandt wurde.
Also am Ende von ParseCallBack, außerhalb des BulkUpdate:
#-- set result reading and answer call ansynchronously
if( $data ){
readingsSingleUpdate($hash, "callbackData", $data,1 );
TelegramBot_Set($hash,$name,"answer ".$qid);
}else{
readingsSingleUpdate($hash, "callbackData", "",1 );
}
7. Ich habe noch in Zeile 1104 eingefügt
$retMsg=""
if( $retMsg eq "none");
um damit die ausführliche Meldung nach der Ausführung eines abgekürzten Kommandos unterdrücken zu können.
Hi Peter,
Danke fürs ausprobieren und Korrektur lesen!
- Absturz - Hätte ich wohl explizit warnen sollen, seit der vorletzten Version in github musste ich mehrere Signaturen ändern und da dies im Hintergrund durch polling aufgerufen wird, kracht es - Perl ist da etwas komisch - Also sollte man FHEM besser vorher runterfahren
- Mehrere Buttons in einer Zeile durch | getrennt - siehe auch Beispiel in der Commandref für msg
- _msg ist hinzugefüt, damit in der Liste der Sets in FHEMWeb das Kommando als erstes steht - Blöder Workaround um nicht answer als erstes zu haben (steht auch in der commandref)
- Korrekturen in makeKeyboard und Doku habe ich übernommen
- Bei der automatischen Antwort suche ich noch eine Möglichkeit für einen variablen text, der vom Benutzer beeinflusst werden kann
(Ich denke momentan ein Attribut zu definieren, in dem man einen Wert definiert der mit set-logic evaluiert wird, dann kann man dynamisch etwas auswerten (auch readings oder perl-code), einen fixen Wert angeben, oder gar nichts)
- ich habe die Befehle jetzt mal umbenannt, der Hinweis ist berechtigt, es ist nun queryInline und queryAnswer
Habe bisher nur die Korrekturen hochgeladen - die automatische Beantwortung steht noch aus
Ich habe auch schon über die alphabetische Sortierung der Kommandos geflucht ...
Kann man derzeit nur beeinflussen, indem man bei set ? explizit ein paar Kommandos ausblendet
Ich suche noch nach einer Möglichkeit, bei einem Drücken auf einen virtuellen Key im Telegram-Client einen Parameter mitzugeben. Beispielsweise einen Item, der einer durch Telegram gesteuerten Einkaufsliste hinzugefügt wird.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 16 Dezember 2016, 18:57:10
Ich habe auch schon über die alphabetische Sortierung der Kommandos geflucht ...
Kann man derzeit nur beeinflussen, indem man bei set ? explizit ein paar Kommandos ausblendet
Ich suche noch nach einer Möglichkeit, bei einem Drücken auf einen virtuellen Key im Telegram-Client einen Parameter mitzugeben. Beispielsweise einen Item, der einer durch Telegram gesteuerten Einkaufsliste hinzugefügt wird.
LG
pah
Bin nicht sicher ob ich das mit dem Parameter zu dem virtuellen Key verstehe?
Also ein inline button und wenn der gedrückt wird, soll noch zusätzlich etwas vom Benutzer eingegeben werden?
Bin doch schneller als gedacht. Neue Version mit automatischen Beantwortung ist in github
- Es gibt ein Attribut queryAnswerText in dem kann man den Text für die Antwort hinterlegen. Dynamische Texte sind auch möglich, da der Inhalt des Attributs mit set-logik ausgewertet wird (also sind Readings und sogar perl-code möglich). Wenn das Attribut nicht gesetzt ist, findet KEINE automatische Beantwortung statt
- answer heisst jetzt queryAnswer und inline queryInline
Weiterhin frohes Testen (ich habe nur ganz rudimentär getestet ;) )
Hallo @dergeberl
ZitatFür Die Logik habe ich ein Notify angelegt welches die CallBackDatas auswertet (hier ein kleiner Auszug):
In dem einen if muss die eigene Telegram ID hinterlegt werden um eine Prüfung des Absenders durchzuführen.
Code: [Auswählen]
Telegram:callbackID:.* {
my $callbackid = ReadingsVal("Telegram", "callbackID", 0);
my $sender = ReadingsVal("Telegram", "callbackpeerID", 0);
........................................
{answerCallback($callbackid, $callantwort)}
}
}
Das mit dem Notify schaffe ich nicht. Bitte um Hilfe. Wo und wie schreibe ich das.
Ich hab folgende in der Fhem.cfg geschrieben
define teleBotx notify Telegram:callbackID:.* {
my $callbackid = ReadingsVal("Telegram", "callb.................
da kommt nur
Unknown command my, try help. Unknown command my, try help. Unknown command my, try help. Unknown command my, try help. Unknown command if, try help. Unknown command if, try help. Global symbol "$sender" requires explicit package name at (eval 9074) line 1, <$fh> line 1188. Unknown command }elsif, try help. Unknown command if($calldata, try help. Unknown command fhem("set, try help. Unknown command $callantwort="Wohnzimmer, try help. Unknown command }elsif($calldata, try help. Unknown command fhem("set, try help. Unknown command $callantwort="Systemair, try help. Unknown command }elsif($calldata, try help. Unknown comman..........................
Und wie komm ich dann zu den Buttons?
Bitte um Hilfe
lg
Wolfgang
@wthiess
Ich glaube in der fhem.cfg müssen neue Zeilen maskiert werden.
Ich würde über die Weboberfläche das notify initial anlegen und da den Code einfügen.
Initial:
define teleBox notify Telegram:callbackID:.* {}
Dann den notify aufrufen, auf DEF klicken und den Rest einfügen.
Viele Grüße
Max
Hallo Max!
Habe ich grad gemacht. Jetzt kommt keine Meldung. Aber wie bekomme ich jetzt die Buttons ins Telegramm.
Gibt es ein bestimmtes Kommando?
lg
Wolfgang
Wenn du es wie in meinem Post gemacht hast, kannst du den Befehl für das Senden von Buttons auch über die Weboberfläche absetzen also:
{setTelegramInlineKeyboard(SENDERID, "Nachrichten ", "Hauptmenü-hauptmenue")}
Alternativ zum Beispiel über ein notify welches auf die Nachrichten reagiert die Telegram empfängt.
Viele Grüße
Max
Zitat von: wthiess am 16 Dezember 2016, 22:07:03
Hallo Max!
Habe ich grad gemacht. Jetzt kommt keine Meldung. Aber wie bekomme ich jetzt die Buttons ins Telegramm.
Gibt es ein bestimmtes Kommando?
lg
Wolfgang
Mit der Version aus github, die demnächst auch über update verfügbar sein wird geht es folgendermassen
set telegramBot queryInline (taste1:code1) (taste2:code2) Und eine Nachricht
@viegener: Eher umgekehrt. Text in eine Zeile eingeben, dann aber nicht "senden" klicken, sondern einen der Buttons des Keyboards. Das Zusammensetzen der Callback-Daten aus Button-Id+Parameterwert sollte der Client übernehmen. Wird aber vermutlich nie gehen, weil das auch der Philosophie eines Instant Messengers etwas widerspricht. Danke für die Umsetzung der anderen features.
@wthiess und dergeberl: Diese Versuche in allen Ehren, aber das ist ziemlich unsauber programmiert. Längerer Perl-Quellcode, insbesondere mit Variablen, der Auswertung von Strings etc. gehört nicht in die Konfigurationsdatei, sondern in ein eigenes Modul, z.B. als Routine in die 99_myUtils.pm.
LG
pah
@viegener: Erste Testresultate sehen sehr schön aus.
Was ich noch nicht verstehe: Sende ich direkt in der Kommandozeile ein
set Telegram queryInline (Einkauf|Einkauf hinzu|Einkauf entf) (Baumarkt|Baumarkt hinzu|Baumarkt entf) PostIt
kommt richtigerweise nur das Keyboard an.
Definiere ich aber unter Favorites
/H=set Telegram queryInline (Einkauf|Einkauf hinzu|Einkauf entf) (Baumarkt|Baumarkt hinzu|Baumarkt entf) PostIt
und sende /H an den Bot, wird im Client an das Keyboard noch eine Textzeile "none" angehängt.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 17 Dezember 2016, 07:35:33
Definiere ich aber unter Favorites
/H=set Telegram queryInline (Einkauf|Einkauf hinzu|Einkauf entf) (Baumarkt|Baumarkt hinzu|Baumarkt entf) PostIt
und sende /H an den Bot, wird im Client an das Keyboard noch eine Textzeile "none" angehängt.
Kann es sein, dass Du das Attribute
textResponseResult gesetzt hast (Wenn ja auf welchen Wert?)
Zitat von: Prof. Dr. Peter Henning am 17 Dezember 2016, 06:55:36
@viegener: Eher umgekehrt. Text in eine Zeile eingeben, dann aber nicht "senden" klicken, sondern einen der Buttons des Keyboards. Das Zusammensetzen der Callback-Daten aus Button-Id+Parameterwert sollte der Client übernehmen. Wird aber vermutlich nie gehen, weil das auch der Philosophie eines Instant Messengers etwas widerspricht. Danke für die Umsetzung der anderen features.
OK, ein Teil der Funktion des inlineBots geht in diese Richtung - @bold macht so etwas ähnliches als text auszeichnung.
Eigentlich müsste man dazu einen weiteren Bot anlegen (generell kein Problem)
der als inlineBot agiert (das ist ein ganzer Set von neuer methoden im bot api und erfordert eigentlich eine separate Implementierung in FHEM)
Dann könnte jemand soetwas wie
Zitat@Einkauf Milch
tippen
Es würden Optionen auftauchen etwas zu entfernen und der Einkauf bot würde dann eine List von Optionen inline (also während man an der Nachricht schreibt) bereitstellen, die dann zum Beispiel hinzufügen oder Löschen von der EInkaufsliste erlauben
Beim Click des Buttons würde die Nachricht dann an den eigentlichen telegramBot geschickt (wobei der Einkauf'sbot noch etwas hinzufügt oder abändert)
Ausprobiert habe ich das rudimentär aber die grösste Hürde ist, dass man eigentlich eine neue Bot-implementierung für inline bots anfangen müsste
Nein, das habe ich schon.
Mit der Message
/Einkauf+ Bollenknollen
wird aus der Favorites-Liste ersetzt
/Einkauf+ => set Task set PostIt add Einkaufsliste
Weitergereicht an FHEM wird aber das komplexe Kommando
set Task set PostIt add Einkaufsliste Bollenknollen
Damit wird der Dummy Task gesetzt auf den Wert "set PostIt add Einkaufsliste Bollenknollen"
Das erzeugt natürlich einen entsprechenden Event.
Das Dummy Device Task wiederum wird von meiner FHEM-Hauptinstanz via FHEM2FHEM überwacht.
Dort läuft ein Notify, das auf Events vom Typ "set Task <Wert>" reagiert - und den <Wert> dann ausführt.
Als Folge dieser Kette wird in der FHEM_Hauptinstanz ausgeführt
set PostIt add Einkaufsliste Bollenknollen
Dazu braucht es auch keinen neuen Bot.
Schön wäre es nun, wenn ich nicht noch "/Einkauf+" tippen müsste - sondern nur noch einen Button auf dem virtuellen Keyboard.
Ich bastele derzeit gerade an einem zweistufigen Verfahren, mit einem Tastdruck mehr. Und damit immer noch deutlich komfortabler, als "/Einkauf" zu tippen.
LG
pah
Zitat von: viegener am 17 Dezember 2016, 10:52:18
Kann es sein, dass Du das Attribute textResponseResult gesetzt hast (Wenn ja auf welchen Wert?)
@pah - Kann es sein, dass Du dieses Attribut auf "none" gesetzt hast? Das würde auch erklären, warum Du den extracode zum rausfiltern von "none" in deinem Beitrag weiter oben hattest?
Setze das Attribut mal auf "\t", das sollte die Meldung entfernen, ausserdem habe ich gerade einen FIX eingecheckt, damit telegram sich nicht über die leere Nachricht beschwert...
Kann es sein, dass Du das Attribute textResponseResult
Ah, stimmt. Mein Fehler, danke für den Hinweis.
Noch ein Tipp für das nächste Release: entweder ein INTERNAL oder einen get-Befehl, mit dem eine Versionsnummer abgefragt werden kann.
LG
pah
Die aktuellste Version enthält jetzt noch einen neuen Fehler.
Sendet man von einem Telegram-Client ein beliebiges Kommando (egal ob aus den Favorites oder einfach mit MagicWord), bekommt man im Log immer den Fehler
2016-12-17 15:34:53 TelegramBot Telegram sentMsgResult: Callback returned error:Bad Request: Message must be non-empty:
2016-12-17 15:34:53 TelegramBot Telegram sentMsgId:
Es sieht so aus, als ob auch bei "normalen" Kommandos immer die Callback-Funktion aufgerufen wird, allerdings ohne Parameter.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 17 Dezember 2016, 15:40:23
Die aktuellste Version enthält jetzt noch einen neuen Fehler.
Sendet man von einem Telegram-Client ein beliebiges Kommando (egal ob aus den Favorites oder einfach mit MagicWord), bekommt man im Log immer den Fehler
2016-12-17 15:34:53 TelegramBot Telegram sentMsgResult: Callback returned error:Bad Request: Message must be non-empty:
2016-12-17 15:34:53 TelegramBot Telegram sentMsgId:
Es sieht so aus, als ob auch bei "normalen" Kommandos immer die Callback-Funktion aufgerufen wird, allerdings ohne Parameter.
LG
pah
Ja, ist gefixt, telegram lehnt auch Nachrichten ab, die nur aus Steuerzeichen bestehen, das filtere ich jetzt auch raus
Danke !
LG
pah
Hallo viegener!
Habe folgende Zeile eingegeben:
set teleBot queryInline (Port4ein:set prxPortB4 on) (Port4aus:set prxPortB4 off) Ports ein aus
Nun erscheinen in Telegram 2 Buttons. Wenn ich darauf drücke erscheint in der unteren Ecke des Button eine kleine Uhr. Aber in Fhem keine Schalt-Reaktion. Im Monitor sehe ich das was daherkommt. Muss ich in der neuesten Version des Moduls auch in myUtils was reinschreiben oder ein notify anlegen? die Setbefehle direkt in Telegram funktionieren.
Monitor:
d set prxPortB4 on
2016-12-17 21:16:37 TelegramBot teleBot msgId: 50
2016-12-17 21:16:37 TelegramBot teleBot msgPeer: Wolfgang_Thiess
2016-12-17 21:16:37 TelegramBot teleBot msgChat:
2016-12-17 21:16:37 TelegramBot teleBot msgPeerId: 316399906
2016-12-17 21:16:37 TelegramBot teleBot msgText: d set prxPortB4 off
2016-12-17 21:16:37 TelegramBot teleBot msgFileId:
2016-12-17 21:16:37 I2C_MCP23017 icMCP23017 Ok
2016-12-17 21:16:37 I2C_MCP23017 icMCP23017 Ok
2016-12-17 21:16:37 TelegramBot teleBot sentMsgResult: SUCCESS
2016-12-17 21:16:37 TelegramBot teleBot sentMsgId: 51
Button:
2016-12-17 21:17:12 TelegramBot teleBot callbackID: 1358927249730274231
2016-12-17 21:17:12 TelegramBot teleBot callbackPeer: Wolfgang_Thiess
2016-12-17 21:17:12 TelegramBot teleBot callbackPeerId: 316399906
2016-12-17 21:17:12 TelegramBot teleBot callbackData: set prxPortB4 off
2016-12-17 21:17:12 TelegramBot teleBot callbackReplyMsgId: 31
lg
Wolgang
Es muss ein notify angelegt werden, Kommandos können nicht direkt angegeben werden. Steht alles in der Commandref...
LG
pah
Zitat von: wthiess am 17 Dezember 2016, 21:11:54
Hallo viegener!
Habe folgende Zeile eingegeben:
set teleBot queryInline (Port4ein:set prxPortB4 on) (Port4aus:set prxPortB4 off) Ports ein aus
Nun erscheinen in Telegram 2 Buttons. Wenn ich darauf drücke erscheint in der unteren Ecke des Button eine kleine Uhr. Aber in Fhem keine Schalt-Reaktion. Im Monitor sehe ich das was daherkommt. Muss ich in der neuesten Version des Moduls auch in myUtils was reinschreiben oder ein notify anlegen? die Setbefehle direkt in Telegram funktionieren.
Monitor:
d set prxPortB4 on
2016-12-17 21:16:37 TelegramBot teleBot msgId: 50
2016-12-17 21:16:37 TelegramBot teleBot msgPeer: Wolfgang_Thiess
2016-12-17 21:16:37 TelegramBot teleBot msgChat:
2016-12-17 21:16:37 TelegramBot teleBot msgPeerId: 316399906
2016-12-17 21:16:37 TelegramBot teleBot msgText: d set prxPortB4 off
2016-12-17 21:16:37 TelegramBot teleBot msgFileId:
2016-12-17 21:16:37 I2C_MCP23017 icMCP23017 Ok
2016-12-17 21:16:37 I2C_MCP23017 icMCP23017 Ok
2016-12-17 21:16:37 TelegramBot teleBot sentMsgResult: SUCCESS
2016-12-17 21:16:37 TelegramBot teleBot sentMsgId: 51
Button:
2016-12-17 21:17:12 TelegramBot teleBot callbackID: 1358927249730274231
2016-12-17 21:17:12 TelegramBot teleBot callbackPeer: Wolfgang_Thiess
2016-12-17 21:17:12 TelegramBot teleBot callbackPeerId: 316399906
2016-12-17 21:17:12 TelegramBot teleBot callbackData: set prxPortB4 off
2016-12-17 21:17:12 TelegramBot teleBot callbackReplyMsgId: 31
lg
Wolgang
Die Schaltbefehle musst Du selber über ein notify (oder ähnliches) auslösen basierend auf dem Inhalt der callback... Readings (vor allem callbackData)
Mit dem Attribut queryAnswerText kannst Du steuern, ob der telegramBot automatisch eine Antwort schicken soll
Danke für die Antworten. Leider verstehe ich das nicht.
Ich geb's auf. Gebe mich mit den Favoriten zufrieden. Die funktionieren super.
lg
Wolfgang
Zitat von: wthiess am 17 Dezember 2016, 22:58:17
Danke für die Antworten. Leider verstehe ich das nicht.
Ich geb's auf. Gebe mich mit den Favoriten zufrieden. Die funktionieren super.
lg
Wolfgang
Deine Entscheidung - ich denke man könnte hier noch helfen - denn notify und mit FHEM Kommandos reagieren auf events (also Änderungen von Readings) ist ja in FHEM nicht gerade ein Sonderfall ;)
Ich habe mir gerade nochmal die Benennung angeschaut und gedacht, das das auch konsistenter geht, bevor ich das ins normale update gebe:
Also Achtung: Umbenennung der bisherigen callback... Readings nach query....
Also heissen jetzt alle Teile (set-Befehl/attribute und auch Readings) im Umfeld der inline keyboard "queries" gleich.
Ich habe gerade dafür eine neue Version in github hochgeladen. Damit diese aktiv wird, muss aber der FHEM-Server einemal durchgestartet werden.
Sorry an alle, die jetzt ihre notifies anpassen müssen
Johannes
Hallo Johannes!
Zitatich denke man könnte hier noch helfen
#Telegram
define teleBot TelegramBot xxxxxxxxxxxxxxxxxx
attr teleBot cmdFavorites /s
attr teleBot cmdKeyword d
attr teleBot cmdRestrictedPeer xxxxxxxxxxxxxxxxx
attr teleBot defaultPeer xxxxxxxx_xxxxxxxxxxx
attr teleBot favorites [Port5 ein]=set prxPortB5 on;; [Port5 aus]=set prxPortB5 off;; [Port4 ein]=set prxPortB4 on;; [Port4 aus]=set prxPortB4 off;; [SVG_FileLog_Temp_Ist_1]=set svgsend on
attr teleBot pollingTimeout 120
attr teleBot room Telegram
define teleBot1 notify queryData:prxPortB4on set prxPortB4 on
attr teleBot1 room Telegram
define teleBot2 notify queryData:prxPortB4off set prxPortB4 off
attr teleBot2 room Telegram
Buttonerzeugung:
#set teleBot queryInline (Port4ein:prxPortB4on) (Port4aus:prxPortB4off) Ports ein aus
Ich mach noch einen Versuch! Kannst mir mein Notify ändern? Ich sehe wie sich das Reading ändert, kann es aber nicht auswerten, weil ich den Sysntax nicht hinbekomme.
lg
Wolfgang
Zitat von: wthiess am 17 Dezember 2016, 23:55:02
Hallo Johannes!
#Telegram
define teleBot TelegramBot xxxxxxxxxxxxxxxxxx
attr teleBot cmdFavorites /s
attr teleBot cmdKeyword d
attr teleBot cmdRestrictedPeer xxxxxxxxxxxxxxxxx
attr teleBot defaultPeer xxxxxxxx_xxxxxxxxxxx
attr teleBot favorites [Port5 ein]=set prxPortB5 on;; [Port5 aus]=set prxPortB5 off;; [Port4 ein]=set prxPortB4 on;; [Port4 aus]=set prxPortB4 off;; [SVG_FileLog_Temp_Ist_1]=set svgsend on
attr teleBot pollingTimeout 120
attr teleBot room Telegram
define teleBot1 notify queryData:prxPortB4on set prxPortB4 on
attr teleBot1 room Telegram
define teleBot2 notify queryData:prxPortB4off set prxPortB4 off
attr teleBot2 room Telegram
Buttonerzeugung:
#set teleBot queryInline (Port4ein:prxPortB4on) (Port4aus:prxPortB4off) Ports ein aus
Ich mach noch einen Versuch! Kannst mir mein Notify ändern? Ich sehe wie sich das Reading ändert, kann es aber nicht auswerten, weil ich den Sysntax nicht hinbekomme.
lg
Wolfgang
Wie gesagt ich kann helfen, auch wenn das ganz oben in derCommandref zu notify steht:
Zitat<Suchmuster> ist entweder der Name des auslösenden ("triggernden") Gerätes oder die Kombination aus Gerät und auslösendem Ereignis (Event) Gerätename:Event.
Bei Dir ist es aber nur ein Reading/Event name - Der device fehlt
define teleBot1 notify teleBot:queryData.*prxPortB4on set prxPortB4 on
attr teleBot1 room Telegram
Danke Johannes! Funktioniert.
Ich habe alle Varianten probiert aber immer einen kleine Fehler im Syntax. Ich habe alles gelesen aber ich verstehe vieles nicht. Ich bin kein Programmierer. Ich bin Elektriker mit EDV-Kenntnissen.
lg
Wolfgang
Zitat von: wthiess am 18 Dezember 2016, 00:27:15
Danke Johannes! Funktioniert.
Ich habe alle Varianten probiert aber immer einen kleine Fehler im Syntax. Ich habe alles gelesen aber ich verstehe vieles nicht. Ich bin kein Programmierer. Ich bin Elektriker mit EDV-Kenntnissen.
lg
Wolfgang
Ist doch schön, dass es geht.
Das mit dem Programmieren ist kein Thema, trotzdem ist es gut zentrale Konzepte wie events und wie man darauf ein notify definiert zu verstehen. Die Hürde regular expressions / regexp verstehe auch, das erfordert etwas mehr einarbeitung
Guten Morgen !
Neue Version ist bei mir aufgespielt, inklusive "callback" -> "query". Vielleicht kannst Du bei Gelegenheit noch (der Konsistenz halber) den Namen des Readings "queryID" in "queryId" ändern.
Ich habe das jetzt mit den Parametern so gelöst:
1.Benutzer tippt im Client auf den Button "Einkauf hinzu"
2.Im FHEM wird über ein notify, das auf queryData triggert, meine Erkennungsroutine aufgerufen
3.Diese stellt fest, dass etwas hinzugefügt werden soll sendet an den Client eine msgForceReply "Eingabe hinzuzufügender Posten"
4.Im TelegramBot wird ein Userreading gesetzt auf "add Einkaufsliste"
5. Client sendet die Antwort des Users nach Eingabe an FHEM. Dasselbe notify triggert AUCH auf msgReplyMsgId und ruft erneut die Erkennungsroutine
6. Erkennungsroutine weiß aus dem userReading, was sie zu tun hat und führt aus "set Task set PostIt add Einkaufsliste Gegenstand".
Bilder dazu gibt es hier: https://wiki.fhem.de/wiki/Modul_PostMe#Noch_komfortabler_verwalten_mit_Inline-Keyboards
Ich sage mal: Sehr hoher WAF.
LG
pah
@pah: Ich sage mal reife Leistung - und sehr schön dokumentiert - Danke!
Die Einkaufsliste aus Chorizo und Kalbsgulasch erscheint mir aber nicht vollständig ;)
Hallo!
Ich habe bitte wieder eine Frage! Kann man die Antwort abschalten?
Ich sende einen Behehl. Dann kommen die Button's und eine Meldung:
lg
Wolfgang
Ja, das steht ein paar EInträge über diesem. Es gibt das Attribut "textResponseResult". Dieses kann man auf einen Wert setzen, der dann herausgefiltert wird (Also z.B. "\n") - also quasi eine leere Meldung.
Achso jetzt kenn ich schon selber die Funktionen nicht mehr:
Es gibt auch ein Attribut "cmdReturnEmptyResult", wenn das auf 0 gesetzt wird, kommen diese Meldungen nur, wenn das Ergebnis eine (Fehler-)meldung ist.
Hallo,
habe ein Problem und brauche Hilfe.
Seit längerer Zeit sendet Telegram aus FHEM - alles ok.
Jetzt sitze ich schon einige Zeit und möchte Befehle an FHEM senden. Bekomme eine forbidden-Meldung.
Hier meine def:
attr telebotdevice allowUnknownContacts 0
attr telebotdevice cmdFavorites /cmd
attr telebotdevice cmdKeyword FHEM
#attr telebotdevice cmdRestrictedPeer 243146746 248832587
attr telebotdevice cmdReturnEmptyResult 0
attr telebotdevice favorites set Jalousie_Modus manuell;;set Jalousie_Modus auto
attr telebotdevice pollingTimeout 20
attr telebotdevice room Telegram
attr telebotdevice defaultPeer @hb15370_ubot
Wenn ich an FHEM /cmd1 sende erhalte ich:
TelegramBot FHEM :
Befehl:set Jalousie_Modus manuell:
Ergebnis:
Forbidden command set.
und im LOG steht
2016.12.19 15:27:12 3: TelegramBot_SendIt telebotdevice: Failed with :FAILED peer not found :@hb15370_ubot::
2016.12.19 15:27:12 3: TelegramBot_Callback telebotdevice: resulted in :NonBlockingGet: returned FAILED peer not found :@hb15370_ubot:: from SendIt
Der Bot benutzt doch aber den peer zum Senden und das geht ja.
Lob:Die Doku ist sehr gut und schön ausführlich.
VG boeho
@boeho: Kann es sein, dass Du mal das attribute "allowedCommands" verwendet hast?
Diese Meldung kommt, wenn eine Einschränkung per allowedCommands definiert hast - dadurch gibt es ein device allowed_... wobei ... der Name Deines telegrambot devices ist
Hallo viegener,
das war perfekt. Grosses Lob.
Habe dieses device und seine attr gelöscht und alles lief sofort
Danke boeho
Gern geschehen, und diese Struktur mit den allowedCommands kann etwas überraschend sein und nicht vollständig intuitiv,
Johannes
Da es mir das PostMe Modul von pah doch sehr angetan hat, habe ich ein wenig an TelegramBot erweitert, damit man gesendete inlineKeyboards auch nachträglich noch ändern kann. Damit ist soetwas wie ein "inline" Dialog möglich, ähnlich wie es der Botfather macht.
Dazu sind verschiedene Dinge hinzugekommen (erstmal in github):
- Neuer set-Befehl queryEditInline um Nachricht oder Keyboard zu ändern (dazu muss die ursprüngliche msgId angegeben werden)
- Kommandos aus Favoriten und an anderer Stelle werden jetzt erst durch die set-logik umgesetzt, damit man auch Readings in Favorites und auch bei QueryAnswerText einsetzen kann
Achtung: Letzteres ist an sich eine inkompatible Änderung, da nun eckige Klammern in den Befehle unter Umständern vor der Ausführung ersetzt werden - Wenn das Probleme macht gibt es auch eine andere Lösung aber ich finde die set-logik so schön übersichtlich
Ich habe auch mal eine myUtils-Routine eingebaut mit der man eine PostMe-Liste inline editieren kann. Die poste ich hier auch noch.
Sehr toll, vielen Dank :D
Gerade im Vergleich mit Whatsapp ein sehr stabiles und tolles Modul, das nochdazu gut unterstützt wird!
Todo- oder Einkaufsliste als inline ChatBot-Dialog:
Wie sieht das aus (leider bin ich zu doof die Bilder hier inline anzuzeigen - also siehe unten)
Aufruf mit /todo - todolist_1
Neuen Eintrag erzeugen durch Click auf "add" - todolist_2
Text Für Eintrag eingeben und abschicken - Neuer Eintrag wird in der liste angezeigt - todolist_3
Clicken auf einen Eintrag - Erzeugt Nachfrage ob gelöscht werden soll - todolist_4
Nach dem Bestätigen erscheint die kürzere Liste - todolist_5
Textliste wird angezeigt nach Click auf OK - todolist_6
Anleitung:
Anmerkung: Ich habe versucht das weitgehend zu verallgemeinern, vielleicht probiert es jemand mal aus - Feedback ist erwünscht!
Folgende Devices sollte es geben:
Ein Telegrambot - sagen wir mal LISTBOT
Ein PostMe Device - sagen wir mal LISTME mit einer Liste im Code ist die Annahme mal, dass es nur eine gibt
Folgende Settings sind wichtig im LISTBOT
attr LISTBOT favorites /todo={(JVTODO_listmanager("[LISTBOT:msgPeerId]","list",undef))};
attr LISTBOT queryAnswerText {(JVTODO_listmanager("[LISTBOT:queryPeerId]","[LISTBOT:queryData]",undef))}
und natürlich die Einrichtung mit polling, defaultPeer und restrictedPeer etc, damit Kommandos ausgeführt werden können.
Ein Dummy device jvtodolistmsgdummy
Zwei Notify devices
define jvtodolistmsgnotify notify LISTBOT:sentMsgId.* IF ( [LISTBOT:&sentMsgText] eq [jvtodolistmsgdummy] ) ( {JVTODO_listmanager(InternalVal("LISTBOT","sentMsgPeerId","0"),"msgid",$EVTPART1)}, set jvtodolistmsgdummy $EVTPART1 )
und
define jvtodolistreplynotify notify LISTBOT:msgReplyMsgId.* IF ( $EVTPART1 != 0 ) ( {JVTODO_listmanager(ReadingsVal("LISTBOT","msgPeerId","0"),"reply",$EVTPART1)})
Diese sorgen dafür, dass msgIds und replyMsgIds nach erfolgreichem Senden / Empfangen zugeordnet werden können
Die eigentlich Verarbeitung findet aber in einer zentralen myUtils-Routine statt. Also den folgenden Code in die myUtils einfügen und nach dem anpassen der globalen Variablenwerte im oberen Teil neustarten (bzw. reload)
##############################################
#### Handle Todolist
##############################################
my $JVTODO_bot = "LISTBOT";
my $JVTODO_list = "todolist";
my $JVTODO_postme = "LISTME";
my $JVTODO_msgdummy = "jvtodolistmsgdummy";
my %JVTODO_inlinechats = ();
##############################################
# list or specific entry number
#
sub JVTODO_getList(;$)
{
my ($entry) = @_;
# get the list of entries in the list - needs to be changed if the list is not number 1
my $listCont = ReadingsVal($JVTODO_postme,"postme01Cont","");
my @entries = split( /,/, $listCont );
if ( defined( $entry ) ) {
return undef if ( ( $entry < 0 ) || ( $entry > scalar(@entries) ) );
return $entries[$entry];
}
return @entries;
}
##############################################
# peer, cmd, arg
#
sub JVTODO_listmanager($$$)
{
my ($peer, $cmd, $arg) = @_;
Log 3,"JVTODO_listmanager: peer :$peer: cmd :$cmd: ".(defined($arg)?"arg :$arg:":"");
#####################
if ( $cmd eq "msgid" ) {
my $key = $peer."_store";
if ( defined( $JVTODO_inlinechats{$key}) ) {
# reply received
my $replykey = $peer."_reply";
$JVTODO_inlinechats{$replykey} = $arg;
$JVTODO_inlinechats{$peer} = $JVTODO_inlinechats{$key};
delete( $JVTODO_inlinechats{$key} );
} else {
$JVTODO_inlinechats{$peer} = $arg;
}
#####################
} elsif ( $cmd eq "reply" ) {
# reply with msgId != 0 received
# check for expected reply and then remove expectations and handle add
my $replykey = $peer."_reply";
if ( ( defined( $JVTODO_inlinechats{$replykey}) ) && ($JVTODO_inlinechats{$replykey} eq $arg) ) {
delete( $JVTODO_inlinechats{$replykey} );
my $msgText = ReadingsVal( $JVTODO_bot, "msgText", "" );
JVTODO_listmanager( $peer, "list_add", $msgText );
}
#####################
} elsif ( $cmd eq "list_ok" ) {
# ok means clean buttons and show only list
# start the inline
my $inline = "(start:list) ";
my $liste = "";
# get the list of entries in the list
my @list = JVTODO_getList();
foreach my $entry ( @list ) {
$liste .= "\n".$entry;
}
my $textmsg = "Liste ".$JVTODO_list;
$textmsg .= " ist leer " if ( scalar(@list) == 0 );
$textmsg .= " : $arg " if ( defined($arg) );
$textmsg .= $liste;
my $msgId = $JVTODO_inlinechats{$peer};
if ( defined($msgId ) ) {
# show new list
fhem( "set $JVTODO_bot queryEditInline $msgId $inline $textmsg" );
} else {
Log 1,"JVTODO_listmanager: ERROR no msgId known for peer :$peer: cmd :$cmd: ".(defined($arg)?"arg :$arg:":"");
}
#####################
} elsif ( $cmd eq "list_empty" ) {
# empty means clean buttons and show only list
my $msgId = $JVTODO_inlinechats{$peer};
if ( defined($msgId ) ) {
# show new list
fhem( "set $JVTODO_bot queryEditInline $msgId DONE" );
} else {
Log 1,"JVTODO_listmanager: ERROR no msgId known for peer :$peer: cmd :$cmd: ".(defined($arg)?"arg :$arg:":"");
}
#####################
} elsif ( ( $cmd eq "list" ) || ( $cmd eq "list_edit" ) ) {
# list means create button table with list entries
# start the inline
my $inline = "(ok:list_ok|add:list_askadd) ";
# get the list of entries in the list
my @list = JVTODO_getList();
my $nre = 0;
foreach my $entry ( @list ) {
$inline .= "(".$entry.":list_rem-".$nre.") ";
$nre++;
}
my $textmsg = "Liste ".$JVTODO_list;
$textmsg .= " ist leer " if ( scalar(@list) == 0 );
$textmsg .= " : $arg " if ( defined($arg) );
if ( $cmd eq "list" ) {
# store text msg to recognize msg id in dummy
fhem( "set $JVTODO_msgdummy $textmsg" );
# send msg and keys
fhem( "set $JVTODO_bot queryInline $inline $textmsg" );
} else {
my $msgId = $JVTODO_inlinechats{$peer};
if ( defined($msgId ) ) {
# show new list
fhem( "set $JVTODO_bot queryEditInline $msgId $inline $textmsg" );
} else {
Log 1,"JVTODO_listmanager: ERROR no msgId known for peer :$peer: cmd :$cmd: ".(defined($arg)?"arg :$arg:":"");
}
}
#####################
} elsif ( $cmd eq "list_add" ) {
# means add entry to list
fhem( "set $JVTODO_postme add $JVTODO_list ".$arg );
my $msgId = $JVTODO_inlinechats{$peer};
if ( defined($msgId ) ) {
# empty old list now and start a new list message
JVTODO_listmanager( $peer, "list_empty", undef );
# show new list -> call recursively
JVTODO_listmanager( $peer, "list", " Eintrag hinzugefügt" );
} else {
Log 1,"JVTODO_listmanager: ERROR no msgId known for peer :$peer: cmd :$cmd: ".(defined($arg)?"arg :$arg:":"");
}
#####################
} elsif ( $cmd =~ /^list_remyes-(\d+)$/ ) {
# means remove a numbered entry from list - now it is confirmed
my $no = $1;
my @list = JVTODO_getList();
if ( ( $no >= 0 ) && ( $no < scalar(@list) ) ) {
fhem( "set $JVTODO_postme remove $JVTODO_list ".$list[$no] );
# show updated list -> call recursively
JVTODO_listmanager( $peer, "list_edit", " Eintrag gelöscht" );
}
#####################
} elsif ( $cmd =~ /^list_rem-(\d+)$/ ) {
# means remove a numbered entry from list - first ask
my $no = $1;
my @list = JVTODO_getList();
if ( ( $no >= 0 ) && ( $no < scalar(@list) ) ) {
# post new msg to ask for removal
my $msgId = $JVTODO_inlinechats{$peer};
if ( defined($msgId ) ) {
# show ask for removal
my $textmsg = "Liste ".$JVTODO_list."\nSoll der Eintrag $no (".$list[$no].") entfernt werden?";
# show ask msg
fhem( "set $JVTODO_bot queryEditInline $msgId (Ja:list_remyes-$no) (Nein:list_edit) $textmsg" );
} else {
Log 1,"JVTODO_listmanager: ERROR no msgId known for peer :$peer: cmd :$cmd: ".(defined($arg)?"arg :$arg:":"");
}
}
#####################
} elsif ( $cmd eq "list_askadd" ) {
my $key = $peer."_store";
$JVTODO_inlinechats{$key} = $JVTODO_inlinechats{$peer};
my $textmsg = "Liste ".$JVTODO_list." Neuen Eintrag eingeben:";
# store text msg to recognize msg id in dummy
fhem( "set $JVTODO_msgdummy $textmsg" );
# means ask for an entry to be added to the list
fhem( "set $JVTODO_bot msgForceReply $textmsg" );
}
return 0;
}
Schöne Sache. Funktioniert im Schnelltest aber leider noch nicht, weil mein Update des Moduls nicht klappt. Teste ich später noch mal.
Die beiden notifies haben noch denselben Namen.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 22 Dezember 2016, 16:06:25
Schöne Sache. Funktioniert im Schnelltest aber leider noch nicht, weil mein Update des Moduls nicht klappt. Teste ich später noch mal.
Die beiden notifies haben noch denselben Namen.
LG
pah
Danke, Namen sind angepasst
Na, dann wollen wir mal sehen, ob man das aus PostMe nicht noch etwas besser unterstützen kann.
Die angehängte Version des PostMe-Moduls (2.0beta) bietet eine Routine an
ZitatPostMe_tgi(<devicename>,<listenname>)
mit der eine beliebige Liste in einem Format für Inline-Keyboards zurückgegeben wird. Und zwar in der Form
(Gegenstand 1:item00) (Gegenstand 2:item01) .... Listenname
Das kann man also unmittelbar als Inline-Keyboad versenden, und die Rückgabewerte item00 ... dann wieder in einer eigenen Routine auswerten.
Ich werde vielleicht heute im Laufe des vormittags dazu kommen, auch noch eine auf die Zusammenarbeit mit dem TelegramBot optimierte Hinzufüge- und Löschfunktion einbauen kann.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 23 Dezember 2016, 08:06:58
Na, dann wollen wir mal sehen, ob man das aus PostMe nicht noch etwas besser unterstützen kann.
Die angehängte Version des PostMe-Moduls (2.0beta) bietet eine Routine anmit der eine beliebige Liste in einem Format für Inline-Keyboards zurückgegeben wird. Und zwar in der Form
(Gegenstand 1:item00) (Gegenstand 2:item01) .... Listenname
Das kann man also unmittelbar als Inline-Keyboad versenden, und die Rückgabewerte item00 ... dann wieder in einer eigenen Routine auswerten.
Ich werde vielleicht heute im Laufe des vormittags dazu kommen, auch noch eine auf die Zusammenarbeit mit dem TelegramBot optimierte Hinzufüge- und Löschfunktion einbauen kann.
LG
pah
Klingt gut, wäre es auch möglich eine ähnliche Funktion bereitzustellen, die nur die Listeneinträge zurückliefert (als array)?
Hintergrund: Wenn man jemals zwei Listen mischen will oder in anderer Form das Keyboard anpassen will, ist das mit dem generischen Array immer möglich.
Achso und: Ich muss zugeben, ich habe jetzt nicht im PostMe-Thread geschaut, aber es wäre schön, wenn man Kommata in einem Eintrag verwenden könnte, da bin ich sofort auf die Nase gefallen beim Testen. Vielleicht durch Ersetzung intern im PostMe-Modul?
Mit den Kommata wollte ich eigentlich nicht aufräume, die sollten tatsächlich die Trenner der Items bleiben. Wozu willst Du sie denn verwenden ?
Eine Array-Funktion kann ich einbauen. Derzeit bastele ich noch daran, dass man auch Listen einer entfernten FHEM-Instanz aufrufen kann.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 23 Dezember 2016, 11:26:56
Mit den Kommata wollte ich eigentlich nicht aufräume, die sollten tatsächlich die Trenner der Items bleiben. Wozu willst Du sie denn verwenden ?
Eine Array-Funktion kann ich einbauen. Derzeit bastele ich noch daran, dass man auch Listen einer entfernten FHEM-Instanz aufrufen kann.
LG
pah
Ein Anwendungsfall bei mir ist eine Todo-Liste, die anders als eine Einkaufsliste auch kleine Texte enthält, also so etwas wie "Weihnachtskarten - Mutter, Vatter, Onkel abgeben". Da ich nicht ausschliessen kann, dass solche Einträge hier gemacht werden, dachte ich es wäre einfacher das programmatisch auszuschliessen und im Modul zu kapseln. Bisher sind ja die Befehle zum Hinzufügen eher für Einzeleinträge, also wird da eigentlich kein Komma als Trennzeichen benötigt.
Ich hatte geadcht an eine Art der Maskierung intern, ich (also z.B. ,, oder \, wird nicht als Trenner gewertet
Zitat von: viegener am 23 Dezember 2016, 11:43:03
"Weihnachtskarten - Mutter, Vatter, Onkel abgeben".
Ah.. danke! Jetzt verstehe ich einen Fehler de rmir vorhin aufgefallen ist :D
Aber darin siehst du das Problem: Mutter,Vatter, Onkel ist eine Liste - und der natürlichste Listentrenner ist und bleibt eben das Komma. Ist also eine Frage der Usability.
Gerade bei der "add"-Funktion kann man somit eine Vielzahl von Listen-"Items" in einem Befehl eintragen.
Ich schlage vor, statt dem eher un-ergonomischen \, entweder ein "+" oder ein ";" einzusetzen.
LG
pah
Hallo zusammen,
besteht schon die Möglichkeit das eigene Keyboard nach Benutzung nicht verschwinden zu lassen, Stichwort "ReplyKeyboardRemove".
Aktuell habe ich es damit gelöst erneut eine Message mit dem Keyboardinhalt zu senden. Aber zwischendurch schaltet sich immer das Default-Keyboard ein.
Besinnliche Grüße
Sorry, ich hab die API Dokumentation falsch verstanden. Was ich brauche ist wahrscheinlich Zugriff auf dem Flag "one_time_keyboard" für ReplyKeyboardMarkup.
Zitat von: Vampy20 am 23 Dezember 2016, 17:58:42
Sorry, ich hab die API Dokumentation falsch verstanden. Was ich brauche ist wahrscheinlich Zugriff auf dem Flag "one_time_keyboard" für ReplyKeyboardMarkup.
Ich nehme das mal auf die TODOliste für das Modul, wobei ich jetzt noch keine Idee habe, wie sich das sinnvoll in den set-Befehl einbinden lässt
Was ist denn der Anwendungsfall?
Anbei eine neue Version des PostMe-Moduls, mit zwei neuen subroutinen:
PostMe_tgi(<postmedevice>,<listenname>) - liefert eine Liste in Telegram-Syntax
PostMe_tgk(<postmedevice>,<listenname>)- liefert eine Liste einfach als Array (muss im Array-Kontext aufgerufen werden.
Kann man auch remote aufrufen, z.B. mit einem Shell-Skript
#!/bin/bash
postme=$1
liste=$2
FHEMIP=192.168.0.XXX
echo "{PostMe_tgi('$postme','$liste')}" | socat -t50 - TCP:$FHEMIP:7072
Da meine Frau die bereits im WIki dokumentierte Fassung der Listensteuerung mit Telegram bevorzugt (also nicht-klickbare Items ...), wird meine Auswertungsroutine etwas komplizierter. Für mich selbst habe ich das inzwischen so realisiert, wie unten auf dem Bild dargestellt:
Klicken auf den Item löscht diesen, fürs Hinzufügen gibt es einen Extrabutton.
LG
pah
Zitat von: viegener am 24 Dezember 2016, 01:31:09
Was ist denn der Anwendungsfall?
Ich habe mir eine verschachtelte Struktur von Keyboards gebaut. Je nach Aktion wird die Ebene gewechselt (hoch/runter) oder man bleibt auf der aktuellen. Im angehängtem Beispiel befinde ich mich bereits auf der Ebene 1 (Lichtersteuerung). Von hier geht es nicht weiter runter, sondern nur noch nach oben zum Hauptmenü.
Mit der aktuellen Implementierung habe ich folgendes Verhalten. Man drückt einen Knopf, die Default-Tastatur wird sofort eingeblendet. FHEM seitig führe ich die entsprechende Aktion aus und schicke das passende Keyboard erneut zurück. Mich hat das "Flackern" der Tastatur gestört.
Ich hab gestern einen "dirty Hack" eingebaut und kann jetzt das Verhalten über das Attribut
oneTimeKeyboard beeinflussen.
Frohe Weihnachten!
Das ist leider ein klarer Verstoß gegen die GPL
Generell: Natürlich steht es jedem frei, Module zu verändern. Allerdings besagt die Lizenz auch, dass eine Publikation (und als solche ist das Anhängen eines Moduls in einem öffentlich zugänglichen Forum zu verstehen) von veränderten Dateien nicht mit den originalen Metadaten erfolgen darf.
ALSO: Dokumentation muss sein. Bitte nicht "gehackte" Module ohne klaren Hinweis darauf, WAS geändert worden ist, irgendwo hinstellen.
LG
pah
Edit: OK, danke.
Zitat von: Prof. Dr. Peter Henning am 24 Dezember 2016, 10:23:16
Das ist leider ein klarer Verstoß gegen die GPL >:( >:( >:(
Generell: Natürlich steht es jedem frei, Module zu verändern. Allerdings besagt die Lizenz auch, dass eine Publikation (und als solche ist das Anhängen eines Moduls in einem öffentlich zugänglichen Forum zu verstehen) von veränderten Dateien nicht mit den originalen Metadaten erfolgen darf.
ALSO: Dokumentation muss sein. Bitte nicht "gehackte" Module ohne klaren Hinweis darauf, WAS geändert worden ist, irgendwo hinstellen.
LG
pah
Du hast natürlich Recht, ich habe meinen Beitrag geändert. Sorry, ich war heute früh etwas voreilig. Ich werde im Laufe des Tages die Dokumentation anpassen und das Modul erneut hochladen.
Anbei die angepasste Version. Mittels des eingeführten Attributs oneTimeKeyboard kann man das Verhalten des Keyboards auf Client Seite beeinflussen.
Default Wert ist 1, das eigene Keyboard wird nach dem Benutzen durch das Default Keyboard ersetzt.
Wert 0 definiert, dass das eigene Keyboard angezeigt wird bis es durch ein neues ersetzt wird oder der Benutzer selber umschaltet.
Es ist nicht gerade elegant, aber es tut was es soll.
Grüße,
Peter
Hallo!
Neue Anforderung: Ich möchte einen Temperaturwert abfragen. Mit
d get DS18B20_FFB804361603 temperature
bekomme ich
TelegramBot FHEM :
Befehl:get DS18B20_FFB804361603 temperature:
Ergebnis:
-1.25
Funktioniert. Aber ich möchte nur den Wert "-1.25"
geht das?
lg
Wolfgang
Ja, das geht auf verschiedene Art, es gibt einmal ein entsprechendes Attribut für textnachrichten / Rückgaben textResponseResult .
Eigentlich wäre es aber besser, wenn Du Dir ein Kommando baust, dass die Daten in einem selbstgewählten Text zurückliefert, da obiges Attribut die Rückgabe für alle Kommandos verändert. Also irgendetwas, das eine Nachricht mit dem entsprechenden Reading-Wert versendet.
Zitat von: Vampy20 am 24 Dezember 2016, 10:01:40
Ich habe mir eine verschachtelte Struktur von Keyboards gebaut. Je nach Aktion wird die Ebene gewechselt (hoch/runter) oder man bleibt auf der aktuellen. Im angehängtem Beispiel befinde ich mich bereits auf der Ebene 1 (Lichtersteuerung). Von hier geht es nicht weiter runter, sondern nur noch nach oben zum Hauptmenü.
Mit der aktuellen Implementierung habe ich folgendes Verhalten. Man drückt einen Knopf, die Default-Tastatur wird sofort eingeblendet. FHEM seitig führe ich die entsprechende Aktion aus und schicke das passende Keyboard erneut zurück. Mich hat das "Flackern" der Tastatur gestört.
Ich hab gestern einen "dirty Hack" eingebaut und kann jetzt das Verhalten über das Attribut oneTimeKeyboard beeinflussen.
Frohe Weihnachten!
Hast Du Dir mal die inlinekeyboards angeschaut?
Für Todolisten gibt es einen netten Support in der neuen Version des PostMe-Moduls, die automatische Erinnerungen versendet:
https://forum.fhem.de/index.php/topic,59717.msg546191.html#msg546191
LG
pah
Zitat von: Prof. Dr. Peter Henning am 25 Dezember 2016, 13:44:42
Für Todolisten gibt es einen netten Support in der neuen Version des PostMe-Moduls, die automatische Erinnerungen versendet:
https://forum.fhem.de/index.php/topic,59717.msg546191.html#msg546191
LG
pah
Sieht gut aus, sobald ich die ganhze Familie auf die neue Einkaufsliste angelernt habe, wäre das eine schöne Erweiterung
Habe gerade die aktuelle Version aus github ins SVN geladen. Damit werden die Funktionen, die hier im Thread schon einige Zeit besprochen werden ab morgen über update verfügbar:
- keyboards in Nachrichten
- inline keyboards und Antworten (siehe Beispiele weiter oben) - query...
- msgForceReply um eine Antwort für Nachrichten einzufordern
- diable attribut
- get update um ohne polling updates einzuholen
- Unterstützung für set-Logik in Kommandos
Wie immer bei Problemen melden
Hallo zusammen,
ich habe den o.g. Ansatz https://wiki.fhem.de/wiki/Modul_PostMe#Noch_komfortabler_verwalten_mit_Inline-Keyboards (https://wiki.fhem.de/wiki/Modul_PostMe#Noch_komfortabler_verwalten_mit_Inline-Keyboards) mal ausprobiert um mit den Inline Keyboards rumzuspielen.
Attribute, Notify , Routine etc. sind alles hinterlegt, allerdings wird mir das Menü nicht angezeigt. Als Antwort kommt nur der hinterlegte Befehl im Favoriten (siehe Bild)
Vielleicht hat einer 'ne Idee, woran das liegen könnte.
Version FHEM
Latest Revision: 12896
File Rev Last Change
fhem.pl 12804 2016-12-17 18:37:11Z rudolfkoenig
Version TelegramBot
50_TelegramBot.pm 12874 2016-12-25 14:15:59Z viegener
Besten Dank
Chris
Klar hat "einer 'ne Idee".
Allerdings müsste er dazu wissen, welches "Menü" denn "angezeigt" werden soll.
LG
pah
Ich hatte das Beispiel komplett kopiert und somit das Hauptmenü wie in deinem Beispiel erwartet ;)
Gruß
Chris
Zitat von: oetti77 am 28 Dezember 2016, 18:01:18
Ich hatte das Beispiel komplett kopiert und somit das Hauptmenü wie in deinem Beispiel erwartet ;)
Gruß
Chris
Hast Du denn wirklich nur kopiert, oder auch geschaut, wo Du Deine eigenen Einträge machen musst?
Wenn Du nur kpiert hast, müsste Dein Telegram-Benutzer schon "<Name des Kontaktes>" heissen, damit ein Menu kommt ;)
Verdammt :)
Ich habe alles mögliche auf meine Installation angepasst, den Namen des Bots, das Notfiy etc. etc. - das "<Name des Kontaktes>" ist mir tatsächlich nicht entgegen gesprungen.
Besten Dank für den Hinweis.
So ist das manchmal mit dem Wald und den Bäumen. Hab's angepasst und läuft natürlich.
Vielen Dank nochmal
Chris
Hallo an alle TelegramBenutzer
Ich habe festgestellt, dass das Modul leider immer an den "Peer" antwortet.
Problem: Wir(ganze Familie) sprechen den Bot in einer TelegramGruppe an. Somit kann ich alle Aktivitäten direkt nachvollziehen. Leider schickt er die Liste von Favoriten und auch die Bestätigung,trotz gesetztem defaultPeer, immer an den persönlichen Chat. Über defaultPeerCopy=1 erhält man als Mitglied der Gruppe die Nachricht selber zweimal, was schon unschön ist, und muss den Chat wechseln, was furchtbar unschön ist.
Ein anderer Ansatz nur über die Attribute kommt mir momentan nicht in den Sinn um das Problem zu lösen.
Ansatz: Eine Abfrage im Modul-Code würde Gruppen bevorzugen. (Vermutlich Code-Zeile 2079)
if(msgChat != null){
antwort an msgChat
}else{
antwort an msgPeerId
}
Frage: Wäre eine solche Änderung möglich? Und zweitens, auch sinnig - also direkt in den Chat zu antworten wo auch die Nachricht herkommt - oder sollte man das konfigurierbar machen über ein weiteres Attribut - z.B. PreferResponseToChat=[01]?
Bei mir schaut das jetzt so aus - ich sende grundsätzlich immer an die Gruppe wenn es diese gibt:
# COMMAND Handling (only if no fileid found
$mpeernorm = TelegramBot_GetFullnameForChat( $hash, $chatId ) if ($chatId);
Telegram_HandleCommandInMessages( $hash, $mpeernorm, $mtext, $mid ) if ( ! defined( $mfileid ) );
Zitat von: RomanticBoy83 am 29 Dezember 2016, 15:44:43
Hallo an alle TelegramBenutzer
Ich habe festgestellt, dass das Modul leider immer an den "Peer" antwortet.
Problem: Wir(ganze Familie) sprechen den Bot in einer TelegramGruppe an. Somit kann ich alle Aktivitäten direkt nachvollziehen. Leider schickt er die Liste von Favoriten und auch die Bestätigung,trotz gesetztem defaultPeer, immer an den persönlichen Chat. Über defaultPeerCopy=1 erhält man als Mitglied der Gruppe die Nachricht selber zweimal, was schon unschön ist, und muss den Chat wechseln, was furchtbar unschön ist.
Ein anderer Ansatz nur über die Attribute kommt mir momentan nicht in den Sinn um das Problem zu lösen.
Ansatz: Eine Abfrage im Modul-Code würde Gruppen bevorzugen. (Vermutlich Code-Zeile 2079)
if(msgChat != null){
antwort an msgChat
}else{
antwort an msgPeerId
}
Frage: Wäre eine solche Änderung möglich? Und zweitens, auch sinnig - also direkt in den Chat zu antworten wo auch die Nachricht herkommt - oder sollte man das konfigurierbar machen über ein weiteres Attribut - z.B. PreferResponseToChat=[01]?
Bei mir schaut das jetzt so aus - ich sende grundsätzlich immer an die Gruppe wenn es diese gibt:
# COMMAND Handling (only if no fileid found
$mpeernorm = TelegramBot_GetFullnameForChat( $hash, $chatId ) if ($chatId);
Telegram_HandleCommandInMessages( $hash, $mpeernorm, $mtext, $mid ) if ( ! defined( $mfileid ) );
Ich verstehe Dein Problem und ja es gibt momentan dazu keine Möglichkeit. Eigentlich ist es sogar bewusst so, dass die Antwort an den Benutzer geht, denn
- Bei mir will nicht jeder alle Nachrichten wegclicken, wenn irgendjemand anders mit dem telegrambot spricht, also passiert das im privaten chat
- Aus Sicherheitsgründen würde ich immer die persönliche ID des Benutzers überprüfen für Kommandos und nicht die Gruppe/ den Chat
Ergo, um das umzusetzen müsste man wohl etwas mehr ändern als nur rund um Zeile 2079 ;)
Es müsste sowohl chatId als auch PeerID für die Prüfung und weitere Bearbeitung aufgehoben werden und beides geprüft werden
Ich werde mal schauen wie sich das realisieren liesse, würdest Du den Test übernehmen?
Zitat von: viegener am 30 Dezember 2016, 17:17:23
Ich werde mal schauen wie sich das realisieren liesse, würdest Du den Test übernehmen?
Ich bin begeistert was Du in letzter Zeit so alles erweitert hast an diesem Modul. Und Du auch auf Wünsche eingehst!!!
Selbst nutze ich das Modul schon seit ca. einem halben Jahr und würde um nichts in der Welt wieder yowsup benutzen wollen!
Das mit den Keyboards finde ich ja mal megageil! Mal schauen wann ich mal Zeit finde das bei mir umzusetzen! Mich hält gerade die Programmierung eines neuen Moduls davon ab! 8)
Drum hiermit einfach nur mal mein persönlicher Dank an Dich und Deine Entwicklung an dem Modul!
Einfach Klasse! Weiter so! 8) 8) 8)
Gruß
Dan
Zitat von: viegener am 30 Dezember 2016, 17:17:23
Ergo, um das umzusetzen müsste man wohl etwas mehr ändern als nur rund um Zeile 2079 ;)
Es müsste sowohl chatId als auch PeerID für die Prüfung und weitere Bearbeitung aufgehoben werden und beides geprüft werden
Ich werde mal schauen wie sich das realisieren liesse, würdest Du den Test übernehmen?
Angespornt durch das Lob habe ich das mal in einer ersten Version eingebaut - findet sich in github
Es gibt ein Attribut
cmdRespondChat wenn das gesetzt ist sollten Antworten im chat erfolgen
Vielleicht kann das jemand ausprobieren, erste Tests bei mir waren soweit erfolgreich
Ich habe noch einmal den code angeschaut!
Fazit - Der Abgleich mit cmdRestrictedPeer ist natürlich wünschenswert und sollte so bestehen bleiben. Ich habe mir deine Lösung noch nicht angeschaut - aber hier ist mein Ansatz aufgrund deiner Anmerkungen.
Lösungsansatz: ab Zeile 1131 ist die Abfrage nach dem Peer bereits gelaufen. Jedoch ist hier die $chatID nicht vorhanden (oder aus dem Reading holen) und müsste bis hier hin durchgereicht werden. Eine zusätzliche Variable in der sub Telegram_HandleCommandInMessages($$$$) könnte hier helfen und in den entsprechenden Methoden ersetzt werden.
my destinyPeer = AttrVal($name,'cmdRespondChat',undef) ? $chatID : $mpeernorm
Zitat...würdest Du den Test übernehmen?
Natürlich würde ich mir mal ein paar Testroutinen dafür überlegen und diese durchspielen! (Hatte ich zwar noch nie vorher hier gemacht, aber dazulernen möchte ich natürlich immer)
OhOh - ich glaube ich werde noch gehängt! Ich wollte hier keine Unannehmlichkeiten bereiten!
Wir haben ein wenig aneinander vorbei geredet. Ich habe mich schon gewundert weshalb du so viele Änderungen getätigt hast.
+ return ( undef, 1 ) if ( ( $mchatnorm ) && ( ! TelegramBot_checkAllowedPeer( $hash, $mchatnorm, $mtext ) ) );
in Zeile 857 wird jetzt jedem Peer des Chats erlaubt Befehle zu senden - dass steht auf meinem ersten Testzettel als nicht erlaubt!
1) | Der Bot Antwortet persönlich wenn ich ihn persönlich kontaktiere und ich erlaubt bin(cmdRestrictedPeers). |
2) | Der Bot sendet die Meldung des Versuches an defaultPeer wenn ich ihn persönlich kontaktiere und ich nicht erlaubt bin(cmdRestrictedPeers) |
3) | Der Bot Antwortet in der Gruppe wenn ich ihn in der Gruppe kontaktiere und ich erlaubt bin. |
4) | Der Bot sendet die Meldung des Versuches an defaultPeer wenn ich ihn in der Gruppe kontaktiere und ich nicht erlaubt bin. |
5) | Der Bot Antwortet nicht im Chat wenn cmdRespondChat=0 |
Zum besseren Verständnis:
Ich gehen davon aus, dass wenn ich jemanden Anschreibe er mir auf dem selben Weg antwortet. Er soll aber natürlich dennoch prüfen, ob er mir antworten darf. Meine Wunsch der Änderung beschränkte sich ausschließlich darauf wohin die Antwort gesendet wird. Aus diesem logischen Grunde müsste das neu Attribut theoretisch auch default=1 sein - ist aber nur eine Feinheit wie ich es aus Logiksicht machen würde.
Zitat von: RomanticBoy83 am 30 Dezember 2016, 20:57:10
OhOh - ich glaube ich werde noch gehängt! Ich wollte hier keine Unannehmlichkeiten bereiten!
Wir haben ein wenig aneinander vorbei geredet. Ich habe mich schon gewundert weshalb du so viele Änderungen getätigt hast.
+ return ( undef, 1 ) if ( ( $mchatnorm ) && ( ! TelegramBot_checkAllowedPeer( $hash, $mchatnorm, $mtext ) ) );
in Zeile 857 wird jetzt jedem Peer des Chats erlaubt Befehle zu senden - dass steht auf meinem ersten Testzettel als nicht erlaubt!
Nein, das heisst im Chat wird nur ein Kommando erlaubt, wenn sowohl der peer als auch der chat zugelassen ist.
Die Rückgabe undef heisst in diesem Fall, dass keine Ausführung erlaubt ist.
Zitat von: RomanticBoy83 am 30 Dezember 2016, 20:57:10
1) | Der Bot Antwortet persönlich wenn ich ihn persönlich kontaktiere und ich erlaubt bin(cmdRestrictedPeers). |
2) | Der Bot sendet die Meldung des Versuches an defaultPeer wenn ich ihn persönlich kontaktiere und ich nicht erlaubt bin(cmdRestrictedPeers) |
3) | Der Bot Antwortet in der Gruppe wenn ich ihn in der Gruppe kontaktiere und ich erlaubt bin. |
4) | Der Bot sendet die Meldung des Versuches an defaultPeer wenn ich ihn in der Gruppe kontaktiere und ich nicht erlaubt bin. |
5) | Der Bot Antwortet nicht im Chat wenn cmdRespondChat=0 |
Zum besseren Verständnis:
Ich gehen davon aus, dass wenn ich jemanden Anschreibe er mir auf dem selben Weg antwortet. Er soll aber natürlich dennoch prüfen, ob er mir antworten darf. Meine Wunsch der Änderung beschränkte sich ausschließlich darauf wohin die Antwort gesendet wird. Aus diesem logischen Grunde müsste das neu Attribut theoretisch auch default=1 sein - ist aber nur eine Feinheit wie ich es aus Logiksicht machen würde.
Die Liste ist im wesentlichen dass was ich implementieren wollte. Es gibt nur kleine Abweichungen bei 3 und 4
3) Antwort in der Gruppe nur wenn sowohl Gruppe als auch peer erlaubt ist
4) dito - aber umgekehrt wie oben
Also keine Sorge, die Änderungen waren aber nötig, weil ich beide Informationen peer und chat an allen Stellen brauche (zusätzlich wurde noch ein weiteres Reading gebraucht, weil ich mit einem meiner notifies nicht mehr arbeiten konnte)
Hast Du es denn mal ausprobiert?
Hi.
Jetzt hab ich doch eine Frage zu den Inline Keyboards.
Ist es eigentlich möglich, dass mir der Bot bei einem Event eine Nachricht mit Inline-Keyboard schickt? Also z.b.
Alarm ausgelöst
<STOP><KAMERA>
So wie ich das verstanden habe, reagiert der Bot ja nur auf Befehle, die er empfängt und bietet dann zu diesem Befehl das Keyboard an.
Danke für die Hilfe.
Natürlich geht das - einfach mit queryInline und korrekter Syntax.
LG
pah
Danke. Mit der Info kann ich was anfangen. Hab es nun auch in der commandref gefunden und wohl mehrfach überlesen!
Hallo, ich habe mal eine Frag im Zusammenhang mit TelegramBot & DOIF.
Ich habe mir für jeden Raum ein DOIF erstellt. Immer wenn die Luftfeuchtigkeit >60% ist bekomme ich und meine Frau eine Nachricht, dass es Zeit ist zum lüften. Das Problem ist nun allerdings, das wir diese Nachricht jede Minuten bekommen. Entweder weil die Luftfeuchte jetzt auf 62% oder weiterhin bei 61%. Das hat nun dazugeführt, dass ich die Benachrichtigung im Bezug auf die Leuftfeuchte deakiviert habe, da meine Frau einen "föhn" bekommen hat, verständlicherweise.
Hat jem. von euch selbiges Problem gehabt? und wenn ja, wie wurde es gelöst!
Es reicht mir, wenn er die Nachricht nur einmal schickt, dass ich Lüften soll.
Danke.
Zitat von: bjoernbo am 06 Januar 2017, 12:59:58
Hallo, ich habe mal eine Frag im Zusammenhang mit TelegramBot & DOIF.
Ich habe mir für jeden Raum ein DOIF erstellt. Immer wenn die Luftfeuchtigkeit >60% ist bekomme ich und meine Frau eine Nachricht, dass es Zeit ist zum lüften. Das Problem ist nun allerdings, das wir diese Nachricht jede Minuten bekommen. Entweder weil die Luftfeuchte jetzt auf 62% oder weiterhin bei 61%. Das hat nun dazugeführt, dass ich die Benachrichtigung im Bezug auf die Leuftfeuchte deakiviert habe, da meine Frau einen "föhn" bekommen hat, verständlicherweise.
Hat jem. von euch selbiges Problem gehabt? und wenn ja, wie wurde es gelöst!
Es reicht mir, wenn er die Nachricht nur einmal schickt, dass ich Lüften soll.
Danke.
Ganz einfach ein userReading erstellen und dieses im DOIF triggern.
attr <HUMIDITY-SENSOR> userReadings lueften:humidity.* {ReadingsNum($name,"humidity",0)>=60?1:0}
Das DOIF dann auf lueften:1.
Gruß
Dan
EDIT: Beim erneuten lesen war mir aufgefallen dass ich <= statt >= verwendet hatte. Habe es geändert!
Zitat von: bjoernbo am 06 Januar 2017, 12:59:58
Hallo, ich habe mal eine Frag im Zusammenhang mit TelegramBot & DOIF.
Ich habe mir für jeden Raum ein DOIF erstellt. Immer wenn die Luftfeuchtigkeit >60% ist bekomme ich und meine Frau eine Nachricht, dass es Zeit ist zum lüften. Das Problem ist nun allerdings, das wir diese Nachricht jede Minuten bekommen. Entweder weil die Luftfeuchte jetzt auf 62% oder weiterhin bei 61%. Das hat nun dazugeführt, dass ich die Benachrichtigung im Bezug auf die Leuftfeuchte deakiviert habe, da meine Frau einen "föhn" bekommen hat, verständlicherweise.
Hat jem. von euch selbiges Problem gehabt? und wenn ja, wie wurde es gelöst!
Es reicht mir, wenn er die Nachricht nur einmal schickt, dass ich Lüften soll.
Danke.
@DeeSPe: hmm, sehr elegante Lösung. Wieder was gelernt und eine neue/weitere Möglichkeit solche Dinge zu lösen gefunden!
Aktuell merke ich mir in einem Dummy für alle Geräte/Nachrichten (für die ich was schicken will) ob bereits eine verschickt wurde:
Z.B. ist dann ReadingsName der Geräte-/Kanalname für den geschickt werden kann/soll und der Wert dann ob schon verschickt wurde.
Internals:
CHANGED
NAME dmSignalMessageStatusTelegramBot
NR 147
STATE ???
TYPE dummy
Readings:
2017-01-06 13:33:13 Aussenthermometer_BatState none
2017-01-06 04:30:39 Fenster_EssZi_BatState none
2017-01-06 04:30:13 Fenster_FabiZi_BatState none
2017-01-06 01:00:28 Fenster_Kueche_BatState none
2016-11-14 16:45:27 Fenster_SchlaZi_BatState low
2017-01-06 04:31:01 Fenster_WoZi_BatState none
2016-12-12 08:02:58 Hauptdisplay_BatState none
2017-01-06 13:34:08 Heizkoerperthermostat_EssZi_BatState none
2017-01-06 13:35:14 Heizkoerperthermostat_FabiZi_BatState none
2017-01-06 13:35:04 Heizkoerperthermostat_Kueche_BatState none
2016-12-22 10:14:33 Heizkoerperthermostat_SchlaZi_BatState none
2016-12-27 11:58:02 Heizkoerperthermostat_SchlaZi_State none
2017-01-06 13:34:22 Heizkoerperthermostat_WoZi_BatState none
2017-01-04 16:40:37 Steckdose_FabiZi_SchreibTisch none
2017-01-06 12:00:48 Wandthermostat_Bad_BatState none
2017-01-06 11:02:52 Wandthermostat_EssZi2_BatState none
2017-01-06 11:50:26 Wandthermostat_EssZi_BatState none
2017-01-06 13:34:44 Wandthermostat_FabiZi2_BatState none
2016-12-15 07:57:34 Wandthermostat_FabiZi2_State none
2017-01-06 13:30:17 Wandthermostat_FabiZi_BatState none
2017-01-06 09:47:57 Wandthermostat_Kueche_BatState none
2017-01-06 13:15:38 Wandthermostat_SchlaZi_BatState none
2016-12-15 07:27:34 Wandthermostat_SchlaZi_State none
2017-01-02 06:18:35 Wandthermostat_WC_BatState none
2017-01-06 12:47:42 Wandthermostat_WoZi_BatState none
So kann ich auch prüfen, wann zuletzt verschickt wurde ReadingsAge des Wertes für das jeweilige Gerät und auch verschiedene Level, also es wurde ein Hinweis verschickt bzw. es wurde bereits eine Warnung verschickt (Wert: information / warning etc.).
In einer Sub die dann beispielsweise von den Luftfeuchtewerten getriggert wird kann dann auch zusätzlich geprüft werden, ob zwar eine Nachricht verschickt wurde aber das Fenster immer noch zu ist -> dann schicke eine Warnung, wenn ReadingsAge größer 15min oder so...
Also so mache ich das bei meiner Waschmaschine: fertig Meldung einmalig und Erinnerung(en), dass noch geleert werden muss alle 15min ;)
Bzw. verschicke ich so mehrstufige Nachrichten (Information/Warnung) bei meinen Batteriemeldungen.
Für manche Geräte (Homematic) berechne ich die "Prozent voll" und bei Unterschreitung eines bestimmten Wertes schicke ich eine Information (damit ich schon mal Batterien kaufen kann ;) ) und dann bei sehr gering oder der eigenen "low" oder gar bei Ausfall eine Warnung, dass jetzt echt gewechselt werden muss...
Wie so oft:
viele Wege führen ans Ziel...
...jeder muss seinen eigenen finden ;)
Gruß, Joachim
Zitat von: MadMax-FHEM am 06 Januar 2017, 13:39:47
@DeeSPe: hmm, sehr elegante Lösung. Wieder was gelernt und eine neue/weitere Möglichkeit solche Dinge zu lösen gefunden!
Schön, so soll es ja sein hier im Forum! 8)
Zitat von: MadMax-FHEM am 06 Januar 2017, 13:39:47
Aktuell merke ich mir in einem Dummy für alle Geräte/Nachrichten (für die ich was schicken will) ob bereits eine verschickt wurde:
Z.B. ist dann ReadingsName der Geräte-/Kanalname für den geschickt werden kann/soll und der Wert dann ob schon verschickt wurde.
Wozu immer diese ganzen dummy(s) gebraucht werden verstehe ich nicht. ::)
Readings kann ich doch mit setreading beliebig in jedem Device setzen!
Also könntest Du Dir die Information ob und wann gesendet wurde auch direkt in das jeweilige ROOMMATE/GUEST Device schreiben.
Meine Devise ist immer: So viele Devices wie nötig, aber so wenige wie möglich!
Gruß
Dan
Gruß
Dan
Zitat von: DeeSPe am 06 Januar 2017, 13:46:07
Wozu immer diese ganzen dummy(s) gebraucht werden verstehe ich nicht. ::)
Readings kann ich doch mit setreading beliebig in jedem Device setzen!
Also könntest Du Dir die Information ob und wann gesendet wurde auch direkt in das jeweilige ROOMMATE/GUEST Device schreiben.
Meine Devise ist immer: So viele Devices wie nötig, aber so wenige wie möglich!
Gruß
Dan
Ich habe halt kein zentrales "Gerät" für sowas also kein ROOMMATE/GUEST etc. ;)
Direkt in den Bot wollte ich es nicht schreiben...
...aber hier der Vorteil (für mich) ich habe ein "Gerät"/Device wo ich einen Überblick über die "Nachrichtenlage" habe ;)
Aber auch das mit den Readings werde ich mir merken (Danke!)...
...allerdings eher für zukünftige Umsetzungen oder bei der nächsten "Renovierung" ;)
Denn: never change a running system (without good reasons)...
Gruß, Joachim
Moin,
das Problem von bjoernbo müsste sich doch im DOIF lösen lassen. Dazu gibt es doch Parameter wie "do" "repeatsame" etc.
Ich würde behaupten das DOIF kann so konfiguriert werden, dass ein Befehl nur einmal ausgeführt wird, solange es keine Zustandänderung gibt. Eine Zustandänderung wäre z. B. , dass die Luftfeuchte wieder unter 60% fällt. Steigt sie anschließend wieder über 60% hätte man wieder eine Zustandsänderung mit Benachrichtigung.
Interessant wäre jetzt die aktuelle Konfiguration des DOIF. Es sei denn ich übersehe etwas Elementares...
Gruß Stephan
ich werde das mal mit dem dummy testen!
Aber hier der Auszug aus dem DOIF
Zitatdefmod TelegramLueftenBadezimmer DOIF ([LaCrosse_14:humidity] > 60) (set Telegram message @Björn_XXXX Die Luftfeuchtigkeit im BADEZIMMER ist über 60%. Bitte lüften) (set Telegram message @AXXXXX_XXXXX Die Luftfeuchtigkeit im BADEZIMMER ist über 60%. Bitte lüften)
Würde nicht ein einfaches event-on-change-reading helfen um zu verhindern das die Nachricht mehrfarbig versendet wird?
Wie sind die Attribute gesetzt? Ich denke weiterhin, dass sich das im DOIF lösen lässt.
Event on Change reicht nicht denke ich. Die Luftfeuchtigkeit schwankt ja. Mal 61%, dann vielleicht 62% etc.
Ich glaube die Syntax im DOIF Befehlsteil ist falsch. Zitat
"
Sollen mehrere FHEM-Befehle ausgeführt werden, so werden sie mit Komma statt mit Semikolon angegeben ... (set lamp1 on, set lamp2 off)"
Hier wird zweimal eine Klammer geöffnet.
Gesendet von meinem E5823 mit Tapatalk
Zitat von: ulli am 06 Januar 2017, 14:44:36
Würde nicht ein einfaches event-on-change-reading helfen um zu verhindern das die Nachricht mehrfarbig versendet wird?
NEIN!
Denn z.B. 61 ist nicht gleich 60!
Gruß
Dan
Nein! event-on-change-reading habe ich mal ausprobiert.Ich bekomme dann bei 61,62,63 .... etc. jedesmal eine Meldung.
Hallo viegener
Ist der der Parameter "disable_notification" für künftige Version vorgesehen um Meldung (z.b. Infos) nicht aktiv zu melden ?
Gruss Peter
Ich habe jetzt die Dokumentation für die beiden Arten der Listenverwaltiung mit Telegram im Wiki des PostMe-Moduls ergänzt.
LG
pah
Hallo bjoernbo!
Wie ist es mit:
define Abluft_co20z THRESHOLD Abluft_co20:voc:400:1200 prxPortB2|set @ on|set @ off
Mit diesem code schalte ich meine Lüftung auf Vollgas bis der Wert wieder unter 1200-400 geht.
Vielleicht hilft das was.
lg
Wolfgang
Zitat von: PeterS am 06 Januar 2017, 15:05:31
Hallo viegener
Ist der der Parameter "disable_notification" für künftige Version vorgesehen um Meldung (z.b. Infos) nicht aktiv zu melden ?
Gruss Peter
Ich verstehe die Frage leider nicht, kannst Du erklären, was Du mit disable_notifications erreichen willst?
Hey wthiess.
Danke für den Tipp! Werde ich mal ausprobieren. Dadurch ergibt sich mir dann die Möglichkeit, dass ich mich ich eine Nachricht schicken lassen kann, dass ich das Fenster wieder schließen kann.
Zitat von: viegener am 07 Januar 2017, 01:08:45
Ich verstehe die Frage leider nicht, kannst Du erklären, was Du mit disable_notifications erreichen willst?
Hallo viegener
Über den Telegram Bot versende ich unterschiedliche Nachrichten für Aktionen (z.B. Fenster auf/zu), Hinweise und Statusmeldungen (z.B. Füllstände, Laufzeiten, Statuszustände) und Alarmmeldungen (z.B. Garagentor länger als xx Minuten geöffnet).
Zur Zeit erzeigen alle Messages eine Notification auf IOS- und Android-Geräten.
Laut Telegram Bot API unterstützt die Methode "sendMessage" neben dem Parse_Mode (ist bereits integriert) auch den Parameter "disable_notification" (Optional - Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound.).
Cool wäre es, wenn man den einzelnen Messages optional mitgeben könnten, ob die Benachrichtigung unterdrückt werden sollte. Damit könnten dann Hinweise und Statusmeldungen (z.B. Füllstände, Laufzeiten, Statuszustände) wahlweise keine Benachrichtigung auslösen.
Denkbar wäre dies aber beim automatischen Bilderversand ;)
PS: Es sollte aber nicht als Attribut zentral gesteuert werden
Gruss Peter
Hallo,
wenn ein Kontakt, der nicht als defaultPeer eingetragen ist, ein SVG-Plot erhalten soll, wird dieses zusätzlich immer an den defaultPeer geschickt. Ich habe mich an den Wiki-Eintrag (https://wiki.fhem.de/wiki/TelegramBot#Versand_von_SVG-Plots) gehalten und die dortigen Statements auch direkt in der FHEM Kommandozeile getestet:
{TelegramBot_ExecuteCommand($defs{"telegram"}, msgPeerId, '{plotAsPng("SVG_thermometer")}');; return;;}
Muss ich noch etwas konfigurieren oder ist das evtl. ein Bug? Kann das Verhalten jemand anderes bestätigen?
Danke und Grüße
Sören
Hi,
soll er das nicht mehr machen? Dann attribute defaultPeerCopy auf 0.
Grüße
Achim
Gesendet von meinem SM-P605 mit Tapatalk
Danke Achim!
Zitatattribute defaultPeerCopy auf 0
Vor lauter Wiki-Eintrag und Befehl prüfen habe ich das Attribut übersehen. Danke fürs Augen öffnen.
Zitat von: PeterS am 07 Januar 2017, 17:56:51
Hallo viegener
Über den Telegram Bot versende ich unterschiedliche Nachrichten für Aktionen (z.B. Fenster auf/zu), Hinweise und Statusmeldungen (z.B. Füllstände, Laufzeiten, Statuszustände) und Alarmmeldungen (z.B. Garagentor länger als xx Minuten geöffnet).
Zur Zeit erzeigen alle Messages eine Notification auf IOS- und Android-Geräten.
Laut Telegram Bot API unterstützt die Methode "sendMessage" neben dem Parse_Mode (ist bereits integriert) auch den Parameter "disable_notification" (Optional - Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound.).
Cool wäre es, wenn man den einzelnen Messages optional mitgeben könnten, ob die Benachrichtigung unterdrückt werden sollte. Damit könnten dann Hinweise und Statusmeldungen (z.B. Füllstände, Laufzeiten, Statuszustände) wahlweise keine Benachrichtigung auslösen.
Denkbar wäre dies aber beim automatischen Bilderversand ;)
PS: Es sollte aber nicht als Attribut zentral gesteuert werden
Gruss Peter
Danke, das habe ich verstanden.
Wenn es per nachricht steuerbar sein sollte, dann müsste man wohl entweder die set-cmds doppeln die das erlauben sollen oder eine Option in den Kommandos hinzufügen. Beides gefällt mir nicht wirklich gut, denn es erfordert auf jeden Fall einige Umbauten und die Sprache beim Versenden wird noch komplizierter.
Also eine gute Lösung fällt mir noch nicht ein, ich nehme es mal auf die Liste.
Hallo Peter,
ich hab dafür einfach verschieden Telgram Gruppen erstellt!
Eine für Info's diese Gruppe hab ich lautlos gestellt und eine für Alarm, diese hab ich mit einen Alarmton versehen!
LG
Marlen
Zitat von: Marlen am 09 Januar 2017, 13:02:09
Hallo Peter,
ich hab dafür einfach verschieden Telgram Gruppen erstellt!
Eine für Info's diese Gruppe hab ich lautlos gestellt und eine für Alarm, diese hab ich mit einen Alarmton versehen!
LG
Marlen
Hallo Marlen
Danke für den Tipp !
Simpler, aber guter Anstatz. Ich werde es mal umsetzen ;)
Gruss Peter
Kleine Änderung in der Version in github - es gibt nun die Möglichkeit bei Favoriten neben dem ? auch ein ! anzugeben. Beim ! vor dem Kommando wird das Ergbnis immer gesendet auch wenn das per cmdReturnEmptyResult ausgeschaltet ist.
Allerdings nicht wenn das Template das auschliesst.
Hallo und Guten Abend
ersteinmal vielen Dank für das Modul und die tolle Dokumentation ! :)
Dennoch habe ich eine Frage:
wie kann ich den Befehl cmdRestrictedPeer
wieder zurücknehmen und den Benutzer wieder freigeben?
Gruss tagedieb
Zitat von: tagedieb am 11 Januar 2017, 21:21:22
Hallo und Guten Abend
ersteinmal vielen Dank für das Modul und die tolle Dokumentation ! :)
Dennoch habe ich eine Frage:
wie kann ich den Befehl cmdRestrictedPeer
wieder zurücknehmen und den Benutzer wieder freigeben?
Gruss tagedieb
Ich bin nicht sicht ob ich die Frage verstehe - cmdRestrictedPeer ist ein Attribut und das lässt sich auch wieder löschen
Allerding empfehle ich das definitv NICHT!
Hallo viegener
Danke für die Rückmeldung
ich hatte Glück und nach einem Restart von FHEM war es wieder weg - ich hatte dummerweise die falschen Benutzer gesperrt :-[
daher war für mich ein zurücksetzten wichtig
Gruss tagedieb
Zitat von: tagedieb am 12 Januar 2017, 06:30:50
Hallo viegener
Danke für die Rückmeldung
ich hatte Glück und nach einem Restart von FHEM war es wieder weg - ich hatte dummerweise die falschen Benutzer gesperrt :-[
daher war für mich ein zurücksetzten wichtig
Gruss tagedieb
Du kannst das Attribut bzw. den Attributwert auch einfach ändern: auf das Attribut klicken und neuen Wert eintragen und dann vorne auf "attr" klicken zum Übernehmen und dann "save config"!!
"Save Config" hattest du wahrscheinlich nach deiner Änderung (oder einigen Änderungen) nicht ausgeführt, dann ist alles was du änderst nach einem "shutdown restart" weg!!
Also wenn du willst, dass Änderungen einen "Reboot" (oder "shutdown restart") "überleben", dann "save config" nicht vergessen!!
Gruß, Joachim
Hallo Madmax-FHEM
danke für den Hinweis
doch das mit dem neuen Wert eintragen und vorn auf attr klicken hat leider nicht funktioniert, ich blieb weiter ausgesperrt :-\
hier hat sich meine Angewohnheit bestätigt, ERST alles mit save zu sichern, wenn es richtig funktioniert ;)
ich finde im Netzt nur eine deutsche Anleitung für das Einrichten des TelgramBot - gibt es auch irgendwo eine deutsche Anleitung der ganzen APP?
gruss tagedieb
Zitat von: tagedieb am 12 Januar 2017, 14:45:08
Hallo Madmax-FHEM
danke für den Hinweis
doch das mit dem neuen Wert eintragen und vorn auf attr klicken hat leider nicht funktioniert, ich blieb weiter ausgesperrt :-\
hier hat sich meine Angewohnheit bestätigt, ERST alles mit save zu sichern, wenn es richtig funktioniert ;)
ich finde im Netzt nur eine deutsche Anleitung für das Einrichten des TelgramBot - gibt es auch irgendwo eine deutsche Anleitung der ganzen APP?
gruss tagedieb
Ich habe das gerade auf meiner Testinstallation ausprobiert, bei Änderung des Attributwertes zieht die Änderung sofort (ohne Neustart und ohne save). Da muss etwas anderes schiefgegegangen sein.
Aber wie Madmax-FHEM schon sagte ohne save ist es beim Neustart weg und ohne Click auf <Attr> (das passiert mir häufig) ist das Attribut nicht geändert
Welche APP meinst Du?
Hallo viegener
ich suche eine "deutsche Feineinstell -anleitung" von BotFather :-[
denn mein englisch ist seeeehr verstaubt in den Jahren :'(
Gruss tagedieb
Ich kenne keine deutsche Anleitung für die Optionen des botfathers, aber vermutlich können wir Dir hier helfen, wenn es um die Bedeutung von Optionen geht oder wenn es um die Frage der "richtigen" Einstellung geht. Das gilt auch für die Optionen des TelegramBot-Moduls, denn auch da ist der Grossteil der Anleitung (commandref) englisch - Meine Schuld
Hallo viegener
vielen Dank für das tolle Hilfeangebot - das FHEM Modul konnte ich anhand der vielen Beispiele und des Threads prima nachvollziehen und einstellen - nur auf dem Smartphon habe ich noch nicht richtig den Durchblick - bitte mal für mich zur Verständigung: Einstellungen am Handy stelle ich im botfather@xyz ein? befehle und infos bekomme ich im zuhausebot?
BotFather - edit Commands: dort gebe ich die Befehle wie zum Bsp command2 - set irgendwas an oder aus - ich bekomme als Antwort:Success!Command list updated - für meine Kenntnisse heisst das - erfolgreich abgeschlossen - jedoch finde ich nur das commando, welches ich gestern erfolgreich abgespeichert habe, in meinem zuhauseBot - das irritert mich etwas :o
Gruss tagedieb
Hallo viegener!
Ist es möglich ? und ! auch in query Data
define teleBot40 notify teleBot:queryData.*R_WzF_A !set R_WzF Auf
einzubauen? Hier haben die beiden Zeichen keine Auswirkungen.
lg
Wolfgang
Hallo viegener!
Ich hab mir nun ein Supermenü gebaut. Alles super.
Nun wollte ich meine Frau einbinden. Ziel ist es jeder soll seinen eigenen chat haben. Wenn ich den Befehl
define teleBot62 notify teleBot:queryData.*Licht set teleBot queryInline (WZ_Licht) (Hauptmenue) Licht
sende bekomme ich das Untermenü Licht serviert.
Wenn meine Frau ein Menü anfordert soll sie ihres bekommen. Also habe ich
attr teleBot defaultPeer 111111111
ausgeschalten.
und
attr teleBot cmdRespondChat 1
hinzugefügt.
Jetzt bekommt niemand mehr eine Antwort von TelegramBot.
Bitte um Hilfe
Wolfgang
#Telegram
define teleBot TelegramBot 333333333:xxxxxxxxxxxxxxxxxx
attr teleBot allowUnknownContacts 0
attr teleBot cmdFavorites /s
attr teleBot cmdKeyword d
attr teleBot allowUnknownContacts 0
attr teleBot cmdRestrictedPeer MeineID FrauID
attr teleBot cmdReturnEmptyResult 0
attr teleBot cmdRespondChat 1
#attr teleBot defaultPeer MeineID
attr teleBot favorites [Buttons]=set teleBot queryInline (Licht|Rollos) (Lueftung|Torantrieb|Temperaturen) Hauptmenü
attr teleBot pollingTimeout 120
attr teleBot room Telegram
define teleBot1 notify teleBot:queryData.*VRein set prxPortA1 on
define teleBot2 notify teleBot:queryData.*VRein set teleBot message VRein
define teleBot3 notify teleBot:queryData.*VRaus set prxPortA1 off
define teleBot4 notify teleBot:queryData.*VRaus set teleBot message VRaus
define teleBot5 notify teleBot:queryData.*VRmax set prxPortB2 on
define teleBot6 notify teleBot:queryData.*VRmax set teleBot message VRmax 1/2 Stunde
define teleBot7 notify teleBot:queryData.*VRmaxoff set prxPortB2 off
define teleBot8 notify teleBot:queryData.*VRmaxoff set teleBot message VRmax_off
define teleBot70 notify teleBot:queryData.*VR_0 set LRegL REG_FAN_SPEED_LEVEL 0
define teleBot71 notify teleBot:queryData.*VR_0 set teleBot message VR aus
define teleBot72 notify teleBot:queryData.*VR_1 set LRegL REG_FAN_SPEED_LEVEL 1
define teleBot73 notify teleBot:queryData.*VR_1 set teleBot message VR min
define teleBot74 notify teleBot:queryData.*VR_2 set LRegL REG_FAN_SPEED_LEVEL 2
define teleBot75 notify teleBot:queryData.*VR_2 set teleBot message VR normal
define teleBot76 notify teleBot:queryData.*VR_3 set LRegL REG_FAN_SPEED_LEVEL 3
define teleBot77 notify teleBot:queryData.*VR_3 set teleBot message VR max
define teleBot78 notify teleBot:queryData.*VR_4 set LRegL REG_FAN_SPEED_LEVEL 4
define teleBot79 notify teleBot:queryData.*VR_4 set teleBot message VR Auto
define teleBot9 notify teleBot:queryData.*Temp set svgsend on
#Tor
define teleBot10 notify teleBot:queryData.*Ja_Tor set prxPortB0 on
define teleBot11 notify teleBot:queryData.*Ja_Tor set teleBot message Tor bewegt sich
define teleBot11a notify teleBot:queryData.*Tor_mit_Abfrage set teleBot queryInline (Ja_Tor|Nein_Tor) Sicher?
define teleBot11b notify teleBot:queryData.*Nein_Tor set teleBot queryInline (Hauptmenue) Abgebrochen
define teleBot12 notify teleBot:queryData.*RolloA set R_alle Auf
define teleBot13 notify teleBot:queryData.*RolloA set teleBot message alle Rollos auf
define teleBot14 notify teleBot:queryData.*RolloZ set R_alle Zu
define teleBot15 notify teleBot:queryData.*RolloZ set teleBot message alle Rollos zu
define teleBot16 notify teleBot:queryData.*R_W_A set R_Wolfgang Auf
define teleBot17 notify teleBot:queryData.*R_W_A set teleBot message Rollo Wolfgang auf
define teleBot18 notify teleBot:queryData.*R_W_Z set R_Wolfgang Zu
define teleBot19 notify teleBot:queryData.*R_W_Z set teleBot message Rollo Wolfgang zu
define teleBot20 notify teleBot:queryData.*R_B_A set R_Birgit Auf
define teleBot21 notify teleBot:queryData.*R_B_A set teleBot message Rollo Birgit auf
define teleBot22 notify teleBot:queryData.*R_B_Z set R_Birgit Zu
define teleBot23 notify teleBot:queryData.*R_B_Z set teleBot message Rollo Birgit zu
define teleBot24 notify teleBot:queryData.*R_V_A set R_Veranda Auf
define teleBot25 notify teleBot:queryData.*R_V_A set teleBot message Rollo Veranda auf
define teleBot26 notify teleBot:queryData.*R_V_Z set R_Veranda Zu
define teleBot27 notify teleBot:queryData.*R_V_Z set teleBot message Rollo Veranda zu
define teleBot28 notify teleBot:queryData.*R_A_A set R_Anna Auf
define teleBot29 notify teleBot:queryData.*R_A_A set teleBot message Rollo Anna auf
define teleBot30 notify teleBot:queryData.*R_A_Z set R_Anna Zu
define teleBot31 notify teleBot:queryData.*R_A_Z set teleBot message Rollo Anna zu
define teleBot32 notify teleBot:queryData.*R_LF_A set R_Lina_F Auf
define teleBot33 notify teleBot:queryData.*R_LF_A set teleBot message Rollo Lina_F auf
define teleBot34 notify teleBot:queryData.*R_LF_Z set R_Lina_F Zu
define teleBot35 notify teleBot:queryData.*R_LF_Z set teleBot message Rollo Lina_F zu
define teleBot36 notify teleBot:queryData.*R_LT_A set R_Lina_T Auf
define teleBot37 notify teleBot:queryData.*R_LT_A set teleBot message Rollo Lina_T auf
define teleBot38 notify teleBot:queryData.*R_LT_Z set R_Lina_T Zu
define teleBot39 notify teleBot:queryData.*R_LT_Z set teleBot message Rollo Lina_T zu
define teleBot40 notify teleBot:queryData.*R_WzF_A set R_WzF Auf
define teleBot41 notify teleBot:queryData.*R_WzF_A set teleBot message Rollo WzF auf
define teleBot42 notify teleBot:queryData.*R_WzF_Z set R_WzF Zu
define teleBot43 notify teleBot:queryData.*R_WzF_Z set teleBot message Rollo WzF zu
define teleBot44 notify teleBot:queryData.*R_WzT_A set R_WzT Auf
define teleBot45 notify teleBot:queryData.*R_WzT_A set teleBot message Rollo WzT auf
define teleBot46 notify teleBot:queryData.*R_WzT_Z set R_WzT Zu
define teleBot47 notify teleBot:queryData.*R_WzT_Z set teleBot message Rollo WzT zu
define teleBot48 notify teleBot:queryData.*M_A set Markise Auf
define teleBot49 notify teleBot:queryData.*M_A set teleBot message Markise auf
define teleBot50 notify teleBot:queryData.*M_Z set Markise Zu
define teleBot51 notify teleBot:queryData.*M_Z set teleBot message Markise zu
define teleBot52 notify teleBot:queryData.*T_VR set teleBot message Temp Vorraum {( return sprintf("%.1f C°", ReadingsVal("DS18B20_C29AB2070000","temperature",0)) )}
define teleBot53 notify teleBot:queryData.*T_SK set teleBot message Temp Sommerküche {( return sprintf("%.1f C°", ReadingsVal("Hideki_30_5","temperature",0)) )}
define teleBot54 notify teleBot:queryData.*T_Pool set teleBot message Temp Pool {( return sprintf("%.1f C°", ReadingsVal("DS18B20_FF532A361604","temperature",0)) )}
define teleBot55 notify teleBot:queryData.*T_W set teleBot message Temp Wolfgang {( return sprintf("%.1f C°", ReadingsVal("DS18B20_7F48B3070000","temperature",0)) )}
define teleBot56 notify teleBot:queryData.*T_WZ set teleBot message Temp Wohnzimmer {( return sprintf("%.1f C°", ReadingsVal("Temp_WZ","Temperatur",0)) )}
define teleBot57 notify teleBot:queryData.*T_L set teleBot message Temp Lina {( return sprintf("%.1f C°", ReadingsVal("DS18S20_7D7319030800","temperature",0)) )}
define teleBot58 notify teleBot:queryData.*T_Aus set teleBot message Temp Aussen {( return sprintf("%.1f C°", ReadingsVal("DS18B20_FFB804361603","temperature",0)) )}
define teleBot59 notify teleBot:queryData.*WZ_Licht set prxPortB7 on
define teleBot60 notify teleBot:queryData.*WZ_Licht set teleBot message WZ_Licht schalten
define teleBot61 notify teleBot:queryData.*Hauptmenue set teleBot queryInline (Licht|Rollos) (Lueftung|Torantrieb|Temperaturen) Hauptmenü
define teleBot62 notify teleBot:queryData.*Licht set teleBot queryInline (WZ_Licht) (Hauptmenue) Licht
define teleBot63 notify teleBot:queryData.*Rollos set teleBot queryInline (RolloA|RolloZ) (R_W_A|R_W_Z|R_B_A|R_B_Z) (R_WzF_A|R_WzF_Z|R_WzT_A|R_WzT_Z) (R_LF_A|R_LF_Z|R_LT_A|R_LT_Z) (R_A_A|R_A_Z|R_V_A|R_V_Z) (M_A|M_Z) (Hauptmenue) Rollos
define teleBot64 notify teleBot:queryData.*Lueftung set teleBot queryInline (VRmax) (VRein|VRaus|VRmax|VRmaxoff) (VR_0|VR_1|VR_2|VR_3|VR_4) (Hauptmenue) Lüftung
define teleBot65 notify teleBot:queryData.*Torantrieb set teleBot queryInline (Tor_mit_Abfrage) (Hauptmenue) Torantrieb
define teleBot66 notify teleBot:queryData.*Temperaturen set teleBot queryInline (T_W|T_WZ|T_L|T_VR) (T_Aus|T_Pool|T_SK) (Temperaturkurve:Temp) (Hauptmenue) Temperaturen
Zitat von: tagedieb am 12 Januar 2017, 16:13:39
Hallo viegener
vielen Dank für das tolle Hilfeangebot - das FHEM Modul konnte ich anhand der vielen Beispiele und des Threads prima nachvollziehen und einstellen - nur auf dem Smartphon habe ich noch nicht richtig den Durchblick - bitte mal für mich zur Verständigung: Einstellungen am Handy stelle ich im botfather@xyz ein? befehle und infos bekomme ich im zuhausebot?
BotFather - edit Commands: dort gebe ich die Befehle wie zum Bsp command2 - set irgendwas an oder aus - ich bekomme als Antwort:Success!Command list updated - für meine Kenntnisse heisst das - erfolgreich abgeschlossen - jedoch finde ich nur das commando, welches ich gestern erfolgreich abgespeichert habe, in meinem zuhauseBot - das irritert mich etwas :o
Gruss tagedieb
Die grundsätzliche Regel ist, dass man im botfather nur die Grundeinstellungen macht, so dass der Bot funktioniert und Nachrichten empfängt etc / Fast alles andere wird in FHEM eingestellt.
Die Commands im botfather haben nur Auswirkungen wenn man später das Zeichen / im Client eingibt. Das ist reine Kosmetik!
Also erstmal Kommandos in FHEM eintragen als Favorites etc, im botfather muss das eigentlich nicht hinterlegt werden
Hallo viegener!
Nach dem update aus dem Git funktioniert die SVG senden Funktion nicht mehr.
2017.01.12 22:52:15 3: svgsend1 return value: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 696) line 1, near "'{plotAsPng("SVG_File_Log_DS_1")}')"
lg
Wolfgang
Zitat von: wthiess am 12 Januar 2017, 22:54:47
Hallo viegener!
Nach dem update aus dem Git funktioniert die SVG senden Funktion nicht mehr.
2017.01.12 22:52:15 3: svgsend1 return value: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 696) line 1, near "'{plotAsPng("SVG_File_Log_DS_1")}')"
lg
Wolfgang
Das ist möglich, die Routine ExecuteCommand ist eine interne sub im Modul, da ist ein Parameter hinzugekommen, damit das mit den chats überhaupt funktionieren kann. Das wird immer wieder passieren, wenn interne subs im Modul aufgerufen werden. Im Prinzip gibt es da kein offizielles API.
Die Änderung ist, dass nun nach dem peer noch ein parameter für den chatid hinzugekommen (und ein weiterer aber optionaler parameter am ende)
Zitat von: wthiess am 12 Januar 2017, 17:50:16
Hallo viegener!
Ist es möglich ? und ! auch in query Data
define teleBot40 notify teleBot:queryData.*R_WzF_A !set R_WzF Auf
einzubauen? Hier haben die beiden Zeichen keine Auswirkungen.
lg
Wolfgang
Hallo Wolfgang - das verstehe ich leider nicht, wo hat ? und ! keine Auswirkung? Im Regexp (verständlich wg. spezialfunktion im regexp)?
Zitat von: wthiess am 12 Januar 2017, 19:39:39
Hallo viegener!
Ich hab mir nun ein Supermenü gebaut. Alles super.
Nun wollte ich meine Frau einbinden. Ziel ist es jeder soll seinen eigenen chat haben. Wenn ich den Befehl
define teleBot62 notify teleBot:queryData.*Licht set teleBot queryInline (WZ_Licht) (Hauptmenue) Licht
sende bekomme ich das Untermenü Licht serviert.
Wenn meine Frau ein Menü anfordert soll sie ihres bekommen. Also habe ich
attr teleBot defaultPeer 111111111
ausgeschalten.
und
attr teleBot cmdRespondChat 1
hinzugefügt.
Jetzt bekommt niemand mehr eine Antwort von TelegramBot.
Bitte um Hilfe
Wolfgang
#Telegram
define teleBot TelegramBot 333333333:xxxxxxxxxxxxxxxxxx
attr teleBot allowUnknownContacts 0
attr teleBot cmdFavorites /s
attr teleBot cmdKeyword d
attr teleBot allowUnknownContacts 0
attr teleBot cmdRestrictedPeer MeineID FrauID
attr teleBot cmdReturnEmptyResult 0
attr teleBot cmdRespondChat 1
#attr teleBot defaultPeer MeineID
attr teleBot favorites [Buttons]=set teleBot queryInline (Licht|Rollos) (Lueftung|Torantrieb|Temperaturen) Hauptmenü
attr teleBot pollingTimeout 120
attr teleBot room Telegram
define teleBot1 notify teleBot:queryData.*VRein set prxPortA1 on
define teleBot2 notify teleBot:queryData.*VRein set teleBot message VRein
define teleBot3 notify teleBot:queryData.*VRaus set prxPortA1 off
define teleBot4 notify teleBot:queryData.*VRaus set teleBot message VRaus
define teleBot5 notify teleBot:queryData.*VRmax set prxPortB2 on
define teleBot6 notify teleBot:queryData.*VRmax set teleBot message VRmax 1/2 Stunde
define teleBot7 notify teleBot:queryData.*VRmaxoff set prxPortB2 off
define teleBot8 notify teleBot:queryData.*VRmaxoff set teleBot message VRmax_off
define teleBot70 notify teleBot:queryData.*VR_0 set LRegL REG_FAN_SPEED_LEVEL 0
define teleBot71 notify teleBot:queryData.*VR_0 set teleBot message VR aus
define teleBot72 notify teleBot:queryData.*VR_1 set LRegL REG_FAN_SPEED_LEVEL 1
define teleBot73 notify teleBot:queryData.*VR_1 set teleBot message VR min
define teleBot74 notify teleBot:queryData.*VR_2 set LRegL REG_FAN_SPEED_LEVEL 2
define teleBot75 notify teleBot:queryData.*VR_2 set teleBot message VR normal
define teleBot76 notify teleBot:queryData.*VR_3 set LRegL REG_FAN_SPEED_LEVEL 3
define teleBot77 notify teleBot:queryData.*VR_3 set teleBot message VR max
define teleBot78 notify teleBot:queryData.*VR_4 set LRegL REG_FAN_SPEED_LEVEL 4
define teleBot79 notify teleBot:queryData.*VR_4 set teleBot message VR Auto
define teleBot9 notify teleBot:queryData.*Temp set svgsend on
#Tor
define teleBot10 notify teleBot:queryData.*Ja_Tor set prxPortB0 on
define teleBot11 notify teleBot:queryData.*Ja_Tor set teleBot message Tor bewegt sich
define teleBot11a notify teleBot:queryData.*Tor_mit_Abfrage set teleBot queryInline (Ja_Tor|Nein_Tor) Sicher?
define teleBot11b notify teleBot:queryData.*Nein_Tor set teleBot queryInline (Hauptmenue) Abgebrochen
define teleBot12 notify teleBot:queryData.*RolloA set R_alle Auf
define teleBot13 notify teleBot:queryData.*RolloA set teleBot message alle Rollos auf
define teleBot14 notify teleBot:queryData.*RolloZ set R_alle Zu
define teleBot15 notify teleBot:queryData.*RolloZ set teleBot message alle Rollos zu
define teleBot16 notify teleBot:queryData.*R_W_A set R_Wolfgang Auf
define teleBot17 notify teleBot:queryData.*R_W_A set teleBot message Rollo Wolfgang auf
define teleBot18 notify teleBot:queryData.*R_W_Z set R_Wolfgang Zu
define teleBot19 notify teleBot:queryData.*R_W_Z set teleBot message Rollo Wolfgang zu
define teleBot20 notify teleBot:queryData.*R_B_A set R_Birgit Auf
define teleBot21 notify teleBot:queryData.*R_B_A set teleBot message Rollo Birgit auf
define teleBot22 notify teleBot:queryData.*R_B_Z set R_Birgit Zu
define teleBot23 notify teleBot:queryData.*R_B_Z set teleBot message Rollo Birgit zu
define teleBot24 notify teleBot:queryData.*R_V_A set R_Veranda Auf
define teleBot25 notify teleBot:queryData.*R_V_A set teleBot message Rollo Veranda auf
define teleBot26 notify teleBot:queryData.*R_V_Z set R_Veranda Zu
define teleBot27 notify teleBot:queryData.*R_V_Z set teleBot message Rollo Veranda zu
define teleBot28 notify teleBot:queryData.*R_A_A set R_Anna Auf
define teleBot29 notify teleBot:queryData.*R_A_A set teleBot message Rollo Anna auf
define teleBot30 notify teleBot:queryData.*R_A_Z set R_Anna Zu
define teleBot31 notify teleBot:queryData.*R_A_Z set teleBot message Rollo Anna zu
define teleBot32 notify teleBot:queryData.*R_LF_A set R_Lina_F Auf
define teleBot33 notify teleBot:queryData.*R_LF_A set teleBot message Rollo Lina_F auf
define teleBot34 notify teleBot:queryData.*R_LF_Z set R_Lina_F Zu
define teleBot35 notify teleBot:queryData.*R_LF_Z set teleBot message Rollo Lina_F zu
define teleBot36 notify teleBot:queryData.*R_LT_A set R_Lina_T Auf
define teleBot37 notify teleBot:queryData.*R_LT_A set teleBot message Rollo Lina_T auf
define teleBot38 notify teleBot:queryData.*R_LT_Z set R_Lina_T Zu
define teleBot39 notify teleBot:queryData.*R_LT_Z set teleBot message Rollo Lina_T zu
define teleBot40 notify teleBot:queryData.*R_WzF_A set R_WzF Auf
define teleBot41 notify teleBot:queryData.*R_WzF_A set teleBot message Rollo WzF auf
define teleBot42 notify teleBot:queryData.*R_WzF_Z set R_WzF Zu
define teleBot43 notify teleBot:queryData.*R_WzF_Z set teleBot message Rollo WzF zu
define teleBot44 notify teleBot:queryData.*R_WzT_A set R_WzT Auf
define teleBot45 notify teleBot:queryData.*R_WzT_A set teleBot message Rollo WzT auf
define teleBot46 notify teleBot:queryData.*R_WzT_Z set R_WzT Zu
define teleBot47 notify teleBot:queryData.*R_WzT_Z set teleBot message Rollo WzT zu
define teleBot48 notify teleBot:queryData.*M_A set Markise Auf
define teleBot49 notify teleBot:queryData.*M_A set teleBot message Markise auf
define teleBot50 notify teleBot:queryData.*M_Z set Markise Zu
define teleBot51 notify teleBot:queryData.*M_Z set teleBot message Markise zu
define teleBot52 notify teleBot:queryData.*T_VR set teleBot message Temp Vorraum {( return sprintf("%.1f C°", ReadingsVal("DS18B20_C29AB2070000","temperature",0)) )}
define teleBot53 notify teleBot:queryData.*T_SK set teleBot message Temp Sommerküche {( return sprintf("%.1f C°", ReadingsVal("Hideki_30_5","temperature",0)) )}
define teleBot54 notify teleBot:queryData.*T_Pool set teleBot message Temp Pool {( return sprintf("%.1f C°", ReadingsVal("DS18B20_FF532A361604","temperature",0)) )}
define teleBot55 notify teleBot:queryData.*T_W set teleBot message Temp Wolfgang {( return sprintf("%.1f C°", ReadingsVal("DS18B20_7F48B3070000","temperature",0)) )}
define teleBot56 notify teleBot:queryData.*T_WZ set teleBot message Temp Wohnzimmer {( return sprintf("%.1f C°", ReadingsVal("Temp_WZ","Temperatur",0)) )}
define teleBot57 notify teleBot:queryData.*T_L set teleBot message Temp Lina {( return sprintf("%.1f C°", ReadingsVal("DS18S20_7D7319030800","temperature",0)) )}
define teleBot58 notify teleBot:queryData.*T_Aus set teleBot message Temp Aussen {( return sprintf("%.1f C°", ReadingsVal("DS18B20_FFB804361603","temperature",0)) )}
define teleBot59 notify teleBot:queryData.*WZ_Licht set prxPortB7 on
define teleBot60 notify teleBot:queryData.*WZ_Licht set teleBot message WZ_Licht schalten
define teleBot61 notify teleBot:queryData.*Hauptmenue set teleBot queryInline (Licht|Rollos) (Lueftung|Torantrieb|Temperaturen) Hauptmenü
define teleBot62 notify teleBot:queryData.*Licht set teleBot queryInline (WZ_Licht) (Hauptmenue) Licht
define teleBot63 notify teleBot:queryData.*Rollos set teleBot queryInline (RolloA|RolloZ) (R_W_A|R_W_Z|R_B_A|R_B_Z) (R_WzF_A|R_WzF_Z|R_WzT_A|R_WzT_Z) (R_LF_A|R_LF_Z|R_LT_A|R_LT_Z) (R_A_A|R_A_Z|R_V_A|R_V_Z) (M_A|M_Z) (Hauptmenue) Rollos
define teleBot64 notify teleBot:queryData.*Lueftung set teleBot queryInline (VRmax) (VRein|VRaus|VRmax|VRmaxoff) (VR_0|VR_1|VR_2|VR_3|VR_4) (Hauptmenue) Lüftung
define teleBot65 notify teleBot:queryData.*Torantrieb set teleBot queryInline (Tor_mit_Abfrage) (Hauptmenue) Torantrieb
define teleBot66 notify teleBot:queryData.*Temperaturen set teleBot queryInline (T_W|T_WZ|T_L|T_VR) (T_Aus|T_Pool|T_SK) (Temperaturkurve:Temp) (Hauptmenue) Temperaturen
Ich habe mir das jetzt nicht im detail angeschaut und habe ich nicht vollständig verstanden, was Du machst.
Aber ohne default peer muss im entsprechend set ... message Befehl ein peer explizit angegeben werden an wen soll das sonst geschickt werden?
Hallo viegener!
Anders gefragt:
Was muss ich einstellen damit mehrere Personen mit Telegram kommunizieren können?
default peer geht nicht sonst bekommt nur der default peer die Antwort.
peer explizit geht auch nicht da ich ja nicht weis wer den jetzt kommunizieren will.
Also müsste "peer explizit" als Variable ausgeführt werden.
sollte nicht cmdRespondChat für das zuständig sein?
Ich hoffe mich verständlich ausgedrückt zu haben.
lg
Wolfgang
Zitat von: wthiess am 13 Januar 2017, 10:47:38
Hallo viegener!
Anders gefragt:
Was muss ich einstellen damit mehrere Personen mit Telegram kommunizieren können?
default peer geht nicht sonst bekommt nur der default peer die Antwort.
peer explizit geht auch nicht da ich ja nicht weis wer den jetzt kommunizieren will.
Also müsste "peer explizit" als Variable ausgeführt werden.
sollte nicht cmdRespondChat für das zuständig sein?
Ich hoffe mich verständlich ausgedrückt zu haben.
lg
Wolfgang
Nein, cmdRespondChat sagt nur, dass eine Antwort, die der TelegramBot erzeugt (!) in einem Gruppenchat erfolgt und nicht im persönlichen chat.
Wenn Du selber eine Nachricht verschickst kannd er Bot ja nicht ahnen auf was Du gerade antwortest und an wen das gehen soll. Also musst Du da den peer mitgeben. Analogie - wenn Du einen Brief beantwortest musst Du die Adresse ja auch selber draufschreiben, denn die Post weiss ja nichts vom Inhalt. OK ich gebe zu diese Analogie stammt aus einer anderen Zeit ;)
Also msg / snd... senden entweder an die übergebenen Peers oder an den DefaultPeer wenn keiner drin steht oder es gibt einen Fehler.
Hallo viegener!
Frage1: Gibt es eine Möglichkeit "queryInline" an den Sender zurückzusenden?
Nach Eingabe von /s kommt der Button zum sender zurück. Wenn ich auf diesen klicke, bekommt nur der defaultPeer das Menü.
attr teleBot favorites [Buttons]=set teleBot queryInline (Licht|Rollos) (Lueftung|Torantrieb|Temperaturen) Hauptmenü
Frage2: Kann in Fhem 2 verschieden Bot verwalten. Damit wäre mein Problem auch gelöst. Ich lege einfach alles 2x an. Ist zwar etwas umständlich aber wenns geht.
lg
Wolfgang
Siehe den Beispielcode in der Wiki-Doku für PostMe.
LG
pah
Zitat von: wthiess am 13 Januar 2017, 17:32:28
Hallo viegener!
Frage1: Gibt es eine Möglichkeit "queryInline" an den Sender zurückzusenden?
Nach Eingabe von /s kommt der Button zum sender zurück. Wenn ich auf diesen klicke, bekommt nur der defaultPeer das Menü.
attr teleBot favorites [Buttons]=set teleBot queryInline (Licht|Rollos) (Lueftung|Torantrieb|Temperaturen) Hauptmenü
Frage2: Kann in Fhem 2 verschieden Bot verwalten. Damit wäre mein Problem auch gelöst. Ich lege einfach alles 2x an. Ist zwar etwas umständlich aber wenns geht.
lg
Wolfgang
Ich bin mir nicht sicher, wie ich es noch erklären soll, Du musst einen peer angeben beim senden. Also wird ein statement in einem notify
set teleBot message VRein
an den Default peer und nicht an einen von Dir gefühlten Sender gehen.
Also musst Du Dir diesen Peer irgendwo merken (z.B. in einem Dummy) oder in perl code oder durch duplizieren des gesamten Bots und der notifies etc
Hallo!
Ich habe es nun über einen dummy gelöst. Allerdings passiert die Änderung der ID erst wenn ich ein Telegram an den Bot sende. Deshalb kann es sein das die erste Antwort der andere bekommt. ansonsten funktioniert mein System wie gewollt. Danke für die Hilfe.
Hier muss ich noch etwas feilen.
lg
Wolfgang
Hallo. Bin gerade noch im aufbau meiner bot. Habe dabei ein kleines Idee: Es ware einfach (mit was ich davon geplant hab) um neben die "allowedCommands" einfach ein attribut/möglichkeit zu haben die Commands zu limitieren auf die "favourites". Also, ich mache gerade favourites fur alles was ich an commands annehmen woll uber ein bot. Ich sollte diese also in allowedCommands irgendwie duplizieren. Ein spezifikes attribut wäre schon. Nur ein kleines idee?
Zitat von: blommaep am 16 Januar 2017, 17:17:56
Hallo. Bin gerade noch im aufbau meiner bot. Habe dabei ein kleines Idee: Es ware einfach (mit was ich davon geplant hab) um neben die "allowedCommands" einfach ein attribut/möglichkeit zu haben die Commands zu limitieren auf die "favourites". Also, ich mache gerade favourites fur alles was ich an commands annehmen woll uber ein bot. Ich sollte diese also in allowedCommands irgendwie duplizieren. Ein spezifikes attribut wäre schon. Nur ein kleines idee?
@blommaep:
generell wäre das wohl eine sinnvolle Idee, das würde aber erforderen, dass beim Setzen der Favoriten im TelegramBot die Kommandos extrahiert werden. Das passiert heute nicht. Ich möchte das parsen von Commands im TelegramBot nicht nachbilden, deshalb ist das momentan ein manueller Schritt. Allerdings verwende ich allowedCommands bei mir sogar gar nicht, denn in meinen Favoriten stecken soviele verschiedene Kommands (inkl perl-Aufrufe), dass eine Einschränkung über allowedCommands sinnlos wäre.
Generell gilt aus meiner Sicht, wenn man viele verschiedene Kommandos per favoriten aufruft, hilft allowedCommands nicht weiter. Generell gilt der TelegramBot öffnet einen Zugang von aussen, hier sollte man immer bewusst wissen was man tut.
Let me know if english would be better for a reply?
Nachdem meine Kopplung des TelegramBots mit dem PostMe Modul in myutils auf über 600 Zeilen angewachsen war, habe ich am Sonntag angefangen dafür ein Modul zu implementieren, dass diese Kopplung auch für andere nutzbar zu machen. Die Kopplung zwischen TelegramBot und dem ListManagerBot ist komplett ohne zusätzliche notify devices und perl code lauffähig alles läuft über Attribute und set-Befehle.
Hintergrund, es geht darum Einkaufs- oder Todolisten (PostMe-Modul) mit Telegrambot zu pflegen und anzuzeigen über telegramBot-Dialoge (inline keyboards). Ziel ist die darin enthaltenen Funktionen - umsortieren / zweispaltige Liste / entfernen und verändern von Einträgen, die jetzt schon funktionieren bereitzustellen und anderes dazu...
Gibt es Interesse an einem solchen Modul?
Ich habe mal ein paar screenshots angehängt
Klar habe ich interesse, verfolge die Entwicklung dort schon lange, bisher wurde mir nur zuviel Code geändert, um es bei mir schon produktiv einzusetzen...
Aber mit so einem Modul wird das natürlich alles gleich viel einfacher!!
ich hätte auch Interesse. Hab schon mal angefangen den Code aus dem Wiki bei mir einzuarbeiten, da es an Perl Kenntnissen ein wenig fehlt würde mir ein Modul gerade recht kommen :)
Vielen Dank für die tolle Arbeit;)
Viele Grüsse
Flo
Natürlich,
danke für die tolle Entwicklung!
LG
Na das ist ja doch einiges an Interesse: Also dann versuche ich mal zu beschreiben wie das abläuft:
Benötigt wird - solange das Modul noch inoffiziell ist
- Eine aktuelle FHEM-Version
- Das neueste TelegramBot-Modul aus Github (hier : https://github.com/viegener/Telegram-fhem (https://github.com/viegener/Telegram-fhem) und das neue Modul 49_TBot_List.pm auch aus Github - im selben Repository hier https://github.com/viegener/Telegram-fhem/tree/master/TBot_List (https://github.com/viegener/Telegram-fhem/tree/master/TBot_List)
- Beide müssen installiert sein (FHEM restart)
Anlegen der Kopplung(Annahme - TelegramBot - telebot existiert und ist eingerichtet inklusive allowedPeers
- Optional: Neues PostMe Device testpostme und Liste testlist
define testpostme PostMe
set testpostme create testlist
- Neues TBotList Device testlistbot
define testlistbot TBot_List testpostme testlist
attr testlistbot telegramBots telebot
- Favoriten zum Start des Dialogs anlegen (im attribute favorites in telebot)
/l=set testlistbot start telebot;
Dann kann man mit /l im telegram client die Interaktion starten
Also eigentlich nur 2-3 Schritte und kein perl ;)
Achso: Bei Problemen kann ich leider erst am Wochenende wieder wirklich helfen...
Hi everyone,
könnte mir jemand etwas Hilfe geben bei folgender Anforderung:
Ich möchte gerne die letzten 10 Zeilen meines aktuellen fhem-logfiles auf Anfrage per telegram schicken. Ich habe eine 99_myUtilsTelegramMessenger.pm eingerichtet, die mir ReadingsVal oder einfach nur Texte schickt. Aber wie kann ich z.B. mir das Ergebnis eines shell commands schicken lassen z.B.
tail -10 /opt/fhem/log/fhem-2017-01.log
und: Wie ermittle ich das aktuelle logfile für das oben Stehende? Im globals attribut logfile steht bei mir ./log/fhem-%Y-%m.log. Im globals internal habe ich currentlogfile, da steht der aktuelle Wert drin. Kann ich diesen internals Wert irgendwie abfragen?
Irgendeine Idee dazu wäre sehr hilfreich.
Viele Grüße vom gent
sooo, hab gerade den ListenBot eingerichtet und funktioniert soweit schon super!
Bei globalem Verbose 3 werden allerdings noch ziemlich viele Logeinträge erzeugt. Hier nur ein Auszug:
VLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_idx-2:
2017.01.17 22:02:51 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7182
2017.01.17 22:02:55 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_rem-2:
2017.01.17 22:02:55 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:02:55 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_rem-2:
2017.01.17 22:02:56 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7182
2017.01.17 22:02:58 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_remyes-2:
2017.01.17 22:02:58 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:02:58 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_remyes-2:
2017.01.17 22:02:58 3: [Postme] Removed item Kuchen Rolle from PostMe named Einkaufsliste
2017.01.17 22:02:58 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_edit: arg : Eintrag geloescht:
2017.01.17 22:02:59 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7182
2017.01.17 22:03:02 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_askadd:
2017.01.17 22:03:02 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:02 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_askadd:
2017.01.17 22:03:02 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7183
2017.01.17 22:03:12 3: TBot_List_handleEvents testlistbot: found msgReplyMsgId msgReplyMsgId: 7183
2017.01.17 22:03:12 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_add: arg :Butter:
2017.01.17 22:03:12 3: [Postme] Added item Butter to PostMe named Einkaufsliste
2017.01.17 22:03:12 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list: arg :Eintrag hinzugefuegt:
2017.01.17 22:03:12 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_done:
2017.01.17 22:03:12 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7182
2017.01.17 22:03:13 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7185
2017.01.17 22:03:17 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_ok:
2017.01.17 22:03:17 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:17 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_ok:
2017.01.17 22:03:17 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7185
2017.01.17 22:03:28 3: TelegramBot_ReadHandleCommand jarvisAThome: cmd found :set testlistbot start jarvisAThome:
2017.01.17 22:03:28 3: TBot_List_Set testlistbot: start of dialog requested
2017.01.17 22:03:28 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list:
2017.01.17 22:03:28 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7187
2017.01.17 22:03:33 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_askadd:
2017.01.17 22:03:33 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:33 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_askadd:
2017.01.17 22:03:33 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7188
2017.01.17 22:03:41 3: TBot_List_handleEvents testlistbot: found msgReplyMsgId msgReplyMsgId: 7188
2017.01.17 22:03:41 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_add: arg :Marmelade:
2017.01.17 22:03:41 3: [Postme] Added item Marmelade to PostMe named Einkaufsliste
2017.01.17 22:03:41 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list: arg :Eintrag hinzugefuegt:
2017.01.17 22:03:41 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_done:
2017.01.17 22:03:41 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7187
2017.01.17 22:03:41 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7190
2017.01.17 22:03:46 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_idx-3:
2017.01.17 22:03:46 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:46 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_idx-3:
2017.01.17 22:03:46 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7190
2017.01.17 22:03:49 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_totop-3:
2017.01.17 22:03:49 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:49 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_totop-3:
2017.01.17 22:03:49 3: [PostMe_Clear] Cleared PostMe named Einkaufsliste
2017.01.17 22:03:49 3: [Postme] Added item Marmelade,Klopapier,Kornflakes,Butter to PostMe named Einkaufsliste
Wenn ich im Modul auf Verbose 5 stelle gehts
017.01.17 22:30:39 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:30:42 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:30:43 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:30:43 3: [Postme] Removed item Butter from PostMe named Einkaufsliste
2017.01.17 22:30:47 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:30:51 3: [Postme] Added item Tee to PostMe named Einkaufsliste
2017.01.17 22:31:12 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:26 3: [Postme] Added item Glasreiniger to PostMe named Einkaufsliste
2017.01.17 22:31:30 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:41 3: [Postme] Added item Wurst Käse to PostMe named Einkaufsliste
2017.01.17 22:31:44 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:47 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:48 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:48 3: [Postme] Removed item Wurst Käse from PostMe named Einkaufsliste
2017.01.17 22:32:07 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:32:16 3: [Postme] Added item Wurst , Käse to PostMe named Einkaufsliste
Was noch echt Top wäre:
Wenn man mit der Liste fertig ist und OK wählt bekommt man die ganze Liste Geschickt. Wenn man jetzt noch z.B. über ein Attribut auswählen könnte einen Text den man zusätzlich noch geschickt bekommt.
Mein Anwendungsfall:
Ich habe einen Dialog in den 99_MyUtils, die auch hier im Forum mal geteilt wurde. Diesen Dialog habe ich mir so eingerichtet, dass ich nur mit klicken durchkomme. Ich lasse mir also immer /Hauptmenü
anzeigen. Wenn ich mir dass jetzt noch automatisch nach der Liste mitschicken lassen kann dann wäre dass für mich und vor allem für den WAF perfekt :)
Vielen Dank schon mal für das Modul
Viele Grüße
Flo
Zitat von: ripper am 17 Januar 2017, 22:47:50
sooo, hab gerade den ListenBot eingerichtet und funktioniert soweit schon super!
Bei globalem Verbose 3 werden allerdings noch ziemlich viele Logeinträge erzeugt. Hier nur ein Auszug:
VLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_idx-2:
2017.01.17 22:02:51 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7182
2017.01.17 22:02:55 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_rem-2:
2017.01.17 22:02:55 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:02:55 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_rem-2:
2017.01.17 22:02:56 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7182
2017.01.17 22:02:58 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_remyes-2:
2017.01.17 22:02:58 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:02:58 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_remyes-2:
2017.01.17 22:02:58 3: [Postme] Removed item Kuchen Rolle from PostMe named Einkaufsliste
2017.01.17 22:02:58 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_edit: arg : Eintrag geloescht:
2017.01.17 22:02:59 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7182
2017.01.17 22:03:02 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_askadd:
2017.01.17 22:03:02 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:02 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_askadd:
2017.01.17 22:03:02 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7183
2017.01.17 22:03:12 3: TBot_List_handleEvents testlistbot: found msgReplyMsgId msgReplyMsgId: 7183
2017.01.17 22:03:12 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_add: arg :Butter:
2017.01.17 22:03:12 3: [Postme] Added item Butter to PostMe named Einkaufsliste
2017.01.17 22:03:12 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list: arg :Eintrag hinzugefuegt:
2017.01.17 22:03:12 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_done:
2017.01.17 22:03:12 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7182
2017.01.17 22:03:13 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7185
2017.01.17 22:03:17 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_ok:
2017.01.17 22:03:17 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:17 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_ok:
2017.01.17 22:03:17 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7185
2017.01.17 22:03:28 3: TelegramBot_ReadHandleCommand jarvisAThome: cmd found :set testlistbot start jarvisAThome:
2017.01.17 22:03:28 3: TBot_List_Set testlistbot: start of dialog requested
2017.01.17 22:03:28 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list:
2017.01.17 22:03:28 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7187
2017.01.17 22:03:33 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_askadd:
2017.01.17 22:03:33 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:33 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_askadd:
2017.01.17 22:03:33 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7188
2017.01.17 22:03:41 3: TBot_List_handleEvents testlistbot: found msgReplyMsgId msgReplyMsgId: 7188
2017.01.17 22:03:41 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_add: arg :Marmelade:
2017.01.17 22:03:41 3: [Postme] Added item Marmelade to PostMe named Einkaufsliste
2017.01.17 22:03:41 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list: arg :Eintrag hinzugefuegt:
2017.01.17 22:03:41 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_done:
2017.01.17 22:03:41 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7187
2017.01.17 22:03:41 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7190
2017.01.17 22:03:46 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_idx-3:
2017.01.17 22:03:46 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:46 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_idx-3:
2017.01.17 22:03:46 3: TBot_List_handleEvents testlistbot: found sentMsgId sentMsgId: 7190
2017.01.17 22:03:49 3: TBot_List_Get testlistbot: queryAnswer requested tbot:jarvisAThome: peer:1234567: qdata:testlistbot%list_totop-3:
2017.01.17 22:03:49 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:03:49 3: JVLISTMGR_handler: testlistbot - jarvisAThome peer :1234567: cmd :list_totop-3:
2017.01.17 22:03:49 3: [PostMe_Clear] Cleared PostMe named Einkaufsliste
2017.01.17 22:03:49 3: [Postme] Added item Marmelade,Klopapier,Kornflakes,Butter to PostMe named Einkaufsliste
Wenn ich im Modul auf Verbose 5 stelle gehts
017.01.17 22:30:39 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:30:42 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:30:43 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:30:43 3: [Postme] Removed item Butter from PostMe named Einkaufsliste
2017.01.17 22:30:47 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:30:51 3: [Postme] Added item Tee to PostMe named Einkaufsliste
2017.01.17 22:31:12 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:26 3: [Postme] Added item Glasreiniger to PostMe named Einkaufsliste
2017.01.17 22:31:30 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:41 3: [Postme] Added item Wurst Käse to PostMe named Einkaufsliste
2017.01.17 22:31:44 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:47 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:48 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:31:48 3: [Postme] Removed item Wurst Käse from PostMe named Einkaufsliste
2017.01.17 22:32:07 3: get jarvisAThome peerId 1234567 : 1234567
2017.01.17 22:32:16 3: [Postme] Added item Wurst , Käse to PostMe named Einkaufsliste
Was noch echt Top wäre:
Wenn man mit der Liste fertig ist und OK wählt bekommt man die ganze Liste Geschickt. Wenn man jetzt noch z.B. über ein Attribut auswählen könnte einen Text den man zusätzlich noch geschickt bekommt.
Mein Anwendungsfall:
Ich habe einen Dialog in den 99_MyUtils, die auch hier im Forum mal geteilt wurde. Diesen Dialog habe ich mir so eingerichtet, dass ich nur mit klicken durchkomme. Ich lasse mir also immer /Hauptmenü
anzeigen. Wenn ich mir dass jetzt noch automatisch nach der Liste mitschicken lassen kann dann wäre dass für mich und vor allem für den WAF perfekt :)
Vielen Dank schon mal für das Modul
Viele Grüße
Flo
hach es funktioniert nicht nur bei mir - Genial
Ja das mit den vielen Meldungen war wichtig, wenn es bei anderen nicht funktioniert. Ich habe mal noch eine Version mit etwas ausgedünnten Meldungen in github hinterlegt.
Die Anforderung nehme ich mal auf die Liste.
Hab gerade mal die neue Version runtergeladen.
Nach einem
reload 49_TBot_List
bekomme ich
ZitatUnrecognized character \xC2; marked by <-- HERE after gram-fhem <-- HERE near column 78 at ./FHEM/49_TBot_List.pm line 22.
Nach einem Neustart von Fhem kann das Modul nicht geladen werden
ZitatMessages collected while initializing FHEM:
configfile: Cannot load module TBot_List
Grüße
Flo
Hallo,
ich habe nach dem Tutorial von https://haus-automatisierung.com mir den TelegramBot eingerichtet.
Wie kann ich einstellen, dass er nur von bestimmten Nutzern Anweisungen entgegen nimmt? Also dass nicht irgendwer, der zufällig auf den Bot stößt da einfach was hin sendet.
Zitat von: Laire am 18 Januar 2017, 11:11:37
Hallo,
ich habe nach dem Tutorial von https://haus-automatisierung.com mir den TelegramBot eingerichtet.
Wie kann ich einstellen, dass er nur von bestimmten Nutzern Anweisungen entgegen nimmt? Also dass nicht irgendwer, der zufällig auf den Bot stößt da einfach was hin sendet.
Commandref --> TelegramBot-->Attribute --> allowUnknownContacts <1 or 0>
Allow new contacts to be added automatically (1 - Default) or restrict message reception only to known contacts and unknwown contacts will be ignored (0).
Grüße
Zitat von: Esjay am 18 Januar 2017, 11:50:59
Commandref --> TelegramBot-->Attribute --> allowUnknownContacts <1 or 0>
Allow new contacts to be added automatically (1 - Default) or restrict message reception only to known contacts and unknwown contacts will be ignored (0).
Grüße
Grundsätzlich ist meine Empfehlung auf jeden Fall das Attribut
cmdRestrictedPeer zu verwenden
Zitat von: ripper am 18 Januar 2017, 10:30:22
Hab gerade mal die neue Version runtergeladen.
Nach einem reload 49_TBot_List
bekomme ich
Nach einem Neustart von Fhem kann das Modul nicht geladen werden
Grüße
Flo
Ich vermute, Du hast aus Github nicht die Datei "raw" heruntergeladen, sondern die HTML-Datei abgespeichert. Du musst die Perl-Datei (raw-Button in github) herunterladen und speichern
Zitat von: viegener am 20 Januar 2017, 01:39:27
Ich vermute, Du hast aus Github nicht die Datei "raw" heruntergeladen, sondern die HTML-Datei abgespeichert. Du musst die Perl-Datei (raw-Button in github) herunterladen und speichern
stimmt....war zwar eine *.pm Datei, aber mit HTML Inhalt.
Gerade nochmal probiert. Kaum macht mans richtig gehts auch. Mit global verbose 3 werden jetzt deutlich weniger Logeinträge angezeigt.
2017.01.20 08:46:25 3: [Postme] Added item Holzkohle to PostMe named Einkaufsliste
2017.01.20 08:46:37 3: get jarvisAThome peerId 123456 : 123456
2017.01.20 08:46:40 3: get jarvisAThome peerId 123456 : 123456
2017.01.20 08:46:42 3: get jarvisAThome peerId 123456 : 123456
2017.01.20 08:46:42 3: [Postme] Removed item Käse from PostMe named Einkaufsliste
2017.01.20 08:47:03 3: get jarvisAThome peerId 123456 : 123456
2017.01.20 08:47:14 3: [Postme] Added item Bier to PostMe named Einkaufsliste
2017.01.20 08:47:25 3: get jarvisAThome peerId 123456 : 123456
2017.01.20 08:47:32 3: get jarvisAThome peerId 123456 : 123456
2017.01.20 08:47:46 3: [PostMe_Clear] Cleared PostMe named Einkaufsliste
2017.01.20 08:47:46 3: [Postme] Added item ,Marmelade,Kornflakes,Kaffee,Tee,Waschmittel,Holzkohle,Bier to PostMe named Einkaufsliste
2017.01.20 08:48:02 3: get jarvisAThome peerId 123456 : 123456
2017.01.20 08:48:10 3: get jarvisAThome peerId 123456 : 123456
2017.01.20 08:48:14 3: get jarvisAThome peerId 123456 : 123456
2017.01.20 08:48:14 3: [Postme] Removed item Kornflakes from PostMe named Einkaufsliste
2017.01.20 08:48:21 3: get jarvisAThome peerId 123456 : 123456
Läuft super ;D
Moin,
ich habe da mal eine Frage :-)
Ich lasse mir zu einer bestimmten Zeit eine Meldung aus FHEM schicken, klappt auch alles prima.
Jetzt würde ich dieser Nachricht gerne eine Schaltfläche Ja / Nein mitgeben, die ich dann nur noch bestätigen muss.
Vorhanden sind
_ein Dummy für die Uhrzeit
_ein DOIF für die Meldung
([([dum_Test_Telegram]-30)])
((set teleBot message die Rollos im EG fahren in 30 Minuten zu,\num genau [dum_Test_Telegram] Uhr,\nsoll die Terrassentür offen bleiben?))
_Favoriten: cmd 1, cmd 2
/[Steuerung Terrassentür: automatik]=set dum_RolloTerrassentuer automatik;/[Steuerung Terrassentür: manuell]=set dum_RolloTerrassentuer manuell
Kann mir jemand dabei helfen?
Danke, Gruß Dirk
Hallo - Ich habe mal ein wenig Zeit gefunden weiter zu testen.
- Der Chat funktioniert soweit mit dem neuen Attribut [attr cmdRespondChat 1]
- Die Restriktionen über [attr cmdRestrictedPeer] scheinen jedoch unlogisch zu sein.
- Es ist nirgends Dokumentiert, dass der Chat als Peer in [attr cmdRestrictedPeer] auftauchen muss.
Nach meinem Empfinden ist die Zeile 877 im Code auch nicht notwendig - diese ist jedoch für diese Logik verantwortlich. Die Sicherheit ist gegeben, nur der entsprechende Nutzer ein Kommando ausführen darf, welches eine Zeile vorher geprüft wurde.
877 return ( undef, 1 ) if ( ( $mchatnorm ) && ( ! TelegramBot_checkAllowedPeer( $hash, $mchatnorm, $mtext ) ) );
Zitat von: RomanticBoy83 am 22 Januar 2017, 15:21:02
Hallo - Ich habe mal ein wenig Zeit gefunden weiter zu testen.
- Der Chat funktioniert soweit mit dem neuen Attribut [attr cmdRespondChat 1]
- Die Restriktionen über [attr cmdRestrictedPeer] scheinen jedoch unlogisch zu sein.
- Es ist nirgends Dokumentiert, dass der Chat als Peer in [attr cmdRestrictedPeer] auftauchen muss.
Nach meinem Empfinden ist die Zeile 877 im Code auch nicht notwendig - diese ist jedoch für diese Logik verantwortlich. Die Sicherheit ist gegeben, nur der entsprechende Nutzer ein Kommando ausführen darf, welches eine Zeile vorher geprüft wurde.
877 return ( undef, 1 ) if ( ( $mchatnorm ) && ( ! TelegramBot_checkAllowedPeer( $hash, $mchatnorm, $mtext ) ) );
Es gibt noch keine Dokumentation für cmdRespondChat - deshalb ist die Restriktion nicht dokumentiert.
Die Zeile 877 möchte ich gerne erhalten, da es aus meiner Sicht eine bewusste Entscheidung sein sollte einen Chat für TelegramBot-Kommandos freizugeben.
Hallo,
habe seit dem Update gestern folgene Fehlermeldung ..
fhem> list Icebearbot PollingLastError
Icebearbot 2017-01-22 16:54:14 Callback returned no valid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset.
Any Ideas ?
Zitat von: Icebear am 22 Januar 2017, 16:57:29
Hallo,
habe seit dem Update gestern folgene Fehlermeldung ..
fhem> list Icebearbot PollingLastError
Icebearbot 2017-01-22 16:54:14 Callback returned no valid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset.
Any Ideas ?
- Was meinst Du mit Update gestern (aus github oder über FHEM update)? - Die FHEM-Version hat sich seit Dezember nicht geändert
- Kommt die Meldung einmalig oder mehrfach (beim senden oder empfangen)?
Hallo, super Modul.
Eine Einsteigerfrage:
- Wie frage ich per Telegram Client beim Bot am besten Readings und UserReadings von Devices ab? Über get komme ich an die Readings nicht ran und list ist zu ungenau, ich möchte ja den Wert eines einzelnen readings oder eines userradings.
Danke und Gruß
Hi,
Fhem update ..
Lustigerweise antwortet er aber ....
Ka was da ls ist :-)
Gesendet von meinem E39 mit Tapatalk
Zitat von: awex102 am 22 Januar 2017, 18:20:03
Hallo, super Modul.
Eine Einsteigerfrage:
- Wie frage ich per Telegram Client beim Bot am besten Readings und UserReadings von Devices ab? Über get komme ich an die Readings nicht ran und list ist zu ungenau, ich möchte ja den Wert eines einzelnen readings oder eines userradings.
Danke und Gruß
Hi.
Mit list device readingname kannst auch einzelreadings abfragen ..
Ansonsten ueber perl einen befehl bauen der dir das gewuenschte zusammenstellt ....
Hab das mit meinen FHTs so gemacht
Gesendet von meinem E39 mit Tapatalk
Zitat... eine bewusste Entscheidung sein sollte einen Chat für TelegramBot-Kommandos freizugeben.
Das hast du doch auch genau so implementiert. Ohne das "attr cmdResponsChat 1" würde die Antwort nie im chat landen. Ist in meinem Empfinden doppelte Prüfung. Aber, ja es macht Sinn wenn es einen Chat geben soll in welchem keine Kommandos erlaubt wären in einem andern oder privat aber schon.
Nochmal Hutab vor dieser Implementierung hier.
Zitat von: RomanticBoy83 am 22 Januar 2017, 18:35:19
Das hast du doch auch genau so implementiert. Ohne das "attr cmdResponsChat 1" würde die Antwort nie im chat landen. Ist in meinem Empfinden doppelte Prüfung. Aber, ja es macht Sinn wenn es einen Chat geben soll in welchem keine Kommandos erlaubt wären in einem andern oder privat aber schon.
Nochmal Hutab vor dieser Implementierung hier.
Danke :)
Ja, genau das ist die Idee - es soll chats geben in denen Kommandos und deren Resultate erlaubt sind und "andere". Es ging aber auch darum, dass ich bei Öffnung nach aussen lieber eine doppelte Prüfung von Identifikationen machen will und bewusste Entscheidungen des Benutzers haben möchte.
Wenn ich früher daran gedacht hätte, so wäre das Setzen von cmdRestrictedPeer erzwungen, aber ich möchte ungern inkompatibel ändern
Zitat von: awex102 am 22 Januar 2017, 18:20:03
Hallo, super Modul.
Eine Einsteigerfrage:
- Wie frage ich per Telegram Client beim Bot am besten Readings und UserReadings von Devices ab? Über get komme ich an die Readings nicht ran und list ist zu ungenau, ich möchte ja den Wert eines einzelnen readings oder eines userradings.
Danke und Gruß
In set-Befehlen erlaubt FHEM (nicht spezifisch für telegram) das einfügen von Readings etc in den Argumenten. Also so etwas wie
set telegrambot msg Die Temperatur ist [temperaturdevice:temperaturreadingname] Grad
In der commandref zu FHEM findest du im set-Befehl mehr Informationen. In diesem Thread ist auch das eine oder andere Beispiel versteckt
Zitat von: Icebear am 22 Januar 2017, 18:25:57
Hi,
Fhem update ..
Lustigerweise antwortet er aber ....
Ka was da ls ist :-)
Wenn Du etwas mehr Infos (siehe Fragen oben) gibtst kann ich versuchen Dir zu helfen?
Zitat von: Icebear am 22 Januar 2017, 16:57:29
fhem> list Icebearbot PollingLastError
Icebearbot 2017-01-22 16:54:14 Callback returned no valid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset.
Bei mir auch. Das letzte FHEM update ist sicher 2 Wochen her, definierte Meldungen bekomme ich noch, aber Anfragen über den Telegram Client werden nicht beantwortet. Bin jetzt unterwegs und kann nicht viel mehr liefern, hab aber über andFhem die o.g. Fehlermeldung im Telegram Bot gesehen.
PollingLastError
Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1882.
sentMsgResult
Callback returned error:Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 492:
Die Fehler kommen wenn parseModeSend auf 1_Markdown steht.
Hallo zusammen,
ich habe ein DOIF, dass auf das Wort "Garage" hoert um mir dann zurueck zu geben ob diese offen oder zu ist:
(([telegrambot:"garage"]) or ([telegrambot:"Garage"]) and [?telegrambot:msgPeerId] =~ /*****/) (set telegrambot message Garagentor: [Garagentor:state])
Wenn ich jetzt aber ein telegram versende, wenn die Batterie im Garagentorsensor leer ist, nach dem Motto "Batterie Garagentor leer", dann bekomm eich eine Endlosschleife des telegrambot, da dieser auf das gesendete "Garage" genauso reagiert, wie auf das empfangene. Wie kann ich hier zwischen gesendet und empfangen unterscheiden?
Zitat von: sinus61 am 23 Januar 2017, 16:52:10
PollingLastError
Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1882.
sentMsgResult
Callback returned error:Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 492:
Die Fehler kommen wenn parseModeSend auf 1_Markdown steht.
Das sind zwei ganz unterschiedliche Meldungen vielleicht kannst Du etwas mehr Informationen liefern?
1) Polling error
Normalerweise weist diese Fehler darauf hin, dass entweder die Server bei telegram überlastet sind oder ansonsten im Übertragungsweg ein Fehler auftritt. Denn hier kommt ja eine HTML-Seite zurück und nicht eine Antwort vom telegrambot API. Tritt das nur einmalig auf oder ständig?
Wie ist der Bot eingestellt?
- Hast Du einen Proxy im Netzwerk?
2) sentMsgResult
Hier ist die Frage was sendest Du - sind da Umlaute enthalten oder sonstige Steuerzeichen?
Wiederum passiert das nachvollziehbar bei einer bestimmten Message oder ohne Muster ...
Hallo,
Ich habe seit heute nacht dblog laufen. Seit dem wird der telegrambot auch geloggt. Ich halts im auge da es im moment nicht vorkommt. Sollte es wieder vorkommen habe ich ja auch die meldungen davor/danach inklusiv empfangener/gesendeter sequenzen ....
Gruss aus Dinslaken
Gesendet von meinem E39 mit Tapatalk
Zitat von: micomat am 23 Januar 2017, 18:26:12
Hallo zusammen,
ich habe ein DOIF, dass auf das Wort "Garage" hoert um mir dann zurueck zu geben ob diese offen oder zu ist:
(([telegrambot:"garage"]) or ([telegrambot:"Garage"]) and [?telegrambot:msgPeerId] =~ /*****/) (set telegrambot message Garagentor: [Garagentor:state])
Wenn ich jetzt aber ein telegram versende, wenn die Batterie im Garagentorsensor leer ist, nach dem Motto "Batterie Garagentor leer", dann bekomm eich eine Endlosschleife des telegrambot, da dieser auf das gesendete "Garage" genauso reagiert, wie auf das empfangene. Wie kann ich hier zwischen gesendet und empfangen unterscheiden?
Ich bin jetzt nicht der DOIF-Experte, aber das telegramBot-Modul hat ja sehr verschiedene Readings, da kannst Du ja genauer in Deinem DOIF reagieren.
Generell die Frage, wären nicht die Favoriten geeignet um die Garagenabfrage direkt mit dem Modul zu machen?
Werde ich mir mal ansehen.
Danke :)
Zitat von: viegener am 24 Januar 2017, 00:06:19
Das sind zwei ganz unterschiedliche Meldungen vielleicht kannst Du etwas mehr Informationen liefern?
Einen Proxy habe ich nicht.
Die Meldungen kommen beide immer wenn ich aus dem Telegram Client einen Befehl absetze. Die Befehle werden dann nicht ausgeführt. Das ist bei allen Befehlen die probiert habe so, Umlaute sind da keien drin. Es passiert erst seitdem ich parseModeSend auf 1_Markdown gestellt habe, stelle ich das auf 0 oder 2 funktioniert alles.
Meldungen die ich in fhem definiert habe und die automatisch kommen, kommen auch an, das Markdown wird da auch beachtet. Das geht also.
Gerade nochmal Zuhause getestet, tatsächlich werden die Befehle ausgeführt, es gibt aber im Telegram Client keine Rückmeldung.
2017.01.24 18:18:12 3: TelegramBot_Callback TeleBot: resulted in :Callback returned error:Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 37:: from SendIt
2017.01.24 18:18:12 3: TelegramBot_Callback TeleBot: Reached max retries (ret: Callback returned error:Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 37:) for msg 188133579 : TelegramBot FHEM : \n Befehl:set au_Carport toggle:\n Ergebnis:\nOK
Wie gesagt aber nur wenn parseModeSend auf 1 steht.
Zitat von: sinus61 am 24 Januar 2017, 18:24:36
Gerade nochmal Zuhause getestet, tatsächlich werden die Befehle ausgeführt, es gibt aber im Telegram Client keine Rückmeldung.
2017.01.24 18:18:12 3: TelegramBot_Callback TeleBot: resulted in :Callback returned error:Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 37:: from SendIt
2017.01.24 18:18:12 3: TelegramBot_Callback TeleBot: Reached max retries (ret: Callback returned error:Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 37:) for msg 188133579 : TelegramBot FHEM : \n Befehl:set au_Carport toggle:\n Ergebnis:\nOK
Wie gesagt aber nur wenn parseModeSend auf 1 steht.
Irgendwie komme ich mit den Informationen nicht klar, denn es sind irgendwie viele Bruchstücke dabei:
- Vielleicht kannst Du mal etwas genauer zusammenfassen was Du machst
- was geht und was nicht,
- ob es vorher alles funktioniert hat und welche Änderungen Du vielleicht seitdem gemacht hast.
Ein list des Devices (bitte authtoken maskieren und in Code-tags) wäre hilfreich und vielleicht ein paar Tests, was wirklich geht.
Hab jetzt parseModeSend auf 2 gestellt und die Meldung wo ich Markdown genutzt hatte auf HTML umgestellt, dann läuft alles andere auch wieder. Muss mich jetzt nach dem Ftui Update erstmal um meine Tabs kümmern.
Zitat von: sinus61 am 24 Januar 2017, 18:24:36
Gerade nochmal Zuhause getestet, tatsächlich werden die Befehle ausgeführt, es gibt aber im Telegram Client keine Rückmeldung.
2017.01.24 18:18:12 3: TelegramBot_Callback TeleBot: resulted in :Callback returned error:Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 37:: from SendIt
2017.01.24 18:18:12 3: TelegramBot_Callback TeleBot: Reached max retries (ret: Callback returned error:Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 37:) for msg 188133579 : TelegramBot FHEM : \n Befehl:set au_Carport toggle:\n Ergebnis:\nOK
Wie gesagt aber nur wenn parseModeSend auf 1 steht.
Ahh, Oh wunder - ich habe mir die log message nochmal angeschaut. Ja das kann nicht gehen, denn die nachricht die gesendet werden soll enthält einen Unterstrich(übrigens genau wie telegram sagt an Position 37 in "au_Carport") aber nur einen - Dies sorgt bei parseMode 1 dafür dass ein italic-text nicht abgeschlossen ist.
Stichwort: Sonderzeichen:
Zitat von: viegener am 07 Juni 2016, 20:23:09
Bisher gibt es das nicht, ich nehme das mal auf meine Todoliste, ist aber momentan etwas knapp ich versuche immer noch rauszufinden was momentan die Probleme mit Umlauten auslöst.
Gibt es dazu schon ein Update? Ich möchte mir gerne per Telegram die Liste der Befehle anzeigen lassen, schön gegliedert mit einem Aufzählungszeichen á la "•" - zwar zeigt er das sauber an, aber nach dem Semikolon wird die Anzeige beendet.
Zitat von: Yil am 30 Januar 2017, 09:06:31
Stichwort: Sonderzeichen:
Gibt es dazu schon ein Update? Ich möchte mir gerne per Telegram die Liste der Befehle anzeigen lassen, schön gegliedert mit einem Aufzählungszeichen á la "•" - zwar zeigt er das sauber an, aber nach dem Semikolon wird die Anzeige beendet.
Umlaute und auch Emoticons funktionieren ohne Probleme
Das Semikolon ist in FHEM ein Befehlstrenner, so dass Du hier ";;" verwenden musst, dann wird der Befehl auch nicht getrennt
Ok, danke - so klappt's! :)
Hallo,
ersteinmal vielen Dank für das tolle Modul. Ich benutze es für diverse Zustandsbenachrichtigungen und es funktioniert wunderbar.
Nun wollte ich gern eine Idee vorstellen, bzw. hätte ich einen Feature Request und wollte fragen, ob sich das vielleicht umsetzen lässt.
Ein Beispiel:
Ist die Waschmaschine fertig, schicke ich die Benachrichtigung darüber an eine Gruppe, in der alle Familienmitglieder sind.
Das funktioniert soweit sehr gut, ist aber verbesserungsfähig.
Über die Gruppe bekommen auch alle, die nicht zu Hause sind, eine Nachricht. Das ist aber Quatsch, denn von unterwegs können sie die Maschine nicht leeren.
Ich würde mir deshalb eine Anbindung an das Residents bzw. Roommate Modul wünschen. Ideal wäre, wenn man den Bot dann beauftragen könnte, eine Nachricht an die einzelnen Kontakte der zu Hause befindlichen Familienmitglieder zu schicken, anstatt an die Gruppe.
Für andere Dinge wäre es interessant eine Nachricht nur an die nicht zu Hause befindlichen Bewohner zu schicken.
Was haltet ihr von der Idee?
Michael
Musst dir mal das "Message-Modul" (msg?) ansehen.
Glaube gelesen zu haben, dass das bereits mit Residents gekoppelt werden kann...
Es ist auch konfigurierbar wann/warum welche Nachricht über welchen Kanal (Mail, Telegram, ...) geschickt wird...
Gruß, Joachim
Hi,
besteht die Möglichkeit beim Kommandosenden aus telegram auch einen Alias anzusprechen ?
Hab nirgends einen Hinweis darauf gefunden.
Gruß
Bodo
Zitat von: gelbwichtel am 01 Februar 2017, 22:55:52
Hi,
besteht die Möglichkeit beim Kommandosenden aus telegram auch einen Alias anzusprechen ?
Hab nirgends einen Hinweis darauf gefunden.
Gruß
Bodo
Kannst Du erklären, was Du mit "einen Alias anzusprechen" meinst?
Generell kann ein Kommando genau dasselbe enthalten, was im Eingabefenster von FHEM möglich ist.
Hi,
so hätte ich das auch mal angenommen.
Ich habe hier eine Minikonfig
define Leuchte FS20 2739 81
attr Leuchte IODev CUL2
attr Leuchte alias Leuchter
attr Leuchte genericDeviceType switch
attr Leuchte room FS20
Die telebotConfig sieht so aus:
define telebot TelegramBot 22.......g7J9LACG4
attr telebot cmdKeyword fhem2
attr telebot cmdRestrictedPeer 3....981
attr telebot defaultPeer 3....981
attr telebot pollingTimeout 120
attr telebot room Devices
define nty_Leuchte notify Leuchte set telebot message Leuchte $EVENT
define nty_Leuchter notify Leuchter set telebot message Leuchter $EVENT
Vom Handy aus schaltet ein fhem2 set Leuchte on die Lampe ein.
Quittung kommt mit Leuchte on
Benutze ich allerdings den Alias, so kommt auf ein fhem2 set Leuchter on als Antwort
TelegramBot FHEM:
Befehl: set Leuchter on:
Ergebnis:
Please define Leuchter first
Schalte ich von der Oberfläche aus den Leuchter, so wird mit set Leuchte on/off quittiert.
Steh ich total auf dem Schlauch, oder geht das wirklich nicht ?
Vorab mal Danke für jegliche Hilfestellung.
Zitat von: gelbwichtel am 02 Februar 2017, 19:08:49
Benutze ich allerdings den Alias, so kommt auf ein fhem2 set Leuchter on als Antwort
TelegramBot FHEM:
Befehl: set Leuchter on:
Ergebnis:
Please define Leuchter first
Schalte ich von der Oberfläche aus den Leuchter, so wird mit set Leuchte on/off quittiert.
Steh ich total auf dem Schlauch, oder geht das wirklich nicht ?
Vorab mal Danke für jegliche Hilfestellung.
Wie gesagt es geht das, was Du auch im Eingabefenster eingeben kannst.
Wenn Du
set Leuchter on
in der Kommandoeingabe von fhemweb eingibst kommt dieselbe Fehlermeldung.
@Mad-MaxFHEM:
Vielen Dank für die Info! Das schaue ich mir mal an. :)
Hallo viegener,
in der Tat hab ich auf der Oberfläche den gleichen Fehler, wenn ich das set Kommand eingebe, obwohl ja als Gerät im Raum FS20 der Alias Leuchter und nicht Leuchte angezeigt wird.
Von daher denke ich jetzt auch, dass das Problem an der Konfiguration liegt und absolut nichts mit dem telebot zu tun hat. Somit bin ich hier falsch.
Aber was das falsch ist sehe ich beim besten Willen nicht.
Wenn du den Fehler auch nicht entdeckst, werde ich mir wohl nochmal die allg. Doku zum Alias ansehen bzw. ins Anfängerforum geh'n müssen.
Trotzdem Danke.
Lies mal hier
https://forum.fhem.de/index.php/topic,20961.msg144681.html#msg144681
Lg
Wolfgang
@wthiess: Danke
Hab parallel noch was im alten Forum dazu gefunden: https://groups.google.com/forum/#!topic/fhem-users/oUONkKXvxdk
Scheint also außer Workarounds nichts offizielles zu geben, was ja auch so in der commandref steht:
Globale Attribute für alle Geräte
alias
Wird in FHEMWEB benutzt, um ein en anderen Namen für ein Gerät anzuzeigen z.B. wenn Sonderzeichen/Leerzeichen nicht in der Gerätedefinition verwendet werden können.
Wobei ein echt nutzbarer Alias es ermöglichen würde die durch ein autocreate angelegten Devices zur besseren Identifizierung in ihrer Urform bestehen zu lassen und durch sprechende Namen ersetzen zu können.
Fazit: Alias benutzen klappt zumindest auf offiziellem Weg nicht. Werde die Diskussion im anderen Thread verfolgen.
Danke Euch.
Hallo,
ich benutze seit kurzem auch das TelegramBot-Modul, funktioniert auch einwandfrei. Ich fand es allerdings recht ungünstig, dass das API-Token in der fhem.cfg landet, die "Gefahr" dass sowas versehentlich öffentlich wird, beispielsweise auch wenn man seine Konfiguration in ein öffentliches git-Repo schiebt, ist doch recht groß. Ich habe das Modul deswegen so gepatcht, dass das Token per getKeyValue/setKeyValue() weggespeichert wird, so wie das z.B. auch vom FRITZBOX-Modul oder ESPEasy gemacht wird. In den Internals taucht das Token dann auch nicht mehr auf, das kann man sowohl als Vor- als auch als Nachteil sehen. Besteht Interesse an dem Patch?
Wolfgang
Zitat von: wmr72 am 03 Februar 2017, 22:34:40
Hallo,
ich benutze seit kurzem auch das TelegramBot-Modul, funktioniert auch einwandfrei. Ich fand es allerdings recht ungünstig, dass das API-Token in der fhem.cfg landet, die "Gefahr" dass sowas versehentlich öffentlich wird, beispielsweise auch wenn man seine Konfiguration in ein öffentliches git-Repo schiebt, ist doch recht groß. Ich habe das Modul deswegen so gepatcht, dass das Token per getKeyValue/setKeyValue() weggespeichert wird, so wie das z.B. auch vom FRITZBOX-Modul oder ESPEasy gemacht wird. In den Internals taucht das Token dann auch nicht mehr auf, das kann man sowohl als Vor- als auch als Nachteil sehen. Besteht Interesse an dem Patch?
Wolfgang
Du kannst den Patch gerne hier einstellen oder auch als pull request auf github.
Ich habe das bisher nicht verändert, weil ich dazu vermutlich das Modul inkompatibel ändern müsste, oder hast Du dafür eine Lösung gefunden?
Zitat von: viegener am 03 Februar 2017, 22:49:20
Du kannst den Patch gerne hier einstellen oder auch als pull request auf github.
Ich habe das bisher nicht verändert, weil ich dazu vermutlich das Modul inkompatibel ändern müsste, oder hast Du dafür eine Lösung gefunden?
Ok, patch im Anhang, ist ein diff gegen die aktuelle SVN-Version. Ich hab damit erstmal nur rudimentäre Tests gemacht, für mich funktioniert es, ich nutze aber auch nur kleine Teile des Funktionsumfangs.
Was meinst Du mit inkompatiblen Änderungen? Ich habe das API-Token beim "define" optional gemacht, damit ändert sich erstmal nichts, nach einem Neustart mit der neuen Version kann man es aber aus der Definition löschen.
Zitat von: wmr72 am 04 Februar 2017, 12:09:56
Ok, patch im Anhang, ist ein diff gegen die aktuelle SVN-Version. Ich hab damit erstmal nur rudimentäre Tests gemacht, für mich funktioniert es, ich nutze aber auch nur kleine Teile des Funktionsumfangs.
Was meinst Du mit inkompatiblen Änderungen? Ich habe das API-Token beim "define" optional gemacht, damit ändert sich erstmal nichts, nach einem Neustart mit der neuen Version kann man es aber aus der Definition löschen.
Ja genau das ist der Punkt, wenn man es optional macht wird es nicht wirklich sicherer, denn dann steht es bei 99% der Benutzer weiter im cfg file und eine verschlüsselung im keystore bringt dann auch keine Sicherheit.
Erzwingt man das setzen über set apitoken ist es inkompatibel und erfordert manuelle Nacharbeit bei allen Verwendern.
Generell sind die Änderungen soweit ok, ich werde vermutlich einiges so übernehmen, jetzt kommt es mal auf die todoliste
Zitat von: viegener am 04 Februar 2017, 16:29:02
Ja genau das ist der Punkt, wenn man es optional macht wird es nicht wirklich sicherer, denn dann steht es bei 99% der Benutzer weiter im cfg file und eine verschlüsselung im keystore bringt dann auch keine Sicherheit.
Ja, das ist natürlich der springende Punkt, mein Gedanke war dass zumindest die Option es nicht im "list" und in der cfg zu haben schon was wert ist aber vermutlich hast Du mit den 99% Recht. Ich hab deswegen gerade noch ein bisschen rumgespielt, sieht so aus als könnte man die Device-Definition im Define selbst verändern:
diff --git a/FHEM/50_TelegramBot.pm b/FHEM/50_TelegramBot.pm
index d8794e8..5cd435c 100644
--- a/FHEM/50_TelegramBot.pm
+++ b/FHEM/50_TelegramBot.pm
@@ -369,6 +369,9 @@ sub TelegramBot_Define($$) {
$hash->{FAILS} = 0;
$hash->{UPDATER} = 0;
$hash->{POLLING} = -1;
+ if (int(@a) == 3) {
+ $hash->{DEF} = "$a[0] $a[1]";
+ }
my %hu_upd_params = (
url => "",
Ich bin mir jetzt nicht sicher ob das sauber und "statthaft" ist, aber es scheint zumindest auf den ersten Blick zu funktionieren.
Ich benutze Telegram zur Zeit nur, um die Zählerstände für Strom und Wasser nicht extra auf einen Zettel schreiben zu müssen. Ich sende also einen set Befehl an fhem. Aber immer für jeden Zähler extra. Ich würde aber gerne alle Zähler auf einmal übermitteln, weil ich dann den Befehl immer schön kopieren könnte.
Trennen mit ,, hat nicht funktioniert. Der erste Dummy hat dann den ganzen restlichen Befehl als Wert
set dummy1 25;; set dummy2 35
ergibt dann
dummy1 = 25;; set dummy2 35
Ich hab's auch schon so probiert
{fhem("set dummy1 25"); fhem("set dummy2 35")}
Steh da etwas auf dem Schlauch, wie ich das lösen kann. Jemand eine Idee?
Daniel
Hallo,
ich habe mir auf Hinweis von @Mad-MaxFHEM den msg Befehl angesehen. Ziel ist es, an alle Bewohner mit dem Status home eine Nachricht einen Push per TelegramBot zu schicken. Der Aufruf von msg sieht so aus:
msg @[rgr_bewohner:residentsHomeDevs] Test
rgr_bewohner ist ein Residents Device. In residentsHomeDevs stehen die Device Namen der Roommate devices, die gerade den Status Home haben. Wenn man seine Roommates, wie die Kontakte im TelegramBot benennt, bekommt der Bot eine durch Komma getrennte Liste von Kontakten.
Könnte man den Bot so modifizieren, dass er die Nachricht an alle diese Kontakte verschickt?
Eigentlich finde ich, dass msg das erledigen sollte, aber im anderen Thread scheint man eher zu denken, ich mache etwas falsch. Das kann zwar sein, aber ich kann mir nicht erklären, was ich anders machen sollte. Vielleicht kann jemand aus den Postings im anderen Thread (https://forum.fhem.de/index.php/topic,39983.255.html) etwas herauslesen und mich aufklären?
Das wäre super!
Zitat von: danillo am 06 Februar 2017, 09:47:28
Ich benutze Telegram zur Zeit nur, um die Zählerstände für Strom und Wasser nicht extra auf einen Zettel schreiben zu müssen. Ich sende also einen set Befehl an fhem. Aber immer für jeden Zähler extra. Ich würde aber gerne alle Zähler auf einmal übermitteln, weil ich dann den Befehl immer schön kopieren könnte.
Trennen mit ,, hat nicht funktioniert. Der erste Dummy hat dann den ganzen restlichen Befehl als Wert
set dummy1 25;; set dummy2 35
ergibt dann
dummy1 = 25;; set dummy2 35
Ich hab's auch schon so probiert
{fhem("set dummy1 25"); fhem("set dummy2 35")}
Steh da etwas auf dem Schlauch, wie ich das lösen kann. Jemand eine Idee?
Daniel
Ich bin nicht sicher, ob ich die Erklärung wirklich verstanden habe, aber momentan geht wohl nur Deine 3.Variante allerdings nur mit korrekten Klammern:
{(fhem("set dummy1 25"); fhem("set dummy2 35"))}
Gebe zu das ist nicht optimal
Zitat von: SlrG am 06 Februar 2017, 14:56:28
Hallo,
ich habe mir auf Hinweis von @Mad-MaxFHEM den msg Befehl angesehen. Ziel ist es, an alle Bewohner mit dem Status home eine Nachricht einen Push per TelegramBot zu schicken. Der Aufruf von msg sieht so aus:
msg @[rgr_bewohner:residentsHomeDevs] Test
rgr_bewohner ist ein Residents Device. In residentsHomeDevs stehen die Device Namen der Roommate devices, die gerade den Status Home haben. Wenn man seine Roommates, wie die Kontakte im TelegramBot benennt, bekommt der Bot eine durch Komma getrennte Liste von Kontakten.
Könnte man den Bot so modifizieren, dass er die Nachricht an alle diese Kontakte verschickt?
Eigentlich finde ich, dass msg das erledigen sollte, aber im anderen Thread scheint man eher zu denken, ich mache etwas falsch. Das kann zwar sein, aber ich kann mir nicht erklären, was ich anders machen sollte. Vielleicht kann jemand aus den Postings im anderen Thread (https://forum.fhem.de/index.php/topic,39983.255.html) etwas herauslesen und mich aufklären?
Das wäre super!
Habe mir das gerade angeschaut und ich kenne leider auch nicht alle Details des msg-Moduls und die Doku ist leider wohl nicht in der commandref, deshalb kann ich nicht sagen, ob das irgendwie in msg geht. Zumindest die Bemerkung zu @@ würde in FHEM umgesetzt erscheint mir nicht ganz richtig.
Wenn ich es richtig verstehe kann msg leider keine Liste von Adressaten durch Leerzeichen trennen?
Ich habe aber auch keine gute Lösung für Dein Problem, denn ein Komma kann auch in Telegram-Benutzernamen vorkommen und eignet sich deshalb leider nicht gut als Trennzeichen...
Zitat von: viegener am 07 Februar 2017, 01:06:08
Habe mir das gerade angeschaut und ich kenne leider auch nicht alle Details des msg-Moduls und die Doku ist leider wohl nicht in der commandref, deshalb kann ich nicht sagen, ob das irgendwie in msg geht. Zumindest die Bemerkung zu @@ würde in FHEM umgesetzt erscheint mir nicht ganz richtig.
Wenn ich es richtig verstehe kann msg leider keine Liste von Adressaten durch Leerzeichen trennen?
Ich habe aber auch keine gute Lösung für Dein Problem, denn ein Komma kann auch in Telegram-Benutzernamen vorkommen und eignet sich deshalb leider nicht gut als Trennzeichen...
Man kann in msg statt des Telegram Benutzernamens auch einfach die numerische ID verwenden.
msgContactPush <NAME-TELEGRAM-BOT>:@<CONTACT-NR>
Dann würde ich zwei mal den String von residentsHomeDevs bearbeiten:
Ein \@ an den Anfang und hinter jedes Komma noch eins.
my $contacts = "\@".ReadingsVal("rgr_Residents","residentsHomeDevs","");
$contacts =~ s/,/,\\@/;
Nun sollte es mit msg klappen (ungetestet):
msg push $contacts Das ist ein Test
Gruß
Dan
@viegener:
Danke, dass Du es Dir angeschaut hast. Dass ein Komma nicht als Trennzeichen geeignet ist, ist doch eine wichtige Informationen. Vielen Dank dafür! Wie genau erwartet der TelegramBot eine Liste von mehreren Adressaten? Stört das Komma nicht, wenn jeweils ein @verwendet wird? Oder geht das ganz allgemein gar nicht und es muss immer ein Leerzeichen sein?
@name1,@name2, ...
oder
@name1 @name2 ...
Ich gucke mir bei Gelegenheit mal auch noch den Quellcode vom msg Modul an. Dann müsste sich herausfinden lassen, ob es die Arrays einfach nur durchreicht. Wenn ja, müssten diese erst ähnlich wie @DeeSPe es beschrieben hat vorbearbeitet werden.
@DeeSPe:
Die numerische ID habe ich auch schon probiert. Funktioniert für mich genauso wie der Name. Wenn auch jeweils nur mit einem @ und nicht mit zweien wie Loredo es empfiehlt. Aber auch die numerische ID hilft nicht, wenn msg das gar nicht auswertet und nur das Array mit den Device Namen der durchreicht.
Vielen Dank für Deine Idee das Array selbst zu bearbeiten und es erst dann an msg zu übergeben. Ich probiere das möglichst bald mal aus. Eventuell lässt sich das direkt in das msg Modul einbinden und dann braucht nicht jeder seine eigene Lösung stricken, sondern es ist für alle sofort verfügbar. U.u. ist Loredo ja bereit einen fertigen patch zu akzeptieren. Ich will ihm ja keine Arbeit machen, sondern nur, dass es funktioniert. :)
Zitat von: SlrG am 07 Februar 2017, 13:15:43
@viegener:
Danke, dass Du es Dir angeschaut hast. Dass ein Komma nicht als Trennzeichen geeignet ist, ist doch eine wichtige Informationen. Vielen Dank dafür! Wie genau erwartet der TelegramBot eine Liste von mehreren Adressaten? Stört das Komma nicht, wenn jeweils ein @verwendet wird? Oder geht das ganz allgemein gar nicht und es muss immer ein Leerzeichen sein?
@name1,@name2, ...
oder
@name1 @name2 ...
Ich gucke mir bei Gelegenheit mal auch noch den Quellcode vom msg Modul an. Dann müsste sich herausfinden lassen, ob es die Arrays einfach nur durchreicht. Wenn ja, müssten diese erst ähnlich wie @DeeSPe es beschrieben hat vorbearbeitet werden.
@DeeSPe:
Die numerische ID habe ich auch schon probiert. Funktioniert für mich genauso wie der Name. Wenn auch jeweils nur mit einem @ und nicht mit zweien wie Loredo es empfiehlt. Aber auch die numerische ID hilft nicht, wenn msg das gar nicht auswertet und nur das Array mit den Device Namen der durchreicht.
Vielen Dank für Deine Idee das Array selbst zu bearbeiten und es erst dann an msg zu übergeben. Ich probiere das möglichst bald mal aus. Eventuell lässt sich das direkt in das msg Modul einbinden und dann braucht nicht jeder seine eigene Lösung stricken, sondern es ist für alle sofort verfügbar. U.u. ist Loredo ja bereit einen fertigen patch zu akzeptieren. Ich will ihm ja keine Arbeit machen, sondern nur, dass es funktioniert. :)
Momentan muss es ein Leerzeichen sein. Jede Variante mit weiterem Überlapp zu telegram Benutzernamen würde den Aufwand erhöhen.
Zitat von: DeeSPe am 07 Februar 2017, 08:47:14
my $contacts = "\@".ReadingsVal("rgr_Residents","residentsHomeDevs","");
$contacts =~ s/,/,\\@/;
Zitat von: viegener am 07 Februar 2017, 15:08:12
Momentan muss es ein Leerzeichen sein. Jede Variante mit weiterem Überlapp zu telegram Benutzernamen würde den Aufwand erhöhen.
Oh, ich dachte die kommen mit Komma aneinander!
Tja, wenn man nicht richtig/alles liest.
Dann so vielleicht:
my $contacts = "\@".ReadingsVal("rgr_Residents","residentsHomeDevs","");
$contacts =~ s/,/ \\@/;
Gruß
Dan
Hallo,
Gibt es eine Möglichkeit den Inhalt (String) eines Events welches ein Notify auslöst als Message zu verschicken?
Aktuell habe ich folgendes Notify:
define FHEMBackupTelegram notify FHEM.Backup set teleBot message "Backup Event"
Ich würde jedoch gerne den String des Events verschicken.
Okay den Event String bekomme ich jetzt mehr oder weniger. Kann ich auch den Inhalt eines Readings verschicken. Ich hätte da FHEM.Backup und dort ein Reading "info"
::) ::)
Da würde ich einfach mal einen Blick in die Commandref zu notify werfen ...
LG
pah
@DeeSPe:
Vielen Dank für Deine Hilfe! So war es mir möglich, das Ganze jetzt erstmal provisorisch zu lösen, indem ich ein userReading zu meinem Residents Device hinzufüge:
attr rgr_bewohner userReadings residentsHomeContacts {\
my $contacts = ReadingsVal('rgr_bewohner','residentsHomeDevs','');;\
$contacts =~ s/,/ \@/g;;\
sprintf ($contacts);;\
}
msg scheint selbst ein @ voran zu stellen, bevor es das Array an den TelegramBot durchreicht. Deshalb darf am Anfang kein @ eingefügt werden, wie Du es erst vorgeschlagen hattest, sonst gibt es eine Dopplung. Nun kann ich mit
msg @[rgr_bewohner:residentsHomeContacts] Test
eine Nachricht an alle Bewohner mit dem Status home schicken. (Weitere Voraussetzung ist, dass die Roommate Devices so heißen wie die TelegramBot Kontakte.)
Leider muss so aber für alle interessanten readings (z.B. auch residentsGoneDevs) ein entsprechendes userReading angelegt werden. Optimal wäre immer noch, wenn msg die korrekte Adressierung selbst vornehmen würde. Für mich als Python Laie, ist der Code von msg leider sehr schwer zu durchschauen.
Mit meinem Vorschlag sparst Du aber noch das @ vor:
Zitatmsg @[rgr_bewohner:residentsHomeContacts] Test
Also:
msg [rgr_bewohner:residentsHomeContacts] Test
Wie es m.E. syntaktisch auch richtig wäre!
Denn das Reading soll ja für alle Kontakte das @ voran stellen und nicht erst ab dem zweiten.
Gruß
Dan
Hab gerade mal selbst im Testsystem rumgespielt und würde für die vollständige msg Liste der zuhause verfügbaren RESIDENTS folgendes userReading vorschlagen:
attr <RESIDENTS> userReadings residentsTotalPresentDevsMsg:residentsTotalPresentDevs.* {my $s="\@".ReadingsVal($NAME,"residentsTotalPresentDevs","");$s=~s/,/ \@/g;$s}
Damit wäre m.E. das Reading optimal zur Weiterverwendung auch mit msg geeignet!
Gruß
Dan
Also ich hab ehrlich lange gesucht, aber nichts gefunden was mein Problem löst...
Ich habe Telegram in Fhem eingebunden, kann auch Nachrichten empfangen und Befehle setzen.
Wie ich das nun verstanden habe muß ich die notifys mittels ActionDetector anlegen, der wir bei mir aber nicht angezeigt.
Mach ich was falsch, oder bin ich auf dem falschen Weg?
Gruß Thorsten
Zitat von: zelli001 am 09 Februar 2017, 13:10:25
Also ich hab ehrlich lange gesucht, aber nichts gefunden was mein Problem löst...
Ich habe Telegram in Fhem eingebunden, kann auch Nachrichten empfangen und Befehle setzen.
Wie ich das nun verstanden habe muß ich die notifys mittels ActionDetector anlegen, der wir bei mir aber nicht angezeigt.
Mach ich was falsch, oder bin ich auf dem falschen Weg?
Gruß Thorsten
Aus Deiner Beschreibung ist für mich nicht klar, was Du eigentlich machen willst?
Für das Empfangen von Nachrichten, Senden von Nachrichten und auch nicht für die Ausgührung von FHEM-Kommandos von Aussen ist erstmal kein Notify nötig und wie Du bei TelegramBot auf den ActionDetector kommst ist mir unklar, in diesem Thread findet sich dazu überhaupt nichts...
Also vielleicht beschreibst Du, was Du erreichen willst (so nanchvollziehbar wie möglich) und was dabei nicht funnktioniert/Dein Problem ist?
Zitat von: viegener am 09 Februar 2017, 13:27:29
Aus Deiner Beschreibung ist für mich nicht klar, was Du eigentlich machen willst?
Für das Empfangen von Nachrichten, Senden von Nachrichten und auch nicht für die Ausgührung von FHEM-Kommandos von Aussen ist erstmal kein Notify nötig und wie Du bei TelegramBot auf den ActionDetector kommst ist mir unklar, in diesem Thread findet sich dazu überhaupt nichts...
Also vielleicht beschreibst Du, was Du erreichen willst (so nanchvollziehbar wie möglich) und was dabei nicht funnktioniert/Dein Problem ist?
Ja, ich glaube ich habe da was komplett falsch verstanden....
Also ich arbeite mit Fhem jetzt erst seit ca einer woche und bin absoluter neuling.
Dennoch habe ich schon allerhand hinbekommen....
Jetzt mochte ich mir Nachrichten per Telegram aufs Handy schicken, ausgelöst durch, erst mal ganz einfach, Licht wird eingegeschaltet. Dies möchte ich dann auf dem Handy als Nachricht empfangen.
So, Telegram hab ich installiert und kommuniziert auch mit Fehm.
Jetzt hab ich in einer Viedoanleitung beispiele gesehen die ich abändern wollte und in die fhem.cf einfügen:
TelegramBot:msgText:.* {
my $msgText = ReadingsVal("TelegramBot","msgText","");
my $msgPeerId = ReadingsVal("TelegramBot","msgPeerId","");
if($msgPeerId eq "DEINETELEGRAMID"){
tg_analyse($msgPeerId,$msgText);
}
}
##############################################
# 99_myUtilsTelegramMessenger.pm
#
package main;
use strict;
use warnings;
use POSIX;
sub
myUtilsTelegram_Initialize($$)
{
my ($hash) = @_;
}
sub tg_analyse($$){
my ($msgPeerId, $msgText) = @_;
$msgText = lc $msgText;
Log "TelegramBot", "Sender: $msgPeerId";
Log "TelegramBot", "Text: $msgText";
if($msgText eq "/start"){
fhem "set TelegramBot message \@$msgPeerId Hallo
ich gebe dir die Möglichkeit mit FHEM zu kommunizieren
Mit /hilfe bekommst du eine Liste derzeitigen Befehle";
}
if($msgText eq "/hilfe" || $msgText eq "/hauptmenue"){
fhem "set TelegramBot message \@$msgPeerId Hier sind alle Befehle:
--Generell
/hilfe - Hilfetext
/hauptmenue -Hilfetext
usw.
ich bekam dann fehlermeldungen und kam irgendwie auf den weg, das dies im ActionDetector gemacht werden müsste, den ich aber nicht fand.....
Gruß
oder
teleBot:msgText.* {
if ($EVTPART1 eq 'Licht') {
if ($EVENT =~ 'an') {
fhem("set WZ_Dekolicht on");
fhem("set WZ_Fensterlicht on");
fhem("set WZ_Fernsehlicht on");
}
elsif ($EVENT =~ 'aus') {
fhem("set WZ_Dekolicht off");
fhem("set WZ_Fensterlicht off");
fhem("set WZ_Fernsehlicht off");
}
}
elsif ($EVTPART1 eq 'Zocken') {
fhem("set WZ_Receiver on");
fhem("set WZ_TV power on");
fhem("sleep 15 quiet");
fhem("set WZ_TV input hdmi1");
fhem("set WZ_Receiver input GAME");
fhem("set WZ_Fernsehlicht on");
}
elsif ($EVTPART1 eq 'FireTV') {
fhem("set WZ_Receiver on");
fhem("set WZ_TV power on");
fhem("sleep 15 quiet");
fhem("set WZ_TV input hdmi1");
fhem("set WZ_Receiver input DVD");
fhem("set WZ_Fernsehlicht on");
}
elsif ($EVTPART1 eq 'Nacht') {
fhem("set WZ_Dekolicht off");
fhem("set WZ_Fensterlicht off");
fhem("set WZ_Fernsehlicht off");
fhem("set WZ_Receiver off");
fhem("set WZ_TV power off");
}
elsif ($EVTPART1 eq 'Status') {
my $temperature = ReadingsVal("WZ_Balkontuer", "temperature", "");
fhem("set $NAME send Temperatur: $temperature");
}
elsif ($EVTPART1 eq 'Spritpreis') {
my $spritPreis = ReadingsVal("OUT_Tankstelle", "SuperE5", "");
fhem("set WEB_Telegram send Preis: $spritPreis");
}
else {
}
}
@zelli001: Ich denke Du fängst mit zu komplexen Dingen an. Routinen in myutils oder ähnliches ist eigentlich nicht erforderlich um Nachrichten bei Licht eingeschaltet zu senden.
Generell solltest Du wohl Dich mit dem Konzept der Events (Event Monitor) und notify befassen. Du findest viele Beispiele in diesem Thread (und wohl auch im fhemwiki) wie man auf Änderungen mit notify (oder DOIF reagiert)
Im einfachsten Fall ist das soetwas wie
define LeuchteAn notify Leuchte:on set teleBot message Die Leuchte wurde eingeschaltet
Zitat von: zelli001 am 09 Februar 2017, 13:54:39
oder
teleBot:msgText.* {
if ($EVTPART1 eq 'Licht') {
if ($EVENT =~ 'an') {
Bitte verwende Code-tags !
Der Code hat nichts mit Deinem Problem zu tun, sondern ist genau das Gegenteil (von aussen per Telegram etwas auslösen)
ja, das waren auch nur beispiele die ich enorm gekürzt habe...
ich bin ja auch noch im versuchsstadium....
aber wie reagiere ich auf einen befehl von telegram mit dem ich was auslösen möchte?
Zitat von: zelli001 am 09 Februar 2017, 14:04:29
ja, das waren auch nur beispiele die ich enorm gekürzt habe...
ich bin ja auch noch im versuchsstadium....
aber wie reagiere ich auf einen befehl von telegram mit dem ich was auslösen möchte?
Die erste Reaktion wäre zu lesen was schon geschrieben wurde ;)
Nicht falsch verstehen, aber es gibt Beispiele im Wiki und hier, wie man so etwas macht. Wenn es dazu eine konkrete Frage gibt kann ich gerne helfen. Aber Deine generelle Frage ist im wiki, commandref und hier im Forum beantwortet worden. Ausserdem ist dies genau das Gegenteil von dem was Du oben machen wolltest.
Ja, bin ja auch am suche... werd mich erst mal weiterhin durchlesen...
und ja, ich will ja letztendlich in beide richtungen kommunizieren....
danke erst mal
Zitat von: viegener am 09 Februar 2017, 13:58:56
@zelli001: Ich denke Du fängst mit zu komplexen Dingen an. Routinen in myutils oder ähnliches ist eigentlich nicht erforderlich um Nachrichten bei Licht eingeschaltet zu senden.
Generell solltest Du wohl Dich mit dem Konzept der Events (Event Monitor) und notify befassen. Du findest viele Beispiele in diesem Thread (und wohl auch im fhemwiki) wie man auf Änderungen mit notify (oder DOIF reagiert)
Im einfachsten Fall ist das soetwas wie
define LeuchteAn notify Leuchte:on set teleBot message Die Leuchte wurde eingeschaltet
Also den notify hab ich angelegt, der statuswechsel wir auch in meinem event monitor und auch im notify selbst angezeigt.
es wird aber keine message abgesetzt....
gruß
Zitat von: zelli001 am 09 Februar 2017, 15:31:42
Also den notify hab ich angelegt, der statuswechsel wir auch in meinem event monitor und auch im notify selbst angezeigt.
es wird aber keine message abgesetzt....
gruß
Ahhhrg - Der notify war ein Beispiel ("soetwas wie") und funktioniert natürlich nur, wenn die devices bei Dir entsprechend heissen und entsprechende Events vorkommen. Sorry, aber irgendwie habe ich einen Sprung in der Platte - Doku lesen (speziell Anfängerdoku) / notify anschauen / Event monitor und ausprobieren.
natürlich habe ich das auf meine devices angepasst......
und lesen tu ich auch wie ein blöder.....
ich denke mir fehlt vielleicht irgendwie ein attribut oder so, keine ahnung...
aber niergends ist irgenwie etwas zusammenhängend erklärt... zumindest nicht für anfänger... sorry
hätte vielleicht auch mal in den logfile schauen sollen:
2017.02.09 15:20:37 3: WCLichtAn return value: TelegramBot_Set: Command message, without explicit peer requires defaultPeer being set
Zitat von: zelli001 am 09 Februar 2017, 15:45:42
hätte vielleicht auch mal in den logfile schauen sollen:
2017.02.09 15:20:37 3: WCLichtAn return value: TelegramBot_Set: Command message, without explicit peer requires defaultPeer being set
gelesen, behoben....funktioniert
Hallo,
ich habe den Telegram-Bot am laufen und seit heute einen Amazon Echo Dot. Nun wollte ich per Alexa->IFTTT->Telegram mein FHEM per Sprache steuern. Dazu habe ich in Telegram eine Gruppe erstellt und dieser meinen FHEM-Bot und den IFTTT-Bot hinzugefügt. Dann ein IFTTT-Applet erstellt.
Wenn ich nun den Sprachbefehl per Echo-Dot auslöse, sendet IFTTT auch die richtige Nachricht an die Gruppe. Aber der FHEM-Telegram-Bot reagiert nicht. Wenn ich aus meinem Account in der Gruppe den identischen Befehl sende, funktioniert es. Ich habe auch die User-ID des @IFTTT zu den cmdRestrictedPeer hinzugefügt.
##### Telegram ######
define Telegram TelegramBot meintoken:bhbfhjebrkwewer
attr Telegram allowUnknownContacts 0
attr Telegram cmdFavorites /cmd
attr Telegram cmdKeyword doit
attr Telegram cmdRestrictedPeer USERIDSmartphone UserIDIFTTTBot
attr Telegram defaultPeer USERIDSmartphone
attr Telegram favorites [Radio an]=set sw_WoZiSound on
attr Telegram group Messaging
attr Telegram pollingTimeout 180
attr Telegram room Messaging
Woran liegt das? Geht das mit Bots evtl. nicht? Nur mit echten Usern?
Danke LinuxQ
Bot zu Bot funktioniert nicht, das ist von Telegram extra unterbunden, da gibt es auch bisher keine Lösung für.
Ich habe mal den weg probiert, funktioniert mit viel Fleißarbeit auch, hast aber ein delay von 5-30 Sekunden:
Alexa (oder auch andere Sachen die IFTTT triggern) -> IFTTT -> Pushover -> Tasker -> andFHEM Premium -> FHEM
Damit wird irgendwas was bei IFTTT triggert per Pushover an ein Handy gesendet, dann wird diese Nachricht mit Hilfe von Tasker über andFHEM Premium an FHEM weitergeleitet.
Das ganze ging auch noch so, aber nicht ganz so zuverlässig und auch noch nicht ganz zu ende getestet:
Alexa (oder auch andere Sachen die IFTTT triggern) -> IFTTT -> TelegramBotNachricht auf einem Handy empfangen -> Tasker -> AutoNotification -> andFHEM Premium -> FHEM
Damit wird irgendwas was bei IFTTT triggert per TelegramBot an ein Handy gesendet, auf dem Tasker läuft, mit Hilfe von AutoNotification wird dann diese Nachricht über andFHEM Premium an FHEM weitergeleitet.
Hallo @ all,
ich benötige Hilfe bei der Definition des notify bzgl.. "Abfall", denn es wird nicht ausgelöst.
define Schwarze_Tonne_raus notify .* set teleBot msg.*
.* telebot msg.* { if ($EVTPART1 eq 'Abfall') {my $Meldung_Schwarze_Tonne_raus = ReadingsVal("Abfall", "Muelltonnen_Kalender_Restmuell_tage", == 1}
{ fhem("set teleBot send Morgen wird die schwarze Tonne abgeholt.");
}
}
oder alternativ
define Meldung_Schwarze_Tonne_raus at *18:30:00 a
*18:30:00 { if((ReadingsVal("ABFALL", "Muelltonnen_Kalender_Restmuell_text", 99)) == 1)
{ fhem("set teleBot send 'Müll: ' 'Morgen wird die schwarze Tonne abgeholt'")}}
Hier ein Auszug aus der Logfile:
2017.02.14 01:53:30 3: Schwarze_Tonne_raus return value: syntax error at (eval 1277) line 2, near ", =="
Missing right curly or square bracket at (eval 1277) line 3, at end of line
syntax error at (eval 1277) line 3, at EOF
2017.02.14 01:57:05 3: Schwarze_Tonne_raus return value: Unknown command telebot, try help.
2017.02.14 02:07:06 3: Schwarze_Tonne_raus return value: Please define telebot first
Unknown command }
}, try help.
Gruß und vielen Dank und im voraus, für eure Unterstützung.
Im Screenshot steht telebBot. Ich denke da ist b zuviel.
ansonsten zeig doch mal das Ergebnis von
list teleBot
Zitat von: linuxq am 12 Februar 2017, 00:43:10
Ich habe den Telegram-Bot am laufen und seit heute einen Amazon Echo Dot. Nun wollte ich per Alexa->IFTTT->Telegram mein FHEM per Sprache steuern. Dazu habe ich in Telegram eine Gruppe erstellt und dieser meinen FHEM-Bot und den IFTTT-Bot hinzugefügt. Dann ein IFTTT-Applet erstellt.
Das geht so nicht, weil Telegram Bots nicht miteinander reden lässt (wahrscheinlich, um sich endlos aufschaukelnde Schleifen zu vermeiden).
Aber lies dir doch im FHEM-Wiki den Artikel https://wiki.fhem.de/wiki/Alexa-Fhem (https://wiki.fhem.de/wiki/Alexa-Fhem) durch. Das sieht zwar zuerst total sperrig aus, aber ich habe den Home Automation-Skill in ca. 3 Stunden am Laufen gehabt, und es klappt wunderbar. Ohne Umwege über IFTTT und Telegram, damit eher zuverlässiger.
Zitat von: gloob am 14 Februar 2017, 07:10:31
Im Screenshot steht telebBot. Ich denke da ist b zuviel.
Vielen Dank das zusätzliche b, habe ich entfernt
Hier nochmal die Logfile:
2017.02.14 10:42:09 3: Schwarze_Tonne_raus return value: Please define telebBot first
Unknown command }
2017.02.14 11:05:26 3: Schwarze_Tonne_raus return value: TelegramBot_Set: Unknown argument msg.*, choose one of queryEditInline:textField reply:textField send:textField sendVoice:textField msg:textField zDebug:textField queryInline:textField replaceContacts:textField _msg:textField reset msgForceReply:textField msgEdit:textField message:textField sendImage:textField sendPhoto:textField sendDocument:textField sendLocation:textField queryAnswer:textField sendMedia:textField
Unknown command }
}, try help.
ansonsten zeig doch mal das Ergebnis von
list teleBot
Internals:
DEF XXX
FAILS 0
NAME teleBot
NR 35
OLD_POLLING 41
POLLING 41
SNAME teleBot
STATE Polling
TYPE TelegramBot
Token XXX
UPDATER 0
URL https://api.telegram.org/botXXX
WAIT 0
me XXX
offset_id XXX
sentLastResult SUCCESS
sentMsgId 295
sentMsgPeer XXX
sentMsgPeerId XXX
sentMsgResult SUCCESS
sentMsgText Preis: 1.12
Contacts:
XXX
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf
code 200
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Tue, 14 Feb 2017 10:07:57 GMT
Content-Type: application/json
Content-Length: 229
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 26
hu_portSfx
loglevel 4
method POST
path /bot344000656:AAGRH1mmcvXnfz40xpVJI8MlCiX6ccLAHf0/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/botXXX/sendMessage
args:
XXX
Preis: 1.12
undef
0
undef
1
Hash:
Sslargs:
Hu_upd_params:
FD 16
NAME
addr https://api.telegram.org:443
buf
code 200
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 1060
hu_portSfx
isPolling update
loglevel 4
method GET
offset XXX
path /botXXX&limit=5&timeout=120
protocol https
redirects 0
timeout 245
url https://api.telegram.org/botXXXtimeout=120
Hash:
Sslargs:
Helper:
Dblog:
Pollingerrcount:
Dblogging:
TIME 1487026840.76798
VALUE 0
Msg 'aktueller spritpreis' 'diesel:
Dblogging:
TIME 1487064699.04014
VALUE 1.12'
Msgid:
Dblogging:
TIME 1487066876.54784
VALUE 294
Msgpeer:
Dblogging:
TIME 1487066876.54784
VALUE XXX
Msgpeerid:
Dblogging:
TIME 1487066876.54784
VALUE XXX
Msgtext:
Dblogging:
TIME 1487066876.54784
VALUE Spritpreis
Sentmsgid:
Dblogging:
TIME 1487066877.41813
VALUE 295
Sentmsgpeerid:
Dblogging:
TIME 1487066877.41813
VALUE XXX
Sentmsgresult:
Dblogging:
TIME 1487066877.41813
VALUE SUCCESS
State:
Dblogging:
TIME 1487066876.54784
VALUE msgFileId:
Readings:
2017-02-13 17:49:33 Contacts XXX:XXX:@XXX
2017-02-14 00:00:40 PollingErrCount 0
2017-02-13 13:43:11 PollingLastError NonBlockingGet timed out on read from <hidden> after 245s
2017-02-07 23:23:01 StoredCommands FHEM set Testlampe off
FHEM set WZ_Papierlampe off
FHEM set Testlampe on
FHEM status
2017-02-14 11:07:56 msgChat
2017-02-14 11:07:56 msgFileId
2017-02-14 11:07:56 msgId 294
2017-02-14 11:07:56 msgPeer XXX
2017-02-14 11:07:56 msgPeerId XXX
2017-02-07 21:04:23 msgReplyMsgId 0
2017-02-14 11:07:56 msgText Spritpreis
2017-02-14 11:07:56 prevMsgChat
2017-02-14 11:07:56 prevMsgFileId
2017-02-14 11:07:56 prevMsgId 293
2017-02-14 11:07:56 prevMsgPeer XXX
2017-02-14 11:07:56 prevMsgPeerId XXX
2017-02-14 11:07:56 prevMsgReplyMsgId 0
2017-02-14 11:07:56 prevMsgText Abfall
2017-02-14 11:07:57 sentMsgId 295
2017-02-14 11:07:57 sentMsgPeerId XXX
2017-02-14 11:07:57 sentMsgResult SUCCESS
sentQueue:
Attributes:
cmdKeyword FHEM
defaultPeer XXX
pollingTimeout 120
room Geräte
Anbei noch ein Screenshot vom Abfall-Modul Mueltonnen
@neonet: Ein paar Anmerkungen:
- Es wäre gut, wenn Du Codetags (für list und code) verwenden würdest - # button
- Du solltest Deinen perl-code erstmal auf Syntax prüfen - Dazu gehört auch Klammern etc
.* telebot msg.* { if ($EVTPART1 eq 'Abfall') {my $Meldung_Schwarze_Tonne_raus = ReadingsVal("Abfall", "Muelltonnen_Kalender_Restmuell_tage", == 1}
{ fhem("set teleBot send Morgen wird die schwarze Tonne abgeholt.");
}
}
Hinter Restmuell_tage", fehlt ein Ausdruck und eine Klammer zu
- Wenn Du Code postest, dann bitte den vollständigen Define, so ist das abgeschnitten und lässt sich schwer zusammensetzen.
- Wenn ich das richtig zusammensetze ist Dein notify so definiert, dass er auf beliebige Events von beliebigen Devices (.*) reagiert, dass kann ja nicht sinn der sache sein?
@ viegener, Danke für die Infos. Leider kenn ich mich nicht gut aus mit den "perl Codes". Könntest du mir bitte sagen wo genau der Ausdruck und welche Klammer hingehören, und ggf. bei der Definition des Gerät und des Event helfen?
Die vollständigen define's findest du in meinem ersten Post von heute morgen um 03:46:50.
Vielen Dank im Voraus für eure Unterstützung!
Gruß NEONET
@neonet: Nun, das kann man doch aber bitte auch selbst lernen. Etwa, indem man die Anfängerdokumentation sorgfältig liest.
LG
pah
Hi @ all,
vielen Dank für eure Unterstützung!
Ich habe das notify und den perl-code soweit geändert, das ich auch eine Nachricht via Telegram erhalte.
Zitatdefine Schwarze_Tonne_raus notify teleBot:msgText.* {}
teleBot:msgText.* { if ($EVTPART1 eq 'Abfall') {
my $Meldung_Schwarze_Tonne_raus = ReadingsVal("Abfall", "Muelltonnen_Kalender_Restmuell_text", 99) == 1}
{ fhem("set teleBot send Morgen wird die schwarze Tonne abgeholt.");
}
}
Nun klappt alles !
Zitat von: neonet am 15 Februar 2017, 11:13:14
Hi @ all,
vielen Dank für eure Unterstützung!
Ich habe das notify und den perl-code soweit geändert, das ich auch eine Nachricht via Telegram erhalte.
teleBot:msgText.* { if ($EVTPART1 eq 'Abfall') {
my $Meldung_Schwarze_Tonne_raus = ReadingsVal("Abfall", "Muelltonnen_Kalender_Restmuell_text", 99) == 1}
{ fhem("set teleBot send Morgen wird die schwarze Tonne abgeholt.");
}
}
Nun klappt alles !
Schön das es funktioniert (ich hatte ja auch oben bereits beschrieben, wo etwas fehlt), allerdings ist Dein define wieder in 2 Teile (mit wiederholungen) zerhackt, das macht es schwierig zu lesen.
Zitat von: JanHH am 14 Februar 2017, 11:06:09
Das geht so nicht, weil Telegram Bots nicht miteinander reden lässt (wahrscheinlich, um sich endlos aufschaukelnde Schleifen zu vermeiden).
Aber lies dir doch im FHEM-Wiki den Artikel https://wiki.fhem.de/wiki/Alexa-Fhem (https://wiki.fhem.de/wiki/Alexa-Fhem) durch. Das sieht zwar zuerst total sperrig aus, aber ich habe den Home Automation-Skill in ca. 3 Stunden am Laufen gehabt, und es klappt wunderbar. Ohne Umwege über IFTTT und Telegram, damit eher zuverlässiger.
Das ging bei mir nicht ohne Umstände, wegen IPv6 Anbindung vom Provider. Gestern habe ich bei Vodafone (habe 200 MBit über Kabelnetz) angerufen und nachgefragt. 2 (!) Minuten nach dem Anruf war IPv4 wieder aktiv. Ich hoffe, ich komme heute abend dazu, den Skills einzurichten :)
Gesendet von meinem BlackBerry DTEK50
Zitat von: linuxq am 15 Februar 2017, 17:38:02
Gestern habe ich bei Vodafone (habe 200 MBit über Kabelnetz) angerufen und nachgefragt. 2 (!) Minuten nach dem Anruf war IPv4 wieder aktiv.
Das kann man, ohne Anruf, sogar selbst machen.
Nach Login auf der Vodafone Seite gibt es dazu einen Menüpunkt. Nennt sich irgendwas mit "Bridge-Modus" oder so...
Musste nach meiner Umstellung auf 100MBit und damit einhergehenden Modemtausch auch wieder manuell auf IPv4 ändern.
Gruß
Dan
Hallo, ich habe bei mir den TelegramBot schon länger erfolgreich laufen. Ich kann ihn privat anschreiben oder in einer Gruppe mit meiner Frau. Klappt auch alles super soweit. Jetzt wollte ich das Inline Keyboard nutzen, bekomme das aber nur im privaten Chat angezeigt. In der Gruppe zeigt er es nicht an und reagiert auch nicht auf die Favoriten. Hab schon das neue Modul geladen und cmdResponseChat=1 gesetzt aber keine Änderung. Hab ich etwas vergessen oder überlesen? Die ChatID steht auch in den RestrictedPeers...
EDIT: Hab die Lösung jetzt doch selber gefunden. hatte bei der ID in RestrictedPeer kein Minus davor geschrieben. Damit hatte er es wohl geblockt und einfach gar nichts gemacht. jetzt läuft es:-)
Zitat von: viegener am 15 Februar 2017, 13:13:47
Schön das es funktioniert (ich hatte ja auch oben bereits beschrieben, wo etwas fehlt), allerdings ist Dein define wieder in 2 Teile (mit wiederholungen) zerhackt, das macht es schwierig zu lesen.
Hi @ viegener, vielen Dank für deine Info. SOS. Du hast völlig Recht damit, dass das Define noch fehlerhaft ist.
Wenn ich via Telegram "Abfall" an FHEM schreibe, erhalte ich zwar die Antwort "Morgen wird die schwarze Tonne abgeholt."
Aber diese Antwort ist nicht mit den Meldungen aus dem Abfall-Modul abgeglichen, sondern einfach nur ein Zitat aus der Define teleBot Message.
Auch meine at-Definitionen scheinen fehlerhaft zu sein, vielleicht gibt es da einen Zusammenhang bei den Fehlern.
define Meldung_Schwarze_Tonne_raus notify teleBot:msgText.* {}
*18:30:00 { ifReadingsVal("ABFALL", "Muelltonnen_Kalender_Restmuell_text", 99) == 1}
{ fhem("set teleBot send Müll: Morgen wird die schwarze Tonne abgeholt.")}}
Das heißt ich wollte einerseits eine Meldung um 18:30 via Telegram, ein Tag vor der jeweiligen Müllabholung.
Und ich wollte eine Antwort, via Telegram wann der Müll abgeholt wird z.B. Sperrmüll, wenn ich Abfall via Telegram an FHEM sende.
Beim Spritpreis und dem Status (Temperatur) funktioniert es. (Dank copy and paste Tutorials)
Ich bin langsam echt am aufgeben, hab schon mehrere Nächte mit der Lösungssuche verbracht. Bin allerdings mit dem Wissen an meine Grenzen gestoßen, und bitte dich um den korrekten Define. Ich habe mich wirklich stundenlang totgelesen aber mir fehlt einfach das Fachwissen des Programmieren, das ist echt frustrierend. Vielen Dank im voraus. SOS
Gruß NEONET
@Neonet: Mit Deinen Definitionen tue ich mich schwer und werde auch nicht aus Deinen Beschreibungen schlau?
Ein notify mit dieser Definition define Meldung_Schwarze_Tonne_raus notify teleBot:msgText.* {}
ist irgendwie sinnlos.
Sorry, aber wenn ich helfen soll müsste es schon eine ganze Device Definition sein und mehr Information.
Hi @ viegener
Zitat von: viegener am 18 Februar 2017, 20:53:24
Sorry, aber wenn ich helfen soll müsste es schon eine ganze Device Definition sein und mehr Information.
Ich habe doch die ganze Device Definition immer eingetragen, oder irre ich mich?
Problem 1:
Also ich habe ein funktionierendes Abfall Modul, dass mit dem Muelltonnen_Kalender verknüpft ist.
Nun möchte ich einen Tag bevor (um 18:30) der jeweilige Müll (Biomuell, GelbeSaecke, Restmuell ...) abgeholt wird ein notify via teleBot erhalten ( z.B. Morgen wird die schwarze Tonne abgeholt.).
Und genau dabei benötige ich deine Hilfe (erstellen des oder der korrekten notify´s), weil ich es alleine nicht hinbekomme (meine Definitionen sind, wie du richtig erkannt hast, sinnlos).
Problem 2:
Zusätzlich habe ich, ich mit meinem Smartphone einen Chat mit FHEM via Telegram geöffnet, und folgendes Define erstellt:
Zitatdefine n_ChatMessage notify Web_Telegram telebot:msgText.*
Hier die dazugehörige Definition:
ZitatteleBot:msgText.* {
if($EVTPART1 eq 'Status') {
my $temperature = ReadingsVal("WZ_Balkontuer", "temperature", "");
fhem("set $NAME send Temperatur: $temperature");
}
elsif ($EVTPART1 eq 'Spritpreis') {
my $spritPreis = ReadingsVal("OUT_Tankstelle", "SuperE5", "");
fhem("set WEB_Telegram send Preis: $spritPreis");
}
else {
}
}
Dadurch wird mir der aktuelle Spritpreis oder die Aussentemperatur bei Abfrage via Chat, als Antwort im Chat gesendet. Das funktioniert auch Super.
Nun meine Frage: Wie lautet das korrekte Define inkl. Definition, wenn ich "Abfall" in den Chat eingebe, dass FHEM mir die noch zu verbleibenden Tage bis zur jeweiligen Müllabholung anzeigt.
Vielen Dank für deine Hilfe im voraus, wenn du noch mehr Infos benötigst, bekommst du sie prompt.
Gruß NEONET
Zitat von: neonet am 19 Februar 2017, 13:27:33
Hi @ viegener
Ich habe doch die ganze Device Definition immer eingetragen, oder irre ich mich?
Problem 1:
Also ich habe ein funktionierendes Abfall Modul, dass mit dem Muelltonnen_Kalender verknüpft ist.
Nun möchte ich einen Tag bevor (um 18:30) der jeweilige Müll (Biomuell, GelbeSaecke, Restmuell ...) abgeholt wird ein notify via teleBot erhalten ( z.B. Morgen wird die schwarze Tonne abgeholt.).
Und genau dabei benötige ich deine Hilfe (erstellen des oder der korrekten notify´s), weil ich es alleine nicht hinbekomme (meine Definitionen sind, wie du richtig erkannt hast, sinnlos).
Problem 2:
Zusätzlich habe ich, ich mit meinem Smartphone einen Chat mit FHEM via Telegram geöffnet, und folgendes Define erstellt:
Hier die dazugehörige Definition:
Dadurch wird mir der aktuelle Spritpreis oder die Aussentemperatur bei Abfrage via Chat, als Antwort im Chat gesendet. Das funktioniert auch Super.
Nun meine Frage: Wie lautet das korrekte Define inkl. Definition, wenn ich "Abfall" in den Chat eingebe, dass FHEM mir die noch zu verbleibenden Tage bis zur jeweiligen Müllabholung anzeigt.
Vielen Dank für deine Hilfe im voraus, wenn du noch mehr Infos benötigst, bekommst du sie prompt.
Gruß NEONET
Zu 1. Dazu muss es in (oder außerhalb) einen Mechanismus beim Abfall-Modul geben, der "erkennt" wann der Tag zuvor ist... Evtl. ein "at" das jeden Tag um XY Uhr prüft ob denn schon der Tag zuvor ist und dann die Nachricht schickt. Oder Das Abfallmodul "errechnet" selbständig die Tage bis zur Abholung und setzt ein entsprechendes Reading sowas wie TageBisZumAbholen X (X ist dann die Anzahl Tage) darauf könntest du dann ein notify bauen.
Zu 2. im Prinzip genauso wie für die beiden anderen Module. Da keiner dein Abfall-Modul (außer dir) kennt, kann dir (hier) keiner sagen welchen Wert (ReadingsVal) du von dem Modul gerne geliefert bekommen würdest. Statt dem else halt ein elsif(EVPART1 eq "Abfall") und im else am Ende dann sowas wie: set message "ich weiß nicht was du wolltest"... ;)
Aber wie pah schon geschrieben hat: das sind fhem Basics und hat nur mit Telegram zu tun, weil am Ende der Kette eine Nachricht per Telegram kommen soll und das klappt ja. Also hast du eigentlich kein Problem bzgl. Telegram sondern bzgl. fhem Basics und da hilft nur lernen, lernen, lernen und mit gezielten Fragen und Informationen im passenden Forumsbereich um Unterstützung zu fragen...
Gruß, Joachim
@Neonet: Generell mit vollständiger Definition meine ich von "define" bis ganz zum Ende, Du zerteilst das, wenn ich es richtig verstehe, immer in zwei Teile die auch noch einen Überlapp haben. Vielleicht machst Du in diesen Fällen einfach ein list ...
von dem Deivce und postest das Ergebnis hier.
Ertsmal zu Problem 2:
Es gib das Konzept der Favoriten in TelegramBot - Dieses erlaubt ein Schlüsselwort doer Kommando zu definieren und der zueghörige Befehl wird dann in FHEM ausgeführt, das Ergebnis zurückgeschickt an den Sender.
Ein Beispiel: Wenn Du das attribute favorites auf folgenden Wert setzt:
/test = list n_ChatMessage
und die Parameter für Befehlsausführung von favorites (insbesondere: cmdRestrictedPeer) setzt
kannst Du "/test" an deinen bot senden und er antwortet mit einem Listing des Devices von oben.
Genau für Deinen Anwendungsfall wurde das eingebaut und natürlich kann man mehrere Favoriten definieren (und noch weiteres ...) Dazu gibt es auch im Wiki und in diesem Thread mehr beschreibung
Zu problem 1 kann ich nur eingschränkt helfen, da ich das Modul Abfall nicht benutze / kenne:
Generell vermute ich dass entweder (a) das Modul Abfall einen Event schickt auf den Du mit einem notify reagieren musst
Also etwas wie: define abfall_notify notify Abfall:<hier sollte der regexp für den Event stehen> set teleBot Restmuell muss herausgestellt werden
oder (b) es gibt keinen Event, dann müsste ein regelmässiger Test erfolgen um 18:30 (das ist aber ein at und kein notify) - Spricht Zeitsteuerung:
define abfall_at at +*18:30:00 IF ([Abfall:Muelltonnen_Kalender_Restmuell_text] == 1) ( set teleBot Restmuellmuss herausgestellt werden )
Das passt wenn das Reading Muelltonnen_Kalender_Restmuell_text dann den Wert 1 enthält.
@neonet: Achso - ich habe keine der beiden Definitionen ausprobiert und es ist nur ein Schema
Vielen Dank an viegener und MadMax-FHEM! Ich bin schon an der Umsetzung.
Zitat von: MadMax-FHEM am 19 Februar 2017, 13:47:50
Da keiner dein Abfall-Modul (außer dir) kennt, kann dir (hier) keiner sagen welchen Wert (ReadingsVal) du von dem Modul gerne geliefert bekommen würdest.
Hier die Beschreibung im wiki:
https://wiki.fhem.de/wiki/ABFALL
Hier der Link von dem Tutorial:
https://haus-automatisierung.com/hardware/fhem/2016/12/21/fhem-tutorial-reihe-part-3-2-Muellplan-auf-abfall-modul-umstellen.html
Zitat von: viegener am 19 Februar 2017, 14:00:19
oder (b) es gibt keinen Event, dann müsste ein regelmässiger Test erfolgen um 18:30 (das ist aber ein at und kein notify) - Spricht Zeitsteuerung:
define abfall_at at +*18:30:00 IF ([Abfall:Muelltonnen_Kalender_Restmuell_text] == 1) ( set teleBot Restmuellmuss herausgestellt werden )
Das passt wenn das Reading Muelltonnen_Kalender_Restmuell_text dann den Wert 1 enthält.
Ich habe das at fogendermassen angepasst:
*18:30:00 IF ([Abfall:Muelltonnen_Kalender_Restmuell_text] == 1) ( set teleBot Morgen wird die schwarze Tonne abgeholt. )
Anbei noch ein screenshot von dem Abfall Modul.
Bzgl. des
list ...
werde ich mich gleich mal einlesen.
Vielen Dank für eure Hilfe.
Nachdem ich /test an FHEM via Telegram gesendet habe, erhielt ich folgende Antwort:
TelegramBot FHEM :
Befehl: list n_ChatMessage :
Ergebnis:
Internals:
DEF teleBot:msgText.* {
if ($EVTPART1 eq 'Licht') {
if ($EVENT =~ 'an') {
fhem("set Tischlampe on");
fhem("set WZ_Fensterlicht on");
fhem("set WZ_Fernsehlicht on");
}
elsif ($EVENT =~ 'aus') {
fhem("set Tischlampe off");
fhem("set WZ_Fensterlicht off");
fhem("set WZ_Fernsehlicht off");
}
}
elsif ($EVTPART1 eq 'Zocken') {
fhem("set WZ_Receiver on");
fhem("set WZ_TV power on");
fhem("sleep 15 quiet");
fhem("set WZ_TV input hdmi1");
fhem("set WZ_Receiver input GAME");
fhem("set WZ_Fernsehlicht on");
}
elsif ($EVTPART1 eq 'FireTV') {
fhem("set WZ_Receiver on");
fhem("set WZ_TV power on");
fhem("sleep 15 quiet");
fhem("set WZ_TV input hdmi1");
fhem("set WZ_Receiver input DVD");
fhem("set WZ_Fernsehlicht on");
}
elsif ($EVTPART1 eq 'Nacht') {
fhem("set WZ_Dekolicht off");
fhem("set WZ_Fensterlicht off");
fhem("set WZ_Fernsehlicht off");
fhem("set WZ_Receiver off");
fhem("set WZ_TV power off");
}
elsif ($EVTPART1 eq 'Status') {
my $temperature = ReadingsVal("OUT.Wetter", "temperature", "");
fhem("set $NAME send Temperatur: $temperature");
}
elsif ($EVTPART1 eq 'Spritpreis') {
my $spritPreis = ReadingsVal("OUT.Spritpreis", "Diesel", "");
fhem("set teleBot send Preis: $spritPreis");
}
else {
}
}
NAME n_ChatMessage
NOTIFYDEV teleBot
NR 34
NTFY_ORDER 50-n_ChatMessage
REGEXP teleBot:msgText.*
STATE 2017-02-19 15:13:59
TYPE notify
Readings:
2017-02-18 00:48:35 state active
Attributes:
icon message_mail
room Draussen
Zitat von: viegener am 19 Februar 2017, 14:00:19Vielleicht machst Du in diesen Fällen einfach ein list ...
von dem Deivce und postest das Ergebnis hier.
Ich habe in FHEM list Muelltonnen eingegeben, und das kam als Ergebnis:
Internals:
DEF Muelltonnen_Kalender 3600
KALENDER Muelltonnen_Kalender
NAME Muelltonnen
NR 21
NTFY_ORDER 50-Muelltonnen
STATE 3
TYPE ABFALL
Helper:
Dblog:
Muelltonnen_kalender_biomuell_datum:
Dblogging:
TIME 1487512309.23975
VALUE 03.03.17
Muelltonnen_kalender_biomuell_tage:
Dblogging:
TIME 1487512309.23975
VALUE 12
Muelltonnen_kalender_biomuell_text:
Dblogging:
TIME 1487512309.23975
VALUE Biomüll
Muelltonnen_kalender_biomuell_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Freitag
Muelltonnen_kalender_gartenabfuhr_datum:
Dblogging:
TIME 1487512309.23975
VALUE 10.03.17
Muelltonnen_kalender_gartenabfuhr_tage:
Dblogging:
TIME 1487512309.23975
VALUE 19
Muelltonnen_kalender_gartenabfuhr_text:
Dblogging:
TIME 1487512309.23975
VALUE Gartenabfuhr
Muelltonnen_kalender_gartenabfuhr_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Freitag
Muelltonnen_kalender_gelbesaecke_datum:
Dblogging:
TIME 1487512309.23975
VALUE 02.03.17
Muelltonnen_kalender_gelbesaecke_tage:
Dblogging:
TIME 1487512309.23975
VALUE 11
Muelltonnen_kalender_gelbesaecke_text:
Dblogging:
TIME 1487512309.23975
VALUE Gelbe Säcke
Muelltonnen_kalender_gelbesaecke_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Donnerstag
Muelltonnen_kalender_gruenschnitt_datum:
Dblogging:
TIME 1487512309.23975
VALUE 29.04.17
Muelltonnen_kalender_gruenschnitt_tage:
Dblogging:
TIME 1487512309.23975
VALUE 69
Muelltonnen_kalender_gruenschnitt_text:
Dblogging:
TIME 1487512309.23975
VALUE Grünschnitt
Muelltonnen_kalender_gruenschnitt_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Samstag
Muelltonnen_kalender_papierabfuhr_datum:
Dblogging:
TIME 1487512309.23975
VALUE 03.03.17
Muelltonnen_kalender_papierabfuhr_tage:
Dblogging:
TIME 1487512309.23975
VALUE 12
Muelltonnen_kalender_papierabfuhr_text:
Dblogging:
TIME 1487512309.23975
VALUE Papierabfuhr
Muelltonnen_kalender_papierabfuhr_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Freitag
Muelltonnen_kalender_rm-container1100lwoe_datum:
Dblogging:
TIME 1487512309.23975
VALUE 22.02.17
Muelltonnen_kalender_rm-container1100lwoe_tage:
Dblogging:
TIME 1487512309.23975
VALUE 3
Muelltonnen_kalender_rm-container1100lwoe_text:
Dblogging:
TIME 1487512309.23975
VALUE RM-Container (1100l, wö.)
Muelltonnen_kalender_rm-container1100lwoe_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Mittwoch
Muelltonnen_kalender_restmuell_datum:
Dblogging:
TIME 1487512309.23975
VALUE 02.03.17
Muelltonnen_kalender_restmuell_tage:
Dblogging:
TIME 1487512309.23975
VALUE 11
Muelltonnen_kalender_restmuell_text:
Dblogging:
TIME 1487512309.23975
VALUE Restmüll
Muelltonnen_kalender_restmuell_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Donnerstag
Muelltonnen_kalender_schadstoffmobil_datum:
Dblogging:
TIME 1487512309.23975
VALUE 02.03.17
Muelltonnen_kalender_schadstoffmobil_tage:
Dblogging:
TIME 1487512309.23975
VALUE 11
Muelltonnen_kalender_schadstoffmobil_text:
Dblogging:
TIME 1487512309.23975
VALUE Schadstoffmobil
Muelltonnen_kalender_schadstoffmobil_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Donnerstag
Muelltonnen_kalender_sperrmuell_datum:
Dblogging:
TIME 1487512309.23975
VALUE 19.05.17
Muelltonnen_kalender_sperrmuell_tage:
Dblogging:
TIME 1487512309.23975
VALUE 89
Muelltonnen_kalender_sperrmuell_text:
Dblogging:
TIME 1487512309.23975
VALUE Sperrmüll
Muelltonnen_kalender_sperrmuell_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Freitag
Next:
Dblogging:
TIME 1487512309.23975
VALUE Muelltonnen_Kalender_RM-Container1100lwoe_3
Next_datum:
Dblogging:
TIME 1487512309.23975
VALUE 22.02.17
Next_tage:
Dblogging:
TIME 1487512309.23975
VALUE 3
Next_text:
Dblogging:
TIME 1487512309.23975
VALUE RM-Container (1100l, wö.)
Next_wochentag:
Dblogging:
TIME 1487512309.23975
VALUE Mittwoch
State:
Dblogging:
TIME 1487512309.23975
VALUE 3
Readings:
2017-02-19 14:51:49 Muelltonnen_Kalender_Biomuell_datum 03.03.17
2017-02-19 14:51:49 Muelltonnen_Kalender_Biomuell_tage 12
2017-02-19 14:51:49 Muelltonnen_Kalender_Biomuell_text Biomüll
2017-02-19 14:51:49 Muelltonnen_Kalender_Biomuell_wochentag Freitag
2017-02-19 14:51:49 Muelltonnen_Kalender_Gartenabfuhr_datum 10.03.17
2017-02-19 14:51:49 Muelltonnen_Kalender_Gartenabfuhr_tage 19
2017-02-19 14:51:49 Muelltonnen_Kalender_Gartenabfuhr_text Gartenabfuhr
2017-02-19 14:51:49 Muelltonnen_Kalender_Gartenabfuhr_wochentag Freitag
2017-02-19 14:51:49 Muelltonnen_Kalender_GelbeSaecke_datum 02.03.17
2017-02-19 14:51:49 Muelltonnen_Kalender_GelbeSaecke_tage 11
2017-02-19 14:51:49 Muelltonnen_Kalender_GelbeSaecke_text Gelbe Säcke
2017-02-19 14:51:49 Muelltonnen_Kalender_GelbeSaecke_wochentag Donnerstag
2017-02-19 14:51:49 Muelltonnen_Kalender_Gruenschnitt_datum 29.04.17
2017-02-19 14:51:49 Muelltonnen_Kalender_Gruenschnitt_tage 69
2017-02-19 14:51:49 Muelltonnen_Kalender_Gruenschnitt_text Grünschnitt
2017-02-19 14:51:49 Muelltonnen_Kalender_Gruenschnitt_wochentag Samstag
2017-02-19 14:51:49 Muelltonnen_Kalender_Papierabfuhr_datum 03.03.17
2017-02-19 14:51:49 Muelltonnen_Kalender_Papierabfuhr_tage 12
2017-02-19 14:51:49 Muelltonnen_Kalender_Papierabfuhr_text Papierabfuhr
2017-02-19 14:51:49 Muelltonnen_Kalender_Papierabfuhr_wochentag Freitag
2017-02-19 14:51:49 Muelltonnen_Kalender_RM-Container1100lwoe_datum 22.02.17
2017-02-19 14:51:49 Muelltonnen_Kalender_RM-Container1100lwoe_tage 3
2017-02-19 14:51:49 Muelltonnen_Kalender_RM-Container1100lwoe_text RM-Container (1100l, wö.)
2017-02-19 14:51:49 Muelltonnen_Kalender_RM-Container1100lwoe_wochentag Mittwoch
2017-02-19 14:51:49 Muelltonnen_Kalender_Restmuell_datum 02.03.17
2017-02-19 14:51:49 Muelltonnen_Kalender_Restmuell_tage 11
2017-02-19 14:51:49 Muelltonnen_Kalender_Restmuell_text Restmüll
2017-02-19 14:51:49 Muelltonnen_Kalender_Restmuell_wochentag Donnerstag
2017-02-19 14:51:49 Muelltonnen_Kalender_Schadstoffmobil_datum 02.03.17
2017-02-19 14:51:49 Muelltonnen_Kalender_Schadstoffmobil_tage 11
2017-02-19 14:51:49 Muelltonnen_Kalender_Schadstoffmobil_text Schadstoffmobil
2017-02-19 14:51:49 Muelltonnen_Kalender_Schadstoffmobil_wochentag Donnerstag
2017-02-19 14:51:49 Muelltonnen_Kalender_Sperrmuell_datum 19.05.17
2017-02-19 14:51:49 Muelltonnen_Kalender_Sperrmuell_tage 89
2017-02-19 14:51:49 Muelltonnen_Kalender_Sperrmuell_text Sperrmüll
2017-02-19 14:51:49 Muelltonnen_Kalender_Sperrmuell_wochentag Freitag
2017-02-19 14:51:49 next Muelltonnen_Kalender_RM-Container1100lwoe_3
2017-02-19 14:51:49 next_datum 22.02.17
2017-02-19 14:51:49 next_tage 3
2017-02-19 14:51:49 next_text RM-Container (1100l, wö.)
2017-02-19 14:51:49 next_wochentag Mittwoch
2017-02-19 14:51:49 state 3
Attributes:
event-on-change-reading .*
icon dustbin
room Draussen
Zitat von: neonet am 19 Februar 2017, 15:17:10
Nachdem ich /test an FHEM via Telegram gesendet habe, erhielt ich folgende Antwort:
TelegramBot FHEM :
Befehl: list n_ChatMessage :
Ergebnis:
Internals:
DEF teleBot:msgText.* {
if ($EVTPART1 eq 'Licht') {
if ($EVENT =~ 'an') {
fhem("set Tischlampe on");
fhem("set WZ_Fensterlicht on");
fhem("set WZ_Fernsehlicht on");
}
elsif ($EVENT =~ 'aus') {
fhem("set Tischlampe off");
fhem("set WZ_Fensterlicht off");
fhem("set WZ_Fernsehlicht off");
}
}
elsif ($EVTPART1 eq 'Zocken') {
fhem("set WZ_Receiver on");
fhem("set WZ_TV power on");
fhem("sleep 15 quiet");
fhem("set WZ_TV input hdmi1");
fhem("set WZ_Receiver input GAME");
fhem("set WZ_Fernsehlicht on");
}
elsif ($EVTPART1 eq 'FireTV') {
fhem("set WZ_Receiver on");
fhem("set WZ_TV power on");
fhem("sleep 15 quiet");
fhem("set WZ_TV input hdmi1");
fhem("set WZ_Receiver input DVD");
fhem("set WZ_Fernsehlicht on");
}
elsif ($EVTPART1 eq 'Nacht') {
fhem("set WZ_Dekolicht off");
fhem("set WZ_Fensterlicht off");
fhem("set WZ_Fernsehlicht off");
fhem("set WZ_Receiver off");
fhem("set WZ_TV power off");
}
elsif ($EVTPART1 eq 'Status') {
my $temperature = ReadingsVal("OUT.Wetter", "temperature", "");
fhem("set $NAME send Temperatur: $temperature");
}
elsif ($EVTPART1 eq 'Spritpreis') {
my $spritPreis = ReadingsVal("OUT.Spritpreis", "Diesel", "");
fhem("set teleBot send Preis: $spritPreis");
}
else {
}
}
NAME n_ChatMessage
NOTIFYDEV teleBot
NR 34
NTFY_ORDER 50-n_ChatMessage
REGEXP teleBot:msgText.*
STATE 2017-02-19 15:13:59
TYPE notify
Readings:
2017-02-18 00:48:35 state active
Attributes:
icon message_mail
room Draussen
Ja genau das ist das erwartete Ergebnis - es war ja nur ein Test zur Erklärung der Favoriten
ACHTUNG: Hast Du cmdRestrictedPeer gesetzt auf die ID der Telegramuser die Deinem Bot Befehlen senden dürfen?
Wenn nicht: Ratschlag lies Dich tiefer ein und überlege was Du tust, ohne cmdRestrictedPeer öffnest Du jedem, der bei Dir etwas ausführen will ein Scheunentor!!!
Zitat von: neonet am 19 Februar 2017, 15:07:50
Vielen Dank an viegener und MadMax-FHEM! Ich bin schon an der Umsetzung.
Hier die Beschreibung im wiki:
https://wiki.fhem.de/wiki/ABFALL
Hier der Link von dem Tutorial:
https://haus-automatisierung.com/hardware/fhem/2016/12/21/fhem-tutorial-reihe-part-3-2-Muellplan-auf-abfall-modul-umstellen.html
Ich habe das at fogendermassen angepasst:
*18:30:00 IF ([Abfall:Muelltonnen_Kalender_Restmuell_text] == 1) ( set teleBot Morgen wird die schwarze Tonne abgeholt. )
Anbei noch ein screenshot von dem Abfall Modul.
Bzgl. des list ...
werde ich mich gleich mal einlesen.
Vielen Dank für eure Hilfe.
Oben in Deinem List ist erkennbar, dass im Reading ...._text der Name der Mülltonne steht, da Du vermutlich keine Mülttone mit Name 1 hast wird der at nie etwas tun.
Aber wenn Du Dich nicht selber ein einarbeitest, kann ich nicht weiter helfen. Bei mir kommt das Gefühl uaf, Du möchtest eine fertige Lösung haben, die irgendjemand für Dich schreibt. Das habe ich nicht vor und da es für diesen Thread offtopic ist, würde ich auch vorschlagen, dass woanders hinzuverschieben.
@ viegener: ich danke dir wirklich vielmals für deine Informationen.
ZitatAber wenn Du Dich nicht selber ein einarbeitest, kann ich nicht weiter helfen. Bei mir kommt das Gefühl uaf, Du möchtest eine fertige Lösung haben, die irgendjemand für Dich schreibt. Das habe ich nicht vor und da es für diesen Thread offtopic ist, würde ich auch vorschlagen, dass woanders hinzuverschieben.
Ich werde mich auch weiterhin tiefer in die Materie einarbeiten. (Bin erst seit ca. 3 Wochen mit FHEM in Kontakt gekommen, und das seit dem fast täglich bis spät in die Nacht. Ich bin kein Programmierer deswegen fehlt mir oft das nötige Hintergrundwissen, ich bin schon dabei perl zu erlernen, weil großes Interesse meinerseits besteht)
Sorry das ich teilweise deinen Thread gesprengt habe, das wird mein letzter Post dies bzgl. sein.
Nochmals vielen Dank an viegener und alle anderen, und noch einen schönen Sonntag.
Zitat von: neonet am 19 Februar 2017, 16:31:57
@ viegener: ich danke dir wirklich vielmals für deine Informationen.
Ich werde mich auch weiterhin tiefer in die Materie einarbeiten. (Bin erst seit ca. 3 Wochen mit FHEM in Kontakt gekommen, und das seit dem fast täglich bis spät in die Nacht. Ich bin kein Programmierer deswegen fehlt mir oft das nötige Hintergrundwissen, ich bin schon dabei perl zu erlernen, weil großes Interesse meinerseits besteht)
Sorry das ich teilweise deinen Thread gesprengt habe, das wird mein letzter Post dies bzgl. sein.
Nochmals vielen Dank an viegener und alle anderen, und noch einen schönen Sonntag.
Du kannst auch einen eigenen neuen Thread aufmachen...
Sowas wie notify bzw. at im Umfeld Abfallkalender...
...den dann entweder in Anfängerfragen oder gleich beim passenden Modul Abfallkalender/Hilfsmodule...
Aber vorher mit notify und at beschäftigen (fhem commandref bzw. Wiki) ist ratsam weil dir auch dort vermutlich nur Hinweise/Denkanstöße gegeben werden (wenn nur vage Fragen kommen) und spätestens dann musst du dich einarbeiten...
Viel Erfolg! Joachim
Hallo,
nachdem ich heute mal wieder ein bißchen Zeit gefunden habe, an meinem Bot zu basteln und vor kurzem hoch erfreut bemerkt habe, dass das Inline-Keyboard jetzt implementiert ist, habe ich damit direkt ein kleines Problem.
Bei "normalen" Textbefehlen schickt mein Bot die Antwort an den Absender, wenn msgChat leer ist und an den Gruppenchat, wenn msgChat den Gruppenchat enthält.
Dafür scheint es aber bei der Inline-Keyboard-Variante kein Äquivalent zu geben, oder habe ich etwas übersehen?
Ich könnte mir merken, an wen ich das Inlinekeyboard mit queryReplyMsgId ursprünglich geschickt habe, aber das würde dazu führen, dass ich eine immer länger werdende Liste von MsgIDs führen müsste, oder dass bei rollierender Liste alte InlineKeyboards irgendwann nicht mehr richtig zugeordnet werden könnten. Prinzipiell soll dem Bot aber egal sein, wie alt der Button ist, der gedrückt wurde.
Wäre es möglich, für die queries auch ein queryChat-Reading zu implementieren?
Ein anderes ( Mini-) Problem, das ich gerade habe: Beim Testen von Inlinekeyboard habe ich zwischendurch einmal vergessen, das Dropdown auf queryInline umzustellen und die Key-Struktur über set <Bot> _msg (keyboard) text
geschickt.
Jetzt habe ich da, wo sonst der [/]-Button ist, einen Button, um diese Nonsense-Tastatur auszuklappen. Wie bekommt man die wieder weg?
Ansonsten kann ich nur zum wiederholten Male meinen Dank für Deine hervorragende Arbeit an diesem Modul aussprechen. Tolle Arbeit!
Hätte auch eine kurze Zwischenfrage:
Wie kann ich es einstellen, dass FHEM demjenigen antwortet, der ihm auch den jeweiligen Befehl geschickt (z.B in einer Gruppe) hat und nicht dem defaultpeer?
Hi szoller,
relativ einfach. Hier eine Beispiel DOIF mit der Rückmeldung der Außentemperatur.
Wie funktioniert es? Du schickst eine Anfrage mit dem Wort Aussentemperatur. In der [teleBot:msgPeerId] steht die ID des Anfragenden und gibt hier im Beispiel entsprechende Reading state aus den Device zurück.
define doif_teleBot_msg DOIF ([teleBot:"Aussentemperatur"])(set teleBot msg @[teleBot:msgPeerId] Die Aussentemperatur ist aktuell [dim_outdoor_temperature:state]°C)
DOELSE (set teleBot msg @[teleBot:msgPeerId] Anfrage ist unbekannt!)
Gruß
Tino
Danke, klingt schonmal toll! werde ich ausprobieren!
Genial, klappt super, außer, dass DoElse auch ausgeführt wird.
Mein Code:
define doif_TeleBot_msg DOIF ([TeleBot:"TempSchlafzimmer"])(set TeleBot msg @[TeleBot:msgPeerId] Die Temperatur im Schlafzimmer ist aktuell [Heizung_Schlafzimmer:temperature]°C) DOELSE (set TeleBot msg @[TeleBot:msgPeerId] Anfrage ist unbekannt!)
Der Bot sagt:
HomeBot:
ZitatDie Temperatur im Schlafzimmer ist aktuell 15.3°C
Anfrage ist unbekannt!
Bin recht unerfahren mit DOIF, laut Kurzreferenz sollte es aber doch stimmen oder?
DOELSE brauch ich zwar nicht (wenn der Bott nix erkennt, soll er auch bessernicht antworten), aber würde trotzdem gern wissen, warum er DOELSE trotzdem zeigt.
Was mir auch aufgefallen ist, ist dass er zumindest nicht in Gruppen antwortet, sondern dem Schreiber der Nachricht direkt.
Zitat von: Carsten am 21 Februar 2017, 23:15:19
Hallo,
nachdem ich heute mal wieder ein bißchen Zeit gefunden habe, an meinem Bot zu basteln und vor kurzem hoch erfreut bemerkt habe, dass das Inline-Keyboard jetzt implementiert ist, habe ich damit direkt ein kleines Problem.
Bei "normalen" Textbefehlen schickt mein Bot die Antwort an den Absender, wenn msgChat leer ist und an den Gruppenchat, wenn msgChat den Gruppenchat enthält.
Dafür scheint es aber bei der Inline-Keyboard-Variante kein Äquivalent zu geben, oder habe ich etwas übersehen?
Ich könnte mir merken, an wen ich das Inlinekeyboard mit queryReplyMsgId ursprünglich geschickt habe, aber das würde dazu führen, dass ich eine immer länger werdende Liste von MsgIDs führen müsste, oder dass bei rollierender Liste alte InlineKeyboards irgendwann nicht mehr richtig zugeordnet werden könnten. Prinzipiell soll dem Bot aber egal sein, wie alt der Button ist, der gedrückt wurde.
Wäre es möglich, für die queries auch ein queryChat-Reading zu implementieren?
Ein anderes ( Mini-) Problem, das ich gerade habe: Beim Testen von Inlinekeyboard habe ich zwischendurch einmal vergessen, das Dropdown auf queryInline umzustellen und die Key-Struktur über set <Bot> _msg (keyboard) text
geschickt.
Jetzt habe ich da, wo sonst der [/]-Button ist, einen Button, um diese Nonsense-Tastatur auszuklappen. Wie bekommt man die wieder weg?
Ansonsten kann ich nur zum wiederholten Male meinen Dank für Deine hervorragende Arbeit an diesem Modul aussprechen. Tolle Arbeit!
Leider musst Du Dir genau merken an wen bzw. welchen Chat Du das keyboard gesendet hast, denn die Antwort von telegram enthält leider den chat nicht sondern nur den eigentlichen Benutzer (https://core.telegram.org/bots/api#callbackquery (https://core.telegram.org/bots/api#callbackquery)). Die chat_instance die im API zurückgeliefert wird enthält nicht den Namen / die ID des chats, das habe ich gestern mal ausprobiert. Sich Namen und msgId zu merken macht aber auch Sinn, wenn mehrere Benutzer dieselbe callback query id bekommen. Ich baue dafür einen Hash auf in dem ich das merke (in Perl)
Das "unnütze" Keyboard bekommst Du weg in dem Du zum Beispiel ein Favoritenkeyboard anforderts. Ob man das auf den [/] zurücksetzen kann, weiss ich leider nicht.
Zitat von: szoller am 22 Februar 2017, 19:25:25
Hätte auch eine kurze Zwischenfrage:
Wie kann ich es einstellen, dass FHEM demjenigen antwortet, der ihm auch den jeweiligen Befehl geschickt (z.B in einer Gruppe) hat und nicht dem defaultpeer?
Das kommt etwas darauf an, was Du verwendest um Befehle abzuarbeiten. Bei Verwendung von cmdKeyword oder Favoriten wird normalerweise an denjenigen geantwortet der den Befehl sendet (Zumindest wenn derjenige authorisiert ist).
Über defaultPeerCopy lässt sich einstellen, ob zusätzlich noch der defaultpeer die Antowrt erhalten soll.
Bei dem DOIF von oniT findet keine Berechtigungsorüfung statt. Im Normalfall kann dann jeder Deinem FHEM Kommandos schicken, bei Temperaturen mag das nicht kritisch sein, aber sobald wirklich Kommandos ausgeführt werden...
Frage: Warum verwendet Ihr keine Favoriten oder generell cmdKeyword - ist der DOIF nicht viel schwieriger als einen Favoriten anzulegen?
/temp=set mybot msg [mybot :msgPeerId] Die Temperatur im Schlafzimmer ist aktuell [Heizung_Schlafzimmer:temperature] Grad;
Hi und danke für die Antwort!
Zitat von: viegener am 24 Februar 2017, 10:21:15
Leider musst Du Dir genau merken an wen bzw. welchen Chat Du das keyboard gesendet hast, denn die Antwort von telegram enthält leider den chat nicht sondern nur den eigentlichen Benutzer (https://core.telegram.org/bots/api#callbackquery (https://core.telegram.org/bots/api#callbackquery)). Die chat_instance die im API zurückgeliefert wird enthält nicht den Namen / die ID des chats, das habe ich gestern mal ausprobiert. Sich Namen und msgId zu merken macht aber auch Sinn, wenn mehrere Benutzer dieselbe callback query id bekommen. Ich baue dafür einen Hash auf in dem ich das merke (in Perl)
Was steht denn dann in chat_instance? Muss ja zumindest unique und immer gleich sein, wenn man sich laut API-Referenz damit den Game-Highscore merken kann.
Ich werde wahrscheinlich einfach den Keyboards, die ich an die Gruppe schicke, einen Prefix für die Kommandos mitgeben. Das sollte eigentlich seinen Zweck erfüllen.
Zitat von: viegener am 24 Februar 2017, 10:21:15
Das "unnütze" Keyboard bekommst Du weg in dem Du zum Beispiel ein Favoritenkeyboard anforderts. Ob man das auf den [/] zurücksetzen kann, weiss ich leider nicht.
In der API gibt es dafür scheinbar https://core.telegram.org/bots/api#replykeyboardremove (https://core.telegram.org/bots/api#replykeyboardremove). Habe ich eine Chance, das zu senden?
Und noch eine Frage mit sehr niedriger Priorität: Ich habe im Moment das Attribut queryAnswertext auf 0, weil mir der Kreisel genug Feedback war. Jetzt habe ich aber doch einen Fall, wo der Answertext ganz nett wäre. Das bedeutet dann aber, dass ich alle Antworten selber handeln muss, oder gibt es eine Möglichkeit automatisch den Default zu schicken, ausser es wurde schon etwas anderes geschickt?
Zitat von: Carsten am 24 Februar 2017, 11:13:18
Hi und danke für die Antwort!
Was steht denn dann in chat_instance? Muss ja zumindest unique und immer gleich sein, wenn man sich laut API-Referenz damit den Game-Highscore merken kann.
Ich werde wahrscheinlich einfach den Keyboards, die ich an die Gruppe schicke, einen Prefix für die Kommandos mitgeben. Das sollte eigentlich seinen Zweck erfüllen.
In der API gibt es dafür scheinbar https://core.telegram.org/bots/api#replykeyboardremove (https://core.telegram.org/bots/api#replykeyboardremove). Habe ich eine Chance, das zu senden?
Und noch eine Frage mit sehr niedriger Priorität: Ich habe im Moment das Attribut queryAnswertext auf 0, weil mir der Kreisel genug Feedback war. Jetzt habe ich aber doch einen Fall, wo der Answertext ganz nett wäre. Das bedeutet dann aber, dass ich alle Antworten selber handeln muss, oder gibt es eine Möglichkeit automatisch den Default zu schicken, ausser es wurde schon etwas anderes geschickt?
In chat_instance steht eine Zahl, ja vermutlich eindeutig, aber trotzdem muss ja die Zuordnung zur Gruppe / user irgendwo gespeichert werden.
Ich kann schon eine Methode einbauen, die ein Keyboard removed aber wenn Du Favoriten nutzt, kannst Du doch das bisherige jederzeit überschhreiben, oder?
Zu Deiner Frage bzgl queryAnswertext, im Prinzip kannst Du da ja eine Perl-Funktion hinterlegen, die immer "" oder ähnliches zurückliefert ausser in dem Fall, wo Du einen speziellen Antworttext brauchst. Der perl-teil kann auch ganz einfach sein und nur per if die spezielle Rückgabe anfordern.
Automatische Antworten sind nur für ddas TBot_List-Modul angelegt.
Zitat von: viegener am 24 Februar 2017, 12:59:59
In chat_instance steht eine Zahl, ja vermutlich eindeutig, aber trotzdem muss ja die Zuordnung zur Gruppe / user irgendwo gespeichert werden.
Ja, genau wie für die Gruppen-ID. Die Zuordnung Gruppe <-> User brauch ich zumindest in meinem Anwendungsfall nicht. Ich wüsste jedenfalls nicht, wofür. Ich habe eine Liste von Usern, auf die der Bot reagieren soll ( Konkret einen Dummy pro User, der unter anderem ein Reading für die Telegram-ID hat ). Wenn einer davon die Funktion aus der Gruppe heraus triggert, wird er wohl in der Gruppe sein. Mir fällt kein Grund ein, warum ich das im Vorraus wissen müsste.
Relevant ist für mich derzeit nur, ob der Trigger aus der Gruppe kam oder direkt, damit ich ggf. weiß, wohin mit der Antwort, aber das kann ich dann wie gesagt auch über einen cmd-Prefix erkennen.
Zitat von: viegener am 24 Februar 2017, 12:59:59
Ich kann schon eine Methode einbauen, die ein Keyboard removed aber wenn Du Favoriten nutzt, kannst Du doch das bisherige jederzeit überschhreiben, oder?
Ich nutz das Keyboard ( bisher ) gar nicht, bzw. nur aus Versehen. ;D
Wenn es die Möglichkeit schon gäbe, würde ich sie jetzt genau einmal nutzen, um meine Fehleingabe zu korrigieren. Insofern besteht kein Grund, die jetzt für mich einzubauen.
Zitat von: viegener am 24 Februar 2017, 12:59:59
Zu Deiner Frage bzgl queryAnswertext, im Prinzip kannst Du da ja eine Perl-Funktion hinterlegen, die immer "" oder ähnliches zurückliefert ausser in dem Fall, wo Du einen speziellen Antworttext brauchst. Der perl-teil kann auch ganz einfach sein und nur per if die spezielle Rückgabe anfordern.
Okay, das habe ich mir schon gedacht. Werde ich wohl hinkriegen. :)
Leerstrings ist dann gleichbedeutend mit 0 im Attribut? Also "" = keine Meldung wird angezeigt, aber Spinner verschwindet?
Zitat von: Carsten am 24 Februar 2017, 13:27:56
Ja, genau wie für die Gruppen-ID. Die Zuordnung Gruppe <-> User brauch ich zumindest in meinem Anwendungsfall nicht. Ich wüsste jedenfalls nicht, wofür. Ich habe eine Liste von Usern, auf die der Bot reagieren soll ( Konkret einen Dummy pro User, der unter anderem ein Reading für die Telegram-ID hat ). Wenn einer davon die Funktion aus der Gruppe heraus triggert, wird er wohl in der Gruppe sein. Mir fällt kein Grund ein, warum ich das im Vorraus wissen müsste.
Relevant ist für mich derzeit nur, ob der Trigger aus der Gruppe kam oder direkt, damit ich ggf. weiß, wohin mit der Antwort, aber das kann ich dann wie gesagt auch über einen cmd-Prefix erkennen.
Bei mir wäre es möglich, dass jemand sowohl aus der Gruppe als auch im Einzelchat einen Dialog startet, dafür müsste ich mir eigentlich die Kombination als Schlüssel merken, da ich bei mir aber nicht rausfinden kann von wo der Benutzer gerade schreibt, habe ich das vereinfacht und schreibe immer direkt an den Benutzer zurück, denn die Interaktion interessiert die anderen in der Gruppe nicht.
Zitat von: viegener am 24 Februar 2017, 16:46:03
Bei mir wäre es möglich, dass jemand sowohl aus der Gruppe als auch im Einzelchat einen Dialog startet, dafür müsste ich mir eigentlich die Kombination als Schlüssel merken, da ich bei mir aber nicht rausfinden kann von wo der Benutzer gerade schreibt, habe ich das vereinfacht und schreibe immer direkt an den Benutzer zurück, denn die Interaktion interessiert die anderen in der Gruppe nicht.
Achso. Bei mir ist Gruppe der Hauptzweck und Direktchat Bonus.
Dialoge gibt es bei mir derzeit nur mit max einer Rückfrage des Bots in der Form User: /befehl -> Bot: Rückfrage -> User: Detail -> Bot: Antwort -> ENDE
Dazu merke ich mir in einem Dummy mit ( ggf. ) Chat-ID und User-ID für zwei Minuten den Ursprungsbefehl und interpretiere den nächsten Text von <User> in <Chat> als Antwort auf die Rückfrage. Ist ein bißchen "grobmotorisch", funtioniert aber ganz gut.
Die Menü-Untermenüstrukturen mit den Inlines wie in dem Zettelbot von pah habe ich mir erstmal abgeschminkt. Das ist im Gruppenchat wohl eher verwirrend. ;D
Ansonsten ist das mit den Inlines für meine Zwecke perfekt. So müssen die Leute sich nicht mehr zig Befehle merken, der Chat selbst wird nicht mit den Befehlen zugespammt und schneller ist es so auch.
Ich werde da wohl auch noch eine Änderung machen, so dass msgChat und msgChatId entweder den chat bezeichnen oder den peer, wenn es keine Gruppe ist, dadurch dürfte sich das Handling für die meisten vereinfachen, da man immer an den chatId zurücksenden kann.
Da ich nächste Woche ausnahmsweise mal geschäftlich nicht unterwegs bin und so bei Problemen unterstützen kann, habe ich jetzt die aktuelle Version (2.2) über SVN verfügbar gemacht. Wesentliche Änderungen finden sich ja hier auch schon im Thread beschrieben:
- ACHTUNG: der Apikey wird jetzt per setkey und abgelegt und steht NICHT mehr im device direkt als internal (basierend auf patch von wmr72 https://forum.fhem.de/index.php/topic,38328.msg576714#msg576714 (https://forum.fhem.de/index.php/topic,38328.msg576714#msg576714) - Danke)
- cmdRespondChat zur Steuerung der Antwort von Kommandos in Gruppenchats
- New reading msgChat/msgChatId um den aktuellen chat Gruppe oder Peer zurückzugeben
(Dieses Reading sollte man verwenden, wenn man auf eine Nachricht im selben chat gruppe oder peer antowrten will)
- Fehlermeldungen der Art "Bad Request:" or "Unauthorized" führen nicht mehr zu Wiederholungsversuchen
- Das TBot_List Module wird direkt aus Telegrambot angesteuert (Ich werde das Modul auch ins SVN einstellen)
- Rufzeichen in Favoriten, damit auch leere Bestätigungen gesendet werden
Das TBot_List-Modul ist ab morgen auch über SVN verfügbar - Diskussionen dazu bitte hier : https://forum.fhem.de/index.php/topic,67976.0.html (https://forum.fhem.de/index.php/topic,67976.0.html)
Wie immer bei Problemen bitte hier melden, insbesondere mit der sichereren Behandlung des APIKeys
Hi zusammen,
ich hab aktuell noch ein Problem mit den Sonderzeichen, vllt. kann mir da jmd. behilflich sein.
FHEM v. = 5.7 & TelegramBot v. = # $Id: 50_TelegramBot.pm 12874 2016-12-25 14:15:59Z viegener $
Wenn ich eine Nachricht abschicke: "set my_bot send Foobar" gibt es keine Probleme, sobald darin aber ein Sonderzeichen enthalten sind (sprich "set my_bot send äöüß"), timed der HTTP Request für das senden der Nachricht aus. Die Forensuche hat mich hier im Thread zu 2 Usern mit ähnlichen Problemen geführt, aber wenn ich dem Thread richtig gefolgt bin, sollten diese Probleme mit der Version die ich im Betrieb habe, ja nicht mehr existieren.
Leider gibt auch verbose=5 nicht sonderlich viel her, am Interessantesten ist wohl der Part des HTTP Requests, welches das Timeout bekommt:
2017.02.26 14:22:07 3: TelegramBot_Callback fhem_remote_bot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2017.02.26 14:22:07 3: TelegramBot_Callback fhem_remote_bot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg 289192221 : äöü
Wäre super, wenn mich jemand auf den richtigen Weg schicken könnte. Wenns mehr Infos braucht, einfach gerne Fragen.
Zitat von: asciidisco am 26 Februar 2017, 14:24:49
Hi zusammen,
ich hab aktuell noch ein Problem mit den Sonderzeichen, vllt. kann mir da jmd. behilflich sein.
FHEM v. = 5.7 & TelegramBot v. = # $Id: 50_TelegramBot.pm 12874 2016-12-25 14:15:59Z viegener $
Wenn ich eine Nachricht abschicke: "set my_bot send Foobar" gibt es keine Probleme, sobald darin aber ein Sonderzeichen enthalten sind (sprich "set my_bot send äöüß"), timed der HTTP Request für das senden der Nachricht aus. Die Forensuche hat mich hier im Thread zu 2 Usern mit ähnlichen Problemen geführt, aber wenn ich dem Thread richtig gefolgt bin, sollten diese Probleme mit der Version die ich im Betrieb habe, ja nicht mehr existieren.
Leider gibt auch verbose=5 nicht sonderlich viel her, am Interessantesten ist wohl der Part des HTTP Requests, welches das Timeout bekommt:
2017.02.26 14:22:07 3: TelegramBot_Callback fhem_remote_bot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2017.02.26 14:22:07 3: TelegramBot_Callback fhem_remote_bot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg 289192221 : äöü
Wäre super, wenn mich jemand auf den richtigen Weg schicken könnte. Wenns mehr Infos braucht, einfach gerne Fragen.
Ja, das Modul sollte an sich die Sonderzeichenprobleme lösen, es gibt aber offensichtlich sehr unterschiedliches Verhalten je nach Plattform, Perl-version etc. Kannst Du etwas zu Deiner Umgebung (Plattform und OS-Version sowie perl-version) sagen?
Danke für die Fixe Antwort, klar, gerne:
Summary of my perl5 (revision 5 version 24 subversion 1) configuration:
Platform:
osname=linux, osvers=3.16.0, archname=arm-linux-gnueabihf-thread-multi-64int
uname='linux localhost 3.16.0 #1 smp debian 3.16.0 armv7l gnulinux '
Zitat von: asciidisco am 26 Februar 2017, 14:42:41
Danke für die Fixe Antwort, klar, gerne:
Summary of my perl5 (revision 5 version 24 subversion 1) configuration:
Platform:
osname=linux, osvers=3.16.0, archname=arm-linux-gnueabihf-thread-multi-64int
uname='linux localhost 3.16.0 #1 smp debian 3.16.0 armv7l gnulinux '
Ist das ein raspberry mit linux jessie?
und noch eine Frage, wie hast Du JSON installiert?
Fast, ein Cubietruck mit Jessie (Igors Build).
Edit: JSON wurde damals über apt-get geholt
Edit2: Ich kann auch gerne meine Sourcen modifizieren, oder Log outputs einbauen wenn & wo gewünscht.
@asciidisco: Kannst Du mal in FHEMWeb folgendes im Kommandofeld eingeben und die Ergebnisse hier angeben?
{( return length("äöü") )}
{( return length(decode_utf8("äöü")) )}
{( return length(encode_utf8("äöü")) )}
Und noch eine Frage, was passiert, wenn Du die Nachricht direkt aus FHEMWeb verschickst?
set fhem_remote_bot msg äöü
@viegener
Bitte sehr:
{( return length("äöü") )} #6
{( return length(decode_utf8("äöü")) )} #3
{( return length(encode_utf8("äöü")) )} #12
Ich bin kein Perl Programmierer, allerdings würde ich mal behaupten, das die Ergebnisse Erwartungsgemäß aussehen...
Hier noch der verbose log, wenn ich über fhemweb den call absetze:
2017.02.26 16:40:44 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:44 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:40:44 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:44 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:40:44 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:44 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:40:45 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:45 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:40:45 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:45 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:40:45 5: TelegramBot_Get fhem_remote_bot: called
2017.02.26 16:40:45 5: TelegramBot_Get fhem_remote_bot: Processing TelegramBot_Get( ? )
2017.02.26 16:40:48 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:48 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( msg )
2017.02.26 16:40:48 5: TelegramBot_Set fhem_remote_bot: start send for cmd :msg: and sendType :0:
2017.02.26 16:40:48 5: TelegramBot_SendIt fhem_remote_bot: called
2017.02.26 16:40:48 5: TelegramBot_SendIt fhem_remote_bot: try to send message to :xxxxxxxx: -:äöü: - :<undef>:
2017.02.26 16:40:48 4: TelegramBot_GetFullnameForContact # Contacts is xxxxx:xxxxx_x::
2017.02.26 16:40:48 4: TelegramBot_GetFullnameForContact # name is xxxxx_xxxx
2017.02.26 16:40:48 4: TelegramBot_SendIt fhem_remote_bot: timeout for sent :30:
2017.02.26 16:40:49 5: TelegramBot_Set fhem_remote_bot: msg done succesful:
2017.02.26 16:40:49 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:49 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:40:49 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:49 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:40:49 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:49 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:40:49 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:40:49 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:41:19 5: TelegramBot_Callback fhem_remote_bot: called from SendIt
2017.02.26 16:41:19 3: TelegramBot_Callback fhem_remote_bot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2017.02.26 16:41:19 3: TelegramBot_Callback fhem_remote_bot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg xxxxx : äöü
2017.02.26 16:41:19 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:41:19 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 16:41:19 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 16:41:19 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
Kannst du mir vllt. die Zeile sagen, in der das Request abgesetzt wird? Ich würde mir gerne mal anschauen wie URL & Parameter zusammengebaut aussehen, ich hab mir nen kleinen Client in Node.js geschrieben, der auch eine einfache Nachricht ans Telegram API schickt (mit Umlauten) & dann könnte ich mal den Aufbau der Requests vergleichen.
@asciidisco: Ich kann Dir sagen wo die Unterschiede liegen. Die Buchstaben äöü sind 3 Zeichen in unicode (also für das Versenden) aber 6 Bytes/8-Bit-Character. Dein Perl/JSON berechnet die Länge unter bestimmten Umständen anders und das führt dazu, dass der Request fehlerhaft eine falsche Länge (sprich in Characters statt in Bytes) enthält oder beim Empfangen eine falsche Länge erwartet wird.
Das entspringt wohl nicht einem Fehler des Moduls sondern entsteht im Zusammenspiel aus perl-Version, verschiedenen Modulen und includes und der verqueren Art in der perl mit unicode/UTF-8-Strings umgeht. Insbesondere verhalten sich diese Zusammenstellungen unterschiedlich.
Ich müsste also genauer wissen, ob sich das Problem im HTTPRequest-Modul eingrenzen lässt.
Kannst Du mal folgendes in FHEMWEB in Kommandofeld eingeben:
{( $defs{"fhem_remote_bot"}->{HU_DO_PARAMS}->{loglevel} = 2 )}
und dann den Request mit den Umlauten nochmals absenden. Der Inhalt des logs wäre interessant.
dann kannst Du das wieder zurücksetzen
{( delete ($defs{"fhem_remote_bot"}->{HU_DO_PARAMS}->{loglevel}) )}
Verstehe, leider scheint ein höheres debug level hier wenig zu bringen:
2017.02.26 18:38:55 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 18:38:55 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( send )
2017.02.26 18:38:55 5: TelegramBot_Set fhem_remote_bot: start send for cmd :send: and sendType :0:
2017.02.26 18:38:55 5: TelegramBot_SendIt fhem_remote_bot: called
2017.02.26 18:38:55 5: TelegramBot_SendIt fhem_remote_bot: try to send message to :xxxxxxxxxx: -:äöü: - :<undef>:
2017.02.26 18:38:55 4: TelegramBot_GetFullnameForContact # Contacts is xxxx:xxxxxx::
2017.02.26 18:38:55 4: TelegramBot_GetFullnameForContact # name is xxxxxxx
2017.02.26 18:38:55 4: TelegramBot_SendIt fhem_remote_bot: timeout for sent :30:
2017.02.26 18:38:55 2: HttpUtils url=<hidden>
2017.02.26 18:38:55 5: TelegramBot_Set fhem_remote_bot: send done succesful:
2017.02.26 18:38:55 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 18:38:55 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 18:38:55 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 18:38:55 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 18:39:25 5: TelegramBot_Callback fhem_remote_bot: called from SendIt
2017.02.26 18:39:25 3: TelegramBot_Callback fhem_remote_bot: resulted in :NonBlockingGet timed out on read from <hidden> after 30s: from SendIt
2017.02.26 18:39:25 3: TelegramBot_Callback fhem_remote_bot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg xxxxxx : äöü
2017.02.26 18:39:25 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 18:39:25 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
2017.02.26 18:39:25 4: TelegramBot_Set fhem_remote_bot: called
2017.02.26 18:39:25 4: TelegramBot_Set fhem_remote_bot: Processing TelegramBot_Set( ? )
<hidden>
steht so im Log...
Bei meinem Raspi mit Jessi lauten die Antworten ebenfalls 6, 3 und 12. Und ich habe keine Probleme mit Umlauten, wenn ich diese direkt über das Telegram-Device schicke.
Wenn ich aber über das TalkToMe/TalkToUser-Device (Chatbot) Nachrichten aus FHEM, wie etwas den Wetterbericht, über das Telegram-Device verschicke, dann werden die Umlaute zerstört und ein Text, der in FHEM korrekt aussieht, kommt beim Chat-Client dann so an:
Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt.
Da ist irgendeine Codierung/Decodierung zuviel. Erstaunlich: das "ü" in "für Berlin" ist ok, das "ö" in "bewölkt" ist kaputt, was daher kommt, dass die Quellen für diese Teilstrings verschieden sind. Ich habe mal mitprotokolliert (von der Anfrage im Client "wie ist das wetter" bis zur Antwort durch meinen Chatbot) und bin der Meinung, dass der Fehler bereits in TalkToMe passiert und das Telegram-Device am Ergebnis unschuldig ist. Richtig?
2017.02.26 18:06:26 5: TelegramBot_Callback Telegram.James.Bot: called from Polling
2017.02.26 18:06:26 5: TelegramBot_Callback Telegram.James.Bot: data returned :{"ok":true,"result":[{"update_id":xxx,
"message":{"message_id":4819,"from":{"id":yyy,"first_name":"Hermann","last_name":"Hartenthaler"},"chat":{"id":zzz,"first_name":"Hermann","last_name":"Hartenthaler","type":"private"},"date":1488128785,"text":"wie ist das wetter"}}]}:
2017.02.26 18:06:26 5: TelegramBot_Deepencode Telegram.James.Bot: encoded a String from :true: to :true:
...
2017.02.26 18:06:26 4: TelegramBot_ParseMsg Telegram.James.Bot: text :wie ist das wetter:
...
2017.02.26 18:06:26 5: TALKTOUSER TalkToUser_Hermann: called function TALKTOUSER_Notify()
2017.02.26 18:06:26 5: TALKTOUSER TalkToUser_Hermann: Telegram.James.Bot is having an update
...
2017.02.26 18:06:26 5: TALKTOUSER TalkToUser_Hermann: Update: msgText was set to wie ist das wetter in Telegram.James.Bot
...
2017.02.26 18:06:26 4: TALKTOUSER_IOWrite TalkToUser_Hermann: Calling IOWrite, lets see what happens
2017.02.26 18:06:26 5: TALKTOME_Write: Variable device - TalkToUser_Hermann
2017.02.26 18:06:26 5: TALKTOME_Write: Variable sourceDeviceName - Telegram.James.Bot
2017.02.26 18:06:26 5: TALKTOME_Write: Variable sourceDeviceType - TelegramBot
2017.02.26 18:06:26 5: TALKTOME_Write: Variable modSourceDeviceName - @Telegram.James.Bot:@aaa
2017.02.26 18:06:26 5: Starting notify loop for TalkToMe, 1 event(s), first is Query from TalkToUser_Hermann
...
2017.02.26 18:06:26 5: TALKTOME_Write: Variable query - wie ist das wetter (UTF8: )
2017.02.26 18:06:26 5: TALKTOME_Write: Variable query - wie ist das wetter (UTF8: 1)
...
2017.02.26 18:06:27 5: TALKTOME: called function TALKTOME_helpers_ReadingsTimestamp to get the reading 'description-2' from 'Wetter.Berlin.Vorhersage' with a default of 'Error'
2017.02.26 18:06:27 5: TALKTOME_DispatchToInterpreter: reply is: Hier ist der aktuelle Wetterbericht f r Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt größtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäßig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.
.
2017.02.26 18:06:27 5: TALKTOME_Write: Variable answer - Hier ist der aktuelle Wetterbericht f r Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt größtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäßig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.
. (UTF8: 1 / Valid: 1)
2017.02.26 18:06:27 5: TalkToMe: dispatch TALKTOUSER###TalkToUser_Hermann###REPLY###Telegram.James.Bot###TelegramBot###@Telegram.James.Bot:@xxx###Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gröÃtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäÃig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.\n.
2017.02.26 18:06:27 4: TALKTOUSER_Parse TalkToMe: Variable TALKTOUSER: TALKTOUSER / device: TalkToUser_Hermann / answertype: REPLY / sourceDeviceName: Telegram.James.Bot / sourceDeviceType: TelegramBot / modSourceDeviceName: @Telegram.James.Bot:@xxx / answer: Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gröÃtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäÃig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.
.
2017.02.26 18:06:27 5: TALKTOUSER_Parse TalkToMe: Variable answer - Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gröÃtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäÃig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.
.
2017.02.26 18:06:27 4: TALKTOUSER_Parse TalkToMe: Updating Telegram.James.Bot with the reply
2017.02.26 18:06:27 5: msg @Telegram.James.Bot:@xxx 0 | | Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gröÃtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäÃig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.\n.
2017.02.26 18:06:27 5: Cmd: >msg TalkToUser_Hermann 0 | | Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gröÃtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäÃig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.\n.<
2017.02.26 18:06:27 5: Cmd: >set Telegram.James.Bot message TalkToUser_Hermann 0 | | Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gröÃtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäÃig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.\n.<
2017.02.26 18:06:27 4: TelegramBot_Set Telegram.James.Bot: called
2017.02.26 18:06:27 4: TelegramBot_Set Telegram.James.Bot: Processing TelegramBot_Set( message )
2017.02.26 18:06:27 5: TelegramBot_Set Telegram.James.Bot: start send for cmd :message: and sendType :0:
2017.02.26 18:06:27 5: TelegramBot_SendIt Telegram.James.Bot: called
2017.02.26 18:06:27 5: TelegramBot_SendIt Telegram.James.Bot: try to send message to :Hermann_Hartenthaler: -:TalkToUser_Hermann 0 | | Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gröÃtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäÃig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.\n.: - :<undef>:
2017.02.26 18:06:27 4: TelegramBot_GetFullnameForContact # Contacts is xxx:Hermann_Hartenthaler::
2017.02.26 18:06:27 4: TelegramBot_GetFullnameForContact # name is Hermann_Hartenthaler
2017.02.26 18:06:27 4: TelegramBot_SendIt parseMode 0
2017.02.26 18:06:27 4: TelegramBot_SendIt Telegram.James.Bot: timeout for sent :30:
2017.02.26 18:06:27 5: TelegramBot_Set Telegram.James.Bot: message done succesful:
2017.02.26 18:06:27 3: msg globalMsg: ID=zzz.zzz.1 TYPE=push ROUTE=Telegram.James.Bot STATUS=OK PRIORITY=0 TITLE='' MSG='TalkToUser_Hermann 0 | | Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gröÃtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäÃig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.\n.'
2017.02.26 18:06:27 5: Starting notify loop for TalkToMe, 1 event(s), first is Reply sent to TalkToUser_Hermann
...
2017.02.26 18:06:27 5: HttpUtils request header:
GET /api/xxx/sensors/2 HTTP/1.0
Host: 192.168.2.80
User-Agent: fhem
Content-Type: application/json
2017.02.26 18:06:27 5: HttpUtils request header:
GET /botxxx:xxx/getUpdates?offset=557823300&limit=5&timeout=120 HTTP/1.0
Host: api.telegram.org
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
2017.02.26 18:06:27 5: HttpUtils request header:
GET /api/xxx/sensors/7 HTTP/1.0
Host: 192.168.2.80
User-Agent: fhem
Content-Type: application/json
2017.02.26 18:06:27 5: HttpUtils request header:
GET /api/xxx/sensors/3 HTTP/1.0
Host: 192.168.2.80
User-Agent: fhem
Content-Type: application/json
2017.02.26 18:06:27 4: <hidden>: HTTP response code 200
2017.02.26 18:06:27 4: HttpUtils <hidden>: Got data, length: 988
2017.02.26 18:06:27 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Sun, 26 Feb 2017 17:06:27 GMT
Content-Type: application/json
Content-Length: 988
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2017.02.26 18:06:27 5: TelegramBot_Callback Telegram.James.Bot: called from SendIt
2017.02.26 18:06:27 5: TelegramBot_Callback Telegram.James.Bot: data returned :{"ok":true,"result":{"message_id":4820,"from":{"id":xxx,"first_name":"James","username":"fhem_James_Bot"},"chat":{"id":xxx,"first_name":"Hermann","last_name":"Hartenthaler","type":"private"},"date":1488128787,"text":"TalkToUser_Hermann 0 | | Hier ist der aktuelle Wetterbericht f\u00fcr Berlin: Stark bew\u00c3\u00b6lkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bew\u00c3\u00b6lkt bis bedeckt. In den \u00c3\u00bcbrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gr\u00c3\u00b6\u00c3\u009ftenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis m\u00c3\u00a4\u00c3\u009fig aus S\u00c3\u00bcdwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bew\u00c3\u00b6lkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus S\u00c3\u00bcdwest bis S\u00c3\u00bcd.\n."}}:
...
2017.02.26 18:06:27 5: TelegramBot_Deepencode Telegram.James.Bot: found a HASH
2017.02.26 18:06:27 5: TelegramBot_Deepencode Telegram.James.Bot: encoded a String from :TalkToUser_Hermann 0 | | Hier ist der aktuelle Wetterbericht f r Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt größtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäßig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.
.: to :TalkToUser_Hermann 0 | | Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt. Meist niederschlagsfrei. Relativ mild. Heute Nachmittag und am Abend ist es zwischen der Prignitz und Uckermark stark bewölkt bis bedeckt. In den übrigen Landesteilen kommt auch kurzzeitig die Sonne zum Vorschein. Es bleibt gröÃtenteils niederschlagsfrei. Die Temperatur liegt zwischen 7 und 10 Grad. Der Wind weht schwach bis mäÃig aus Südwest.In der Nacht zum Montag ist es meist stark, teils aufgelockert bewölkt. Es bleibt niederschlagsfrei. Die Tiefsttemperatur liegt zwischen 6 und 3 Grad. Der schwache Wind weht aus Südwest bis Süd.
.:
2017.02.26 18:06:27 5: TelegramBot_Deepencode Telegram.James.Bot: found a HASH
2017.02.26 18:06:27 5: TelegramBot_Deepencode Telegram.James.Bot: found a HASH
2017.02.26 18:06:27 5: TelegramBot_Callback Telegram.James.Bot: after encoding
2017.02.26 18:06:27 5: TelegramBot_Callback Telegram.James.Bot: resulted in :SUCCESS: from SendIt
2017.02.26 18:06:27 5: Starting notify loop for Telegram.James.Bot, 3 event(s), first is sentMsgResult: SUCCESS
Zitat von: asciidisco am 26 Februar 2017, 18:47:49
Verstehe, leider scheint ein höheres debug level hier wenig zu bringen:
Ja das ist wohl richtig. Weiterer Versuch, kannst Du die Nachricht nochmals senden und direkt wenn die Fehlermeldung da ist ein
list fhem_remote_bot und bitte das Ergebnis hier in code-tags einstellen?
rund ich muss erstmal rausfinden, ob die Nachricht korrekt gesendet wird oder ob nur die Antwort nicht vollständig empfangen wird.
Klar. Gerne.
Internals:
CFGFN
DEF xxxxx:xxxxxxx
FAILS 0
NAME fhem_remote_bot
NR 226
POLLING 0
SNAME fhem_remote_bot
STATE Static
TYPE TelegramBot
Token xxxxx:xxxxxxxxx
UPDATER 0
URL https://api.telegram.org/botxxxxxxx:xxxxxxx/
WAIT 0
me xxxxxxxx:FHEMremote:@fhem_remote_bot
sentLastResult NonBlockingGet timed out on read from <hidden> after 30s
sentMsgId
sentMsgPeer xxxxxxxx
sentMsgPeerId xxxxxxxx
sentMsgResult WAITING
sentMsgText äüö
Contacts:
xxxxxx xxxxxxx:xxxxxx:
Hu_do_params:
FD 26
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf
code 200
data --TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
xxxxxxxx
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
äüö
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="parse_mode"
Markdown
--TelegramBot_boundary-x0123--
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
hu_blocking 0
hu_portSfx
loglevel 1
method POST
path /botxxxxxxx:xxxxxxxxx/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/botxxxxxx:xxxxxxx/sendMessage
args:
xxxxxxx
äüö
undef
0
undef
1
Hash:
Sslargs:
Hu_upd_params:
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
hideurl 1
isPolling update
method GET
timeout 5
url
Helper:
Dblog:
Sentmsgid:
Logdb:
TIME 1488125760.2847
VALUE 268
Sentmsgpeerid:
Logdb:
TIME 1488175230.27618
VALUE XXXXXXXXXXX
Sentmsgresult:
Logdb:
TIME 1488175230.27618
VALUE NonBlockingGet timed out on read from <hidden> after 30s
State:
Logdb:
TIME 1488183747.69219
VALUE msg äüö
Readings:
2017-02-26 13:49:49 Contacts xxxxx:xxxxxxx:
2017-02-26 13:49:52 PollingErrCount 0
2017-02-26 13:59:19 msgChat
2017-02-26 13:59:19 msgFileId
2017-02-26 13:59:19 msgId 256
2017-02-26 13:59:19 msgPeer xxxxxxxx
2017-02-26 13:59:19 msgPeerId xxxxxxxx
2017-02-26 13:50:36 msgReplyMsgId 0
2017-02-26 13:59:19 msgText Test
2017-02-26 13:59:19 prevMsgChat
2017-02-26 13:59:19 prevMsgFileId
2017-02-26 13:59:19 prevMsgId 256
2017-02-26 13:59:19 prevMsgPeer XXXXXXX
2017-02-26 13:59:19 prevMsgPeerId XXXXXXX
2017-02-26 13:59:19 prevMsgReplyMsgId 0
2017-02-26 13:59:19 prevMsgText Test
2017-02-27 07:00:30 sentMsgId
2017-02-27 07:00:30 sentMsgPeerId XXXXXXXX
2017-02-27 07:00:30 sentMsgResult NonBlockingGet timed out on read from <hidden> after 30s
Hi,
seit dem Update Heute läuft der SVG Versand leider gar nicht mehr. Fehler sind u.A.
ERROR evaluating my $NAME='Telegram';my $EVENT='msgText: Bad';my $EVTPART1='Bad';my $EVTPART0='msgText:';my $SELF='TelegramSVGsend3';my $TYPE='TelegramBot';{TelegramBot_ExecuteCommand($defs{"Telegram"}, 312456017, '{plotAsPng("SVG_FileLog_Luftfeuchtigkeit_3")}'); return;}: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 3568) line 1, near "'{plotAsPng("SVG_FileLog_Luftfeuchtigkeit_3")}')"
3: TelegramSVGsend3 return value: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 3568) line 1, near "'{plotAsPng("SVG_FileLog_Luftfeuchtigkeit_3")}')"
Ich nutze z.B sowas, was bis gestern lief
Telegram:msgText:.Schlafzimmer {TelegramBot_ExecuteCommand($defs{"Telegram"}, 312456017, '{plotAsPng("SVG_FileLog_Luftfeuchtigkeit_1")}'); return;}
Muss ich etwas an den Parametern ändern? Hatte alles nach der Anleitung gemacht https://waschto.eu/telegrambot-kommuniziere-mit-deiner-fhem-installation
@asciidisco: OK 2 Erkenntnisse: Das Schreiben an Telegram läuft ohne Fehler durch, aber es kommt wohl keine Antwort vom Server (denn der Puffer ist noch leer) und das lässt vermuten, dass die Länge der gesendeten Daten falsch berechnet wird. Weil mal wieder die Anzahl der Zeichen und nicht die Anzahl der Bytes bestimmt wird.
Ich muss mir eine Lösung ausdenken, wie ich das verhindern kann und sicherstellen kann, dass die richtige Länge gesendet wird, bei anderen Installationen scheinen die bisherigen Vorkehrungen zu helfen, aber wohl bei Dir nicht.
Zitat von: Qwz80 am 27 Februar 2017, 11:38:02
Hi,
seit dem Update Heute läuft der SVG Versand leider gar nicht mehr. Fehler sind u.A.
ERROR evaluating my $NAME='Telegram';my $EVENT='msgText: Bad';my $EVTPART1='Bad';my $EVTPART0='msgText:';my $SELF='TelegramSVGsend3';my $TYPE='TelegramBot';{TelegramBot_ExecuteCommand($defs{"Telegram"}, 312456017, '{plotAsPng("SVG_FileLog_Luftfeuchtigkeit_3")}'); return;}: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 3568) line 1, near "'{plotAsPng("SVG_FileLog_Luftfeuchtigkeit_3")}')"
3: TelegramSVGsend3 return value: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 3568) line 1, near "'{plotAsPng("SVG_FileLog_Luftfeuchtigkeit_3")}')"
Ich nutze z.B sowas, was bis gestern lief
Telegram:msgText:.Schlafzimmer {TelegramBot_ExecuteCommand($defs{"Telegram"}, 312456017, '{plotAsPng("SVG_FileLog_Luftfeuchtigkeit_1")}'); return;}
Muss ich etwas an den Parametern ändern? Hatte alles nach der Anleitung gemacht https://waschto.eu/telegrambot-kommuniziere-mit-deiner-fhem-installation
Ja diese Anleitung nutzt leider eine interne Funktion des TelegramBot-Moduls, diese hat sich schon vor einiger Zeit verändetr, wie auch hier https://forum.fhem.de/index.php/topic,38328.msg559929.html#msg559929 (https://forum.fhem.de/index.php/topic,38328.msg559929.html#msg559929) schonmal gesagt.
Der Aufruf müsse wohl in etwa folgendermassen um eine weitere Angabe des Chats erweitert werden:
{TelegramBot_ExecuteCommand($defs{"Telegram"}, 312456017, undef, '{plotAsPng("SVG_DbLog_12")}');; return;;}
Aber Achtung: Es bleibt eine interne Funktion des Moduls, die sich auch in zukünftigen updates wieder ändern könnte.
Danke für die Infos. Dann lösche ich das SVG-Zeugs raus, war sowieso eher eine Spielerrei und nicht wichtig.
@viegener Alles klar, dann mach ich das halt vorerst mit Regex der die üblichen verdächtigen (ä in ae, ß in ss, etc.) umbenennt :D
Edit: Danke für die Hilfe
Zitat von: asciidisco am 27 Februar 2017, 14:26:49
@viegener Alles klar, dann mach ich das halt vorerst mit Regex der die üblichen verdächtigen (ä in ae, ß in ss, etc.) umbenennt :D
Edit: Danke für die Hilfe
Kein Problem - Ich habe mal für die nächste Version ein neues set-Komando eingebaut, so dass man ein Kommando ausführen kann und das Ergebnis wird dann per telegram versendet:
(z.B. das Ergbnis von
{ plotAsPng('SVG_FileLog_HMT_lars_1') }
als Image)
@gent Du bekommst das aktuelle Logfile mit
InternalVal("Logfile","currentlogfile","") -> ./log/fhem-2017-03-02.log
Kann damit das tägliche Logfile abholen.
Zitat von: viegener am 27 Februar 2017, 11:58:18
@asciidisco: OK 2 Erkenntnisse: Das Schreiben an Telegram läuft ohne Fehler durch, aber es kommt wohl keine Antwort vom Server (denn der Puffer ist noch leer) und das lässt vermuten, dass die Länge der gesendeten Daten falsch berechnet wird. Weil mal wieder die Anzahl der Zeichen und nicht die Anzahl der Bytes bestimmt wird.
Ich muss mir eine Lösung ausdenken, wie ich das verhindern kann und sicherstellen kann, dass die richtige Länge gesendet wird, bei anderen Installationen scheinen die bisherigen Vorkehrungen zu helfen, aber wohl bei Dir nicht.
@asciidisco: ich würde gerne nochmal einen Versuch machen. Kannst Du mal folgendes Kommando bei Dir aus fhemweb absetzen?
{ use bytes;; fhem("set tbot msg äöü") }
und dann nochmal dieses
{ use utf8;; fhem("set tbot msg äöü") }
Vermutung: das erste könnte funktionieren, das zweite sollte genau das problematische Verhalten hervorrufen?
Achso: Ich habe gerade mal im github eine Version hochgeladen, die hoffentlich mit Deinem Fall umgehen sollte. Allerdings muss man dafür ein besonderes Attribut setzen also nach der Installation der Testversion und dem Neustart noch ein
set deintbotname utf8Special 1
Erst wenn ich Rückmeldung habe, ob das geht würde ich es hochladen ins SVN
Zitat von: hartenthaler am 26 Februar 2017, 18:49:22
Bei meinem Raspi mit Jessi lauten die Antworten ebenfalls 6, 3 und 12. Und ich habe keine Probleme mit Umlauten, wenn ich diese direkt über das Telegram-Device schicke.
Wenn ich aber über das TalkToMe/TalkToUser-Device (Chatbot) Nachrichten aus FHEM, wie etwas den Wetterbericht, über das Telegram-Device verschicke, dann werden die Umlaute zerstört und ein Text, der in FHEM korrekt aussieht, kommt beim Chat-Client dann so an:
Hier ist der aktuelle Wetterbericht für Berlin: Stark bewölkt.
Da ist irgendeine Codierung/Decodierung zuviel. Erstaunlich: das "ü" in "für Berlin" ist ok, das "ö" in "bewölkt" ist kaputt, was daher kommt, dass die Quellen für diese Teilstrings verschieden sind. Ich habe mal mitprotokolliert (von der Anfrage im Client "wie ist das wetter" bis zur Antwort durch meinen Chatbot) und bin der Meinung, dass der Fehler bereits in TalkToMe passiert und das Telegram-Device am Ergebnis unschuldig ist. Richtig?
Das ist aus dem log für mich schwer zu erkennen, da auch da perl mit seiner Art dazwischenfunkt und man nicht weiss ob nicht nochmal irgendwas umcodiert wird auf dem weg ins log...
Es wäre aber einen Versuch wert auch bei Dir mal die Version von oben dafür auszuprobieren und das Attribut utf8Special auf 1 zu setzen.
Hallo miteinander,
aus bisher unerfindlichen Gründen funktioniert mein bislang super funktionierender Telegrambot seit gestern Nachmittag nicht mehr.
Es kann vom Fhem aus nichts mehr versendet werden.
In den Readings sentMsgResult und PollingLastError steht immer:
Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1832.
Ein set reset endet mit Failure. Der PollingErrCount steht mittlerweile auf 119.
Ein verbose 5 zeigt bei einem simplen Sendeversuch einer Message "Test":
2017.03.06 07:37:44.519 3: TelegramBot_Callback teleBot: resulted in Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1832.
from SendIt
2017.03.06 07:37:54.799 3: TelegramBot_Callback teleBot: resulted in Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1832.
from SendIt
2017.03.06 07:38:06.289 4: TelegramBot_Set teleBot: called
2017.03.06 07:38:06.289 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( ? )
2017.03.06 07:38:21.638 4: TelegramBot_Set teleBot: called
2017.03.06 07:38:21.638 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2017.03.06 07:38:21.639 5: TelegramBot_Set teleBot: start send for cmd :message: and sendType :0:
2017.03.06 07:38:21.639 5: TelegramBot_SendIt teleBot: called
2017.03.06 07:38:21.639 4: TelegramBot_SendIt teleBot: add send to queue :@<Empfänger>: -:Test: - :<undef>:
2017.03.06 07:38:21.639 5: TelegramBot_Set teleBot: message done succesful:
2017.03.06 07:38:21.669 4: TelegramBot_Set teleBot: called
2017.03.06 07:38:21.669 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( ? )
2017.03.06 07:38:21.670 4: TelegramBot_Set teleBot: called
2017.03.06 07:38:21.670 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( ? )
2017.03.06 07:38:21.670 5: TelegramBot_Get teleBot: called
2017.03.06 07:38:21.670 5: TelegramBot_Get teleBot: Processing TelegramBot_Get( ? )
2017.03.06 07:38:22.010 4: TelegramBot_Set teleBot: called
2017.03.06 07:38:22.010 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( ? )
2017.03.06 07:38:34.604 5: TelegramBot_Attr teleBot: called
2017.03.06 07:38:34.605 5: TelegramBot_Attr teleBot: set on verbose to 3
Ich hatte erst an ein Problem bei Dienstanbieter geglaubt aber da das Problem heute früh weiterhin besteht muss die Lösung wohl an anderer Stelle gesucht werden.
Bräuchte ein paar Tipps zur Vorgehensweise wie ich der Sache auf die Spur kommen kann.
Edit: Es funktioniert wieder. Ich musste das define mit dem Token wiederholen. Danach lief wieder alles. Warum es zu diesem Zustand gekommen ist habe ich allerdings nicht herausgefunden.
viele Grüße
Heiko
Ich kann Dir nicht sagen, warum der define wiederholt werden musste, aber gestern gab es sowohl bei Telegram als auch bei Namensauflösung (Telekom?) Probleme, die sich bei mir und anderen Infrastrukturen folgendermassen geäussert haben
- Fehler bei der Namensauflösung (bei mir konnte versch. Servernamen nicht nur telegram nicht aufgelöst werden)
- Verzögerung bei der Nachrichtenzustellung (das hat zum Teil Dialoge behindert)
- Serverüberlastung --> dann liefert telegram manchmal HTML-Fehlermeldungen zurück --> das war bei Dir das Problem und passt auch dazu, dass der reset nicht ging
Heute vormittag war bei mir alles wieder einigermassen normal
Zitat von: viegener am 24 Februar 2017, 10:32:44
Bei dem DOIF von oniT findet keine Berechtigungsorüfung statt. Im Normalfall kann dann jeder Deinem FHEM Kommandos schicken, bei Temperaturen mag das nicht kritisch sein, aber sobald wirklich Kommandos ausgeführt werden...
Hallo viegener,
stimmt, das habe ich nicht gewusst. Ich dachte dass eine Antwort nur die Anfragenden erhalten welche auch unter dem Attribute cmdRestrictedPeer aufgeführt sind. Schade.
Gruß
Tino
Zitat von: oniT am 06 März 2017, 20:51:37
Hallo viegener,
stimmt, das habe ich nicht gewusst. Ich dachte dass eine Antwort nur die Anfragenden erhalten welche auch unter dem Attribute cmdRestrictedPeer aufgeführt sind. Schade.
Gruß
Tino
cmdRestrictedPeer - greift nur bei den innerhalb vom Modul eingebauten Kommandofunktionen (favorites etc) - ansonsten gilt wenn die Nachricht in den Readings auftaucht und Du darauf mit DOIF etc reagierst, dann wird das nicht verhindert (und wäre auch nicht möglich, denn DOIF oder ähnliches wissen ja nichts davon was da geschickt wurde und von wem
@viegener Sorry, ich kam erst heute dazu die neue Version zu testen. Wenn ich die Datei von deinem master branch einspiele (https://raw.githubusercontent.com/viegener/Telegram-fhem/master/50_TelegramBot.pm (https://raw.githubusercontent.com/viegener/Telegram-fhem/master/50_TelegramBot.pm)), bekomme ich beim Reload des Moduls folgende Fehlermeldungen:
Too many arguments for main::TelegramBot_ExecuteCommand at ./FHEM/50_TelegramBot.pm line 956, near "$needsResult )"
Too many arguments for main::TelegramBot_ExecuteCommand at ./FHEM/50_TelegramBot.pm line 1069, near "$cmd )"
Too many arguments for main::TelegramBot_ReadHandleCommand at ./FHEM/50_TelegramBot.pm line 1240, near "$mtext )"
Too many arguments for main::TelegramBot_SentLastCommand at ./FHEM/50_TelegramBot.pm line 1250, near "$cmd )"
Too many arguments for main::TelegramBot_SentFavorites at ./FHEM/50_TelegramBot.pm line 1260, near "$mid )"
Too many arguments for main::TelegramBot_ExecuteCommand at ./FHEM/50_TelegramBot.pm line 1275, near "$cmd )"
Too many arguments for main::Telegram_HandleCommandInMessages at ./FHEM/50_TelegramBot.pm line 2248, near "$mid ) "
Natürlich funktioniert es dann auch nicht ;)
Hast du das in einer anderen Installation schon mal gesehen? Ich bin noch auf dem letzten 5.7er Release von FHEM, schätze aber mal, das hat nichts damit zu tun.
Zitat von: asciidisco am 08 März 2017, 13:37:49
@viegener Sorry, ich kam erst heute dazu die neue Version zu testen. Wenn ich die Datei von deinem master branch einspiele (https://raw.githubusercontent.com/viegener/Telegram-fhem/master/50_TelegramBot.pm (https://raw.githubusercontent.com/viegener/Telegram-fhem/master/50_TelegramBot.pm)), bekomme ich beim Reload des Moduls folgende Fehlermeldungen:
Too many arguments for main::TelegramBot_ExecuteCommand at ./FHEM/50_TelegramBot.pm line 956, near "$needsResult )"
Too many arguments for main::TelegramBot_ExecuteCommand at ./FHEM/50_TelegramBot.pm line 1069, near "$cmd )"
Too many arguments for main::TelegramBot_ReadHandleCommand at ./FHEM/50_TelegramBot.pm line 1240, near "$mtext )"
Too many arguments for main::TelegramBot_SentLastCommand at ./FHEM/50_TelegramBot.pm line 1250, near "$cmd )"
Too many arguments for main::TelegramBot_SentFavorites at ./FHEM/50_TelegramBot.pm line 1260, near "$mid )"
Too many arguments for main::TelegramBot_ExecuteCommand at ./FHEM/50_TelegramBot.pm line 1275, near "$cmd )"
Too many arguments for main::Telegram_HandleCommandInMessages at ./FHEM/50_TelegramBot.pm line 2248, near "$mid ) "
Natürlich funktioniert es dann auch nicht ;)
Hast du das in einer anderen Installation schon mal gesehen? Ich bin noch auf dem letzten 5.7er Release von FHEM, schätze aber mal, das hat nichts damit zu tun.
Hast Du einen Restart gemacht?
Ich nutze derzeit erfolgreich queryInline um nach einem Update einen Button zum Neustart einzublenden.
Dank Rudis Modifikation am at Modul lässt sich FHEM über ein notify neu starten.
Ich würde den Button nebst Text gern löschen nachdem der Reboot Vorgang ausgelöst wurde (ändern funktioniert ja)
Ist das Möglich/Implementierbar?
Zitat von: viegener am 04 März 2017, 14:53:19
Das ist aus dem log für mich schwer zu erkennen, da auch da perl mit seiner Art dazwischenfunkt und man nicht weiss ob nicht nochmal irgendwas umcodiert wird auf dem weg ins log...
Es wäre aber einen Versuch wert auch bei Dir mal die Version von oben dafür auszuprobieren und das Attribut utf8Special auf 1 zu setzen.
Danke für Deine neue Version. Ich habe utf8Special auf 1 gesetzt, aber es hat sich nichts geändert. Das Problem scheint wirklich früher in der Kette zu liegen. Ich bleibe dran.
Zitat von: hartenthaler am 09 März 2017, 07:42:04
Danke für Deine neue Version. Ich habe utf8Special auf 1 gesetzt, aber es hat sich nichts geändert. Das Problem scheint wirklich früher in der Kette zu liegen. Ich bleibe dran.
Trotzdem danke für das feedback, dann vermute ich auch, dass die Texte bereits vorher einmal zuviel encodiert oder decodiert werden, lass mich wissen, wenn ich da helfen kann?
Zitat von: klausw am 08 März 2017, 22:24:12
Ich nutze derzeit erfolgreich queryInline um nach einem Update einen Button zum Neustart einzublenden.
Dank Rudis Modifikation am at Modul lässt sich FHEM über ein notify neu starten.
Ich würde den Button nebst Text gern löschen nachdem der Reboot Vorgang ausgelöst wurde (ändern funktioniert ja)
Ist das Möglich/Implementierbar?
Du kannst den Text ändern und ein leeres Keyboard senden, das würde über den Befehl "queryEditInline", dafür musst Du Dir allerdings irgendwo die msgId merken, die nach dem Senden Deiner Nachricht als Reading sentMsgId erscheint. Diese muss beim queryEditInline angegeben werden (sonst weiss telegram ja nicht was Du ändern willst). Da der Versand asynchron (non-blocking) erfolgt geht das Merken der msgId am ehesten über ein notify (Zum Beispiel den gesendeten Text in ein Dummy schreiben und ein notify anlegen, dass den gesendenten Text mit dem Inhalt des dummies vergleicht und dann die msgId in den Dummy setzt)
Zitat von: viegener am 09 März 2017, 14:20:33
Du kannst den Text ändern und ein leeres Keyboard senden, das würde über den Befehl "queryEditInline", dafür musst Du Dir allerdings irgendwo die msgId merken, die nach dem Senden Deiner Nachricht als Reading sentMsgId erscheint. Diese muss beim queryEditInline angegeben werden (sonst weiss telegram ja nicht was Du ändern willst). Da der Versand asynchron (non-blocking) erfolgt geht das Merken der msgId am ehesten über ein notify (Zum Beispiel den gesendeten Text in ein Dummy schreiben und ein notify anlegen, dass den gesendenten Text mit dem Inhalt des dummies vergleicht und dann die msgId in den Dummy setzt)
Den Button habe ich mit queryEditInline schon wegbekommen. Den Text kann ich ja auch ändern. Das habe ich auch über ein notify gelöst.
Nur würde ich gern die komplette Nachricht löschen.
Zitat von: klausw am 09 März 2017, 16:44:05
Den Button habe ich mit queryEditInline schon wegbekommen. Den Text kann ich ja auch ändern. Das habe ich auch über ein notify gelöst.
Nur würde ich gern die komplette Nachricht löschen.
Das Löschen von messages wird im telegramBot API nicht unterstützt
Zitat von: viegener am 09 März 2017, 22:25:49
Das Löschen von messages wird im telegramBot API nicht unterstützt
Ahso, verstehe. Schade, dann löse ich das anders
Danke!
@viegener Klarer Fall von "wer den kompletten Post ließt, ist klar im Vorteil". Nach nem Neustart läufts wieder. Danke.
Dank der utf8Special property kann der Telegram_Bot jetzt auch Nachrichten mit Umlauten versenden, zumindest wenn ich mit folgendem Kommando über das zentrale FHEM Eingabefeld gehe:
{ use utf8;; fhem("set tbot msg äöü") }
Leider sind, wenn ich aus meinen at oder notifies was versende die Umlaute nun genauso Kaputt, wie von @hartenthaler berichtet. Ich habe auch dort versucht, mit use utf8; oder use bytes; zu arbeiten,
aber keine Kombination war erfolgreich...
Als pragmatischer Mensch, und mit dem Wissen, das es aus dem FHEM Eingabefeld ja funktioniert, habe ich dann was ganz böses gemacht & mir mit der Nachricht quasi selbst vom Rücken in die Brust gestochen.
Und zwar senden meine at & notifies nun den Inhalt des Telegram Bots via telnet direkt von FHEM an FHEM...
*07:00:00 {
use utf8;
use Net::Telnet();
my $tab = new Net::Telnet (Timeout => 50, Port => MEIN_TELNET_PORT, Binmode => 1);
$infoString = "Däten mit Ümlauten aus meinem Nötify";
$tab->open("127.0.0.1");
$tab->print('{use utf8;; fhem("set fhem_remote_bot msg ' . $infoString . '")}');
}
Newlines & doppelte Anführunszeichen müssen hierbei natürlich escaped werden, und ja, es ist ganz schrecklich, aber es funktioniert...
Hallo,
seit einigen Tagen kann ich keine Nachrichten mehr empfangen und senden:
sentMsgResult
NonBlockingGet: returned FAILED peer not found :User_Name
Beim Senden kommt folgender Fehler
FAILED peer not found :User_Name:
Gruß
TWART016
@TWART016: Beide Meldungen entstehen beim Senden und deuten daraufhin, dass die Kontakteliste irgendwie ein Problem hat. Kannst Du schauen, ob der Benutzer im Reading Contacts enthalten ist. Was passiert beim Empfangen? Erlaubst Du unbekannte Kontakte?
Meine Contacts waren neulich nach einem Update verschwunden.
Da kam die gleiche Meldung.
Zitat von: viegener am 13 März 2017, 10:26:49
@TWART016: Beide Meldungen entstehen beim Senden und deuten daraufhin, dass die Kontakteliste irgendwie ein Problem hat. Kannst Du schauen, ob der Benutzer im Reading Contacts enthalten ist. Was passiert beim Empfangen? Erlaubst Du unbekannte Kontakte?
Zitat von: viegener am 13 März 2017, 10:26:49
@TWART016: Beide Meldungen entstehen beim Senden und deuten daraufhin, dass die Kontakteliste irgendwie ein Problem hat. Kannst Du schauen, ob der Benutzer im Reading Contacts enthalten ist. Was passiert beim Empfangen? Erlaubst Du unbekannte Kontakte?
Es gab kein Reading contacts.
Readings
PollingErrCount
0
2017-03-13 00:00:10
PollingLastError
NonBlockingGet timed out on read from <hidden> after 365s
2017-03-04 12:35:04
sentMsgId
2017-03-13 12:19:50
sentMsgPeerId
2017-03-13 12:19:50
sentMsgResult
NonBlockingGet: returned FAILED peer not found :User_Name:
2017-03-13 12:19:50
allowUnknownContacts habe ich auf 0, dass soll auch so sein. Das habe ich kurz auf 1 und dann wieder auf 0 geändert und jetzt geht es, weil das reading contacts wieder da ist.
Besten Dank. Vermutlich lag es bei mir auch am Update.
Hallo viegener,
Zitat von: viegener am 06 März 2017, 21:09:20
cmdRestrictedPeer - greift nur bei den innerhalb vom Modul eingebauten Kommandofunktionen (favorites etc) - ansonsten gilt wenn die Nachricht in den Readings auftaucht und Du darauf mit DOIF etc reagierst, dann wird das nicht verhindert (und wäre auch nicht möglich, denn DOIF oder ähnliches wissen ja nichts davon was da geschickt wurde und von wem
aber wenn ich über die Favoriten den Befehl zum Ausführen eines DOIF absetze, sollte doch nur der Absender der "Freigegeben" ist den Befehl auch ausführen. Somit kann auch nur der das DOIF triggern und entsprechend die angeforderte Nachricht zurück bekommen. Oder?
Beispiel Favoriten
[Aussentemperatur]=set dummy_telebot Aussentemperatur;
[Alle Rollos öffnen]=set dummy_telebot Alle Rollos öffnen;
[Alle Rollos schliessen]=set dummy_telebot Alle Rollos schliessen;
Beispiel DOIF
([dummy_telebot:"Aussentemperatur"])(set teleBot msg @[teleBot:msgPeerId] Die Aussentemperatur ist aktuell [dim_outdoor_temperature:state]°C)
DOELSEIF ([dummy_telebot:"Alle Rollos öffnen"])({rollos_oeffnen_we})
DOELSEIF ([dummy_telebot:"Alle Rollos schliessen"])({rollos_schliessen})
DOELSE (set teleBot msg @[teleBot:msgPeerId] Anfrage ist unbekannt!)
Danke,
Gruß
Tino
@onitT: Ja, wenn die Kommandos innerhalb von FHEM ausgeführt werden wie bei Favoriten oder direkten Kommandos der Fall, dann greift cmdRestrictedPeer. Also auch in Deinem Fall. Ich verstehe aber nicht, wofür der dummy bzw. das DOIF benötigt werden?
Zitat von: asciidisco am 10 März 2017, 16:17:07
@viegener Klarer Fall von "wer den kompletten Post ließt, ist klar im Vorteil". Nach nem Neustart läufts wieder. Danke.
Dank der utf8Special property kann der Telegram_Bot jetzt auch Nachrichten mit Umlauten versenden, zumindest wenn ich mit folgendem Kommando über das zentrale FHEM Eingabefeld gehe:
{ use utf8;; fhem("set tbot msg äöü") }
Leider sind, wenn ich aus meinen at oder notifies was versende die Umlaute nun genauso Kaputt, wie von @hartenthaler berichtet. Ich habe auch dort versucht, mit use utf8; oder use bytes; zu arbeiten,
aber keine Kombination war erfolgreich...
Es ist ja schonmal ein Fortschritt, dass die Nachrichten ankommen, ich habe aber in github nochmal eine neue Version eingecheckt, bei der utf8Special etwas anders arbeitet. Vielleicht kannst Du diese Version noch ausprobieren und berichten?
Habe in den letzten Tagen auc Probleme mit dem Telegram-Bot, habe schon seit längerem nichts mehr dran geändert (die Zeit...):
Zitat2017.03.13 13:24:23 3: TelegramBot_Callback TeleBot: resulted in :Callback returned error:Bad Request: message text must be encoded in UTF-8:: from SendIt
2017.03.13 13:24:23 3: TelegramBot_Callback TeleBot: Reached max retries (ret: Callback returned error:Bad Request: message text must be encoded in UTF-8:) for msg 10894285 : Die Temperatur im Schlafzimmer ist aktuell 13.3�C
Kann gut sein, dass da was verstellt ist, aber seit dem letzten Versuch, bei dem ichs probiert hatte und den Fehlermeldungen habe ich nichts geändert...
Zitat von: szoller am 15 März 2017, 23:34:04
Habe in den letzten Tagen auc Probleme mit dem Telegram-Bot, habe schon seit längerem nichts mehr dran geändert (die Zeit...):
Kann gut sein, dass da was verstellt ist, aber seit dem letzten Versuch, bei dem ichs probiert hatte und den Fehlermeldungen habe ich nichts geändert...
Wie immer die Frage was hast Du geändert seit es das letzte Mal ging?
Die Fehlermeldung kommt von den Telegram-Servern und beschwert sich über fehlerhafte Zeichen --> Vermutlich das Zeichen zwischen der Zahl und dem C im Text woher kommt das?
Das einzige was drin war, waren Codes für Emojis... aber die gingen auch mal. Hatte da nix geändert
Zitat von: szoller am 16 März 2017, 14:45:15
Das einzige was drin war, waren Codes für Emojis... aber die gingen auch mal. Hatte da nix geändert
Das beantwortet leider die Fragen nicht, ich sehe keine emojis in der Meldung
Emojis sollten davor und dahinter sein, sind wohl schlichtweg ausgeblendet.
Da wo das ? steht, sollte das Symbol für Grad (°) zu sehen sein...
Zitat von: szoller am 16 März 2017, 15:40:06
Emojis sollten davor und dahinter sein, sind wohl schlichtweg ausgeblendet.
Da wo das ? steht, sollte das Symbol für Grad (°) zu sehen sein...
Woher kommt der Text? Aus einem Notify oder aus der 99_myUtils oder ähnlichem?
Hast du das im Browser editiert oder mit einem Texteditor?
Ich hatte den Effekt mal ( damals war das noch für Whatsapp ), nachdem ich die 99_myUtils in einem Editor bearbeitet hatte, der das kaputt gemacht hat. Wurde im Editor zwar richtig angezeigt, war aber scheinbar kein UTF8. Habs dann über "Edit Files" aus der FHEM-Oberfläche heraus geöffnet und an der Stelle stand Müll. Im Browser editiert und alles war wieder gut.
Zitat von: szoller am 16 März 2017, 15:40:06
Emojis sollten davor und dahinter sein, sind wohl schlichtweg ausgeblendet.
Da wo das ? steht, sollte das Symbol für Grad (°) zu sehen sein...
Ein dritter Versuch: Wie immer die Frage was hast Du geändert seit es das letzte Mal ging?
Hallo,
eine kurze Frage, kann man über msgEdit auch das reply keyboard verändern?
MfG Mohrengemuse
@Mohrengemuse: Das erlaubt Telegram nicht, das geht nur für inline keyboards (und ist auch verständlich, da ja die geänderte Nachricht nicht mehr die Letzte sein muss
@viegener
Alles klar. Ja stimmt das macht auf jeden Fall Sinn! Danke für deine Auskünfte und das Top Modul ;)
Zitat von: DeeSPe am 08 Februar 2017, 23:41:35
Mit meinem Vorschlag sparst Du aber noch das @ vor:
Also:
msg [rgr_bewohner:residentsHomeContacts] Test
Wie es m.E. syntaktisch auch richtig wäre!
Denn das Reading soll ja für alle Kontakte das @ voran stellen und nicht erst ab dem zweiten.
Gruß
Dan
Bin ich gerade drüber gestolpert.
msg @[rgr_Bewohner:residentsHomeDevs] Test
funktioniert bei mir wunderbar und wird auch richtig aufgelöst. Allerdings mit Pushover, sollte aber mit Telegram auch funktionieren, sofern das bei den Roommates richtig hinterlegt ist.
Ich ergänze das Beispiel nachher mal im msg-Eintrag im Wiki
gruß Michael
Schönen - verregneten - Sonntag!
Vor ein paar Wochen habe ich fhem von einem Pi1 auf einen Pi3 umgezogen.
Danach waren die Peers weg, die habe ich aber wieder angelegt...
Nun zu meiner Frage: Seit dem bekomme ich keine Antworten mehr von fhem, wenn ich über Telegramm Kommandos ausführen lasse. Die Ausführung wird zwar mit den beiden "Bestätigunshäkchen" in der Telegramm-App bestätigt, aber das Ergebnis wird nicht geliefert. Wahrscheinlich sehe ich den "Wald vor lauter Bäumen nicht".
Muss ein bestimmtes Attribut gesetzt werden?
Hier meine:
defmod Nachrichten TelegramBot
attr Nachrichten allowUnknownContacts 0
attr Nachrichten cmdKeyword Do
attr Nachrichten cmdReturnEmptyResult 0
attr Nachrichten defaultPeer xxxxxxxxx
attr Nachrichten defaultPeerCopy 1
attr Nachrichten pollingTimeout 120
attr Nachrichten room 080Telefon
attr Nachrichten saveStateOnContactChange 1
Danke für zielführende Hinweise!
Uwe
@locodriver: Das ist alles etwas nebulös - wieso waren die Kontakte weg beim Umzug?
Die entscheidende Frage ist doch, werden die Kommandos ausgeführt? Dazu habe ich nichts gelesen.
Werden die Komandos empfangen, also was steht in den Readings?
Werden antworten gesendet?
Was heisst in diesem Fall Antwort? Leer Antworten schliesst Du ja aus (cmdReturnEmptyResult auf 0)
Fragen über Fragen
Hallo,
heute mal wieder etwas Zeit gefunden und dabei neue Probleme :)
1. ( Nur zur Info ) Hatte ich ( weiß nicht mehr warum ) auf das Reading msgChat getriggert. Der triggert neuerdings aber scheinbar zweimal. Kann das sein? Vermutlich durch die Änderung, dass dort jetzt ggf. auch die Gruppe drinsteht? Ist aber nicht schlimm. Hab den Trigger auf das Reading msgText umgebogen und bekomme nun keine doppelten Antworten mehr.
2. Funktioniert der Parsemode "InMsg" in Verbindung mit queryEditInline bei mir nicht.
Versucht habe ich:
set Bot queryEditInline <msgID> <PeerId> HTML (Button) <b>Text</b>
und
set Bot queryEditInline <msgID> <PeerId> (Button) HTML <b>Text</b>
Variante zwei eins zwei funktioniert mit queryInline, aber nicht mit queryEditInline. Mache ich etwas falsch, oder ist das nicht implementiert?
Wenn ich fix auf HTML stelle, funktionierts auch mit queryEditInline. Dann muss ich aber, wenn ich das richtig verstehe, bei allen Meldungen sicherstellen, dass ich gewisse Zeichen ( <, >, & ) immer korrekt als HTML-Entity sende.
3. ( Auch zur Info ) Ich hatte heute auch wieder ein UTF8-Problem. Bei mir lag es wieder daran, dass ich den Text "Menü" in Notepad++ geschrieben hab, während das Encoding auf ANSI stand. Auf UTF-8 umgestellt und alles war gut
*edit* Zweiten Code korrigiert. Hatte zweimal den selben Beispielcode
*edit2* Ich glaube, es ist zu spät. Variante eins funktioniert mit queryInline. Nicht Variante zwei.
*edit3* Oh Mann... Variante zwei war richtig.
@Carsten - mmmh Danke für die Rückmeldung, allerdings kann ich die probleme nicht nachvollziehen?
zu 1) - Es gibt zwei Readings msgChat und msgChatId - vielleicht ist das der doppelte Trigger?
zu 2) ich habe Deine Befehle bei mir nachvollzogen (Variante 2 ist richtig, Der etnsprechende Befehl funktioniert bei mir sowohl mit HTML als auch mit markdown und mit oder ohne peer-Angabe problemlos.
@Alle: Gibt es noch andere bei denen das nicht funktioniert?
@viegener:
Hier noch etwas Input.
Wieso meine Kontakte beim Umzug verloren gingen, kann ich nicht sagen. Ich hatte die komplette Config gesichert und dann wieder eingespielt und alles funzte. Irgendwann habe ich gemerkt, dass keine Meldungen mehr per Telegram kamen...
Durch fhem generierte Meldungen (mit DOIF) kommen an...
Habe es jetzt noch mal gecheckt - die Kommandos werden nicht ausgeführt; es kommt nichts im Eventmonitor und die Readings ändern sich auch nicht.
Hast du 'ne Idee, woran das liegen könnte? Sind noch Infos nötig?
Edit: habe die Ursache gefunden :D. Die Peer-ID hat nicht mit den erlaubten Ids übereingestimmt - so einfach kann es manchmal sein. Trotzdem danke!
Danke
Uwe
@locodriver: Schön, dass es wieder geht.
Wenn so etwas wieder passiert ist es immer hilfreich - logausschnitte des fhemlogs (unter umständen mit höherem verbose wert) zu posten. Vermutlich findet sich da bereits ein Hinweis
Besteht die Möglichkeit, die Favorite-Keyboards zweispaltig zu machen? In der Commandref steht drin, dass die keyboards noch gar nicht unterstützt werden, was glücklicherweise nicht der Fall ist: gerade die Keyboards sind ein großartiges Tool, danke!
Zitat von: andies am 21 März 2017, 13:42:34
Besteht die Möglichkeit, die Favorite-Keyboards zweispaltig zu machen? In der Commandref steht drin, dass die keyboards noch gar nicht unterstützt werden, was glücklicherweise nicht der Fall ist: gerade die Keyboards sind ein großartiges Tool, danke!
Ja ist in der aktuellen github-Version enthalten, kommt also auch demnächst als update über SVN, ich war sowieso gerade an den Favoriten
Danke für den Dokuhinweis
Zitat von: viegener am 20 März 2017, 00:30:52
zu 1) - Es gibt zwei Readings msgChat und msgChatId - vielleicht ist das der doppelte Trigger?
Dem Forum fehlt ein Facepalm-Emoticon. Das wirds wohl sein. Pardon my Blödheit. :'(
Zitat von: viegener am 20 März 2017, 00:30:52
zu 2) ich habe Deine Befehle bei mir nachvollzogen (Variante 2 ist richtig, Der etnsprechende Befehl funktioniert bei mir sowohl mit HTML als auch mit markdown und mit oder ohne peer-Angabe problemlos.
Du hast Recht. Ich habe gerade mal weiter getestet. Prinzipiell funktionierts. Schuld ist scheinbar ein Zeilenumbruch. Ich verstehe nur nicht ganz, wieso.
Ich sende das ganze aus einer 99_BotUtils.pm-Datei mit dem Aufruf:
fhem( "set $BotName queryEditInline $LastMnuID $Recipient $MenuText" );
$MenuText fülle ich mit
$MenuText = "(test) (Hauptmenü:mnuMain) HTML <b>FETT</b> <b>FETT</b> normal \n normal: "
Das funktioniert nicht mit 3_InMsg, wohl aber mit 2_HTML. ( Der Zeilenumbruch funktioniert in beiden Fällen. )
Aus der Eingabezeile heraus funktioniert das auch mit 3_InMsg.
Lasse ich das \n weg, funktionierts.
Folgendes funktioniert auch mit 3_InMsg und sieht so aus, wie gewünscht.
$MenuText = "(test) (Hauptmenü:mnuMain) HTML <b>FETT</b> <b>FETT</b> normal \\n normal: "
Mir ist nur nicht ganz klar, warum ich den Zeilenumbruch nochmal escapen muss. War das einfache \n falsch und funktioniert nur aus Glück?
@Carsten: Ich denke die doppelten \ sind nötig, weil perl vor der Übergabe an fhem bereits das erste escape entfernt wird und damit ist es kein \n sondern bereits ein Zeilenumbruch , verifizieren kann ich das bisher aber nicht
Mich wundert nur, dass es im HML-Modus auch so funktioniert, aber mit den doppelten \\ kann ich gut leben. Danke für Deine Unterstützung
Ich bin hier vermutlich im falschen Thread, aber weiß jemand, wo ich das diskutieren kann:
2017.03.27 09:24:21 3: eval: my $EVENT='msgText: /system';my $EVTPART0='msgText:';my $NAME='TelegramBot';my $EVTPART1='/system';my $TYPE='TelegramBot';my $SELF='TelegramBotNotify';{fhem_bot($NAME);}
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_bits_per_sample: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_has_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
Schwerer Fehler in PNG-Bilddatei: Invalid IHDR data2017.03.27 09:30:53 1: Including fhem.cfg
Ausgelöst wurde der Fehler durch folgenden Befehl (in meiner 99_myUtilsTelegram.pm):
fhem_bot_svgresponse(
["wl_sysmon_temp", "CPU Temp"],
["wl_sysmon_load", "CPU Load"],
["wl_sysmon_wlan0", "WLAN"],
["wl_sysmon_fs_root", "Partition"],
["wl_sysmon_ram", "RAM"]
...
sub fhem_bot_svgresponse{
my $svgentries = 0;
foreach (@_){$svgentries++;}
for(my $i = 0; $i < $svgentries; $i++) {
my @data = @{$_[$i]};
my $filename = 'plot'.$i.'.png';
open(my $fh, '>', $filename) or die "Could not open file '$filename' $!";
print $fh plotAsPng($data[0]);
close $fh;
fhem_bot_imgresponse(
"/opt/fhem/plot".$i.".png ".$data[1],
);
}
}
und diese sub habe ich aus dem Forum kopiert.
@andies: Ja das ist hier definitiv falsch, warum stellst Du die Frage nicht da wo Du die sub vermutlich kopiert hast?
https://forum.fhem.de/index.php/topic,51425.msg464928.html#msg464928 (https://forum.fhem.de/index.php/topic,51425.msg464928.html#msg464928)
Hey zusammen, ich hoffe ich bin hier richtig.
Ich hab das Problem, das bei einem Versenden einer Nachricht ein Fehler auftritt und ich nicht weiß warum.
Ich dachte es liegt an den Sonderzeichen, deswegen die Tests.
(Ja 0 ist heute und 1 ist morgen, das pass ich noch an)
Ich hab auch versucht ohne Variabelen das direkt auszugeben. Der selbe Fehler.
Der Code zum Versenden das Menu nur angepasst:
if($msgText eq "/wetterheute"){
my $titel = ReadingsVal("Wetter.Rusenschloss","fc1_title",0);
my $textnacht = ReadingsVal("Wetter.Rusenschloss","fc1_text",0);
my $text = ReadingsVal("Wetter.Rusenschloss","fc1_text_night",0);
my $texte = "HÖÖLÖööüü";
fhem "set TelegramBot sendImage \@$msgPeerId /opt/fhem/www/images/default/weather/".ReadingsVal('Wetter.Yahoo','fc1_icon','0').".png Das Wetter heute $titel";
fhem "set TelegramBot message \@$msgPeerId Test 1";
fhem "set TelegramBot message \@$msgPeerId $text";
fhem "set TelegramBot message \@$msgPeerId Test 2";
fhem "set TelegramBot message \@$msgPeerId $textnacht";
fhem "set TelegramBot message \@$msgPeerId Test 3";
fhem "set TelegramBot message \@$msgPeerId $texte";
fhem "set TelegramBot message \@$msgPeerId Tesööt 4";
fhem "set TelegramBot message \@$msgPeerId $texte";
fhem "set TelegramBot message \@$msgPeerId Test 5";
fhem "set TelegramBot message \@$msgPeerId /wetter /hauptmenue";
}
Ergebnis in Telegram: (als extra Nachricht)
- Bild + Beschreibung
- Test 1
- Meistens klar. Tiefsttemperatur 7 °C. Wind aus WSW und wechselhaft. (Entspricht der Anforderung)
- Test 2
- (PAUSE VON CA. 30 SEC) {keine Nachricht}
- Test 3
- HÖÖLÖööüü
- Tesööt 4
- HÖÖLÖööüü
- Test 5
- /wetter /hauptmenue
Im log steht:
2017.03.27 13:16:16 TelegramBot: Sender: 1[zensiert]14
2017.03.27 13:16:16 TelegramBot: Text: /wetterheute
2017.03.27 13:16:47 3: TelegramBot_Callback TelegramBot: resulted in NonBlockingGet timed out on read from <hidden> after 30s from SendIt
2017.03.27 13:16:47 3: TelegramBot_Callback TelegramBot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg 133866014 : Meistens klar. Höchsttemperatur 19 °C. Wind aus NW mit 10 bis 15 km/h.
Und zur verfolständigung das Raw vom Wetter.
defmod Wetter.Rusenschloss Wunderground 5..[zensiert]..0f pws:ISTUTTGA18
attr Wetter.Rusenschloss event-on-change-reading .*
attr Wetter.Rusenschloss stateReadings temp_c humidity
attr Wetter.Rusenschloss stateReadingsFormat 1
attr Wetter.Rusenschloss wu_features astronomy,conditions,forecast
attr Wetter.Rusenschloss wu_lang de
setstate Wetter.Rusenschloss T: 13.2 °C H: 46 %
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 UV -1
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 condition Heiter
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 dewpoint 1.9
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 dewpoint_f 35.4
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_condition Heiter
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_high_c 17
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_high_f 63
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_humidity 36
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_humidity_max 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_humidity_min 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_icon clear
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_icon_night nt_clear
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_icon_url http://icons.wxug.com/i/c/k/clear.gif
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_icon_url_night http://icons.wxug.com/i/c/k/nt_clear.gif
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_low_c 4
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_low_f 40
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_pop 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_pop_night 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_rain_day 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_rain_day_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_rain_night 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_rain_night_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_snow_day 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_snow_day_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_snow_night 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_snow_night_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_text Meistens klar. Höchsttemperatur 17 °C. Wind aus O mit 10 bis 15 km/h.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_text_f Meistens klar. Höchsttemperatur 63 °F. Wind aus O mit 5 bis 10 mph.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_text_f_night Meistens klar. Tiefsttemperatur 40 °F. Wind aus SSO mit 5 bis 10 mph.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_text_night Meistens klar. Tiefsttemperatur 4 °C. Wind aus SSO mit 10 bis 15 km/h.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_title Montag
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_title_night Montag Nacht
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_wind_direction 95
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_wind_direction_max 95
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_wind_speed 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_wind_speed_max 16
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_wind_speed_max_mph 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc0_wind_speed_mph 6
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_condition Heiter
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_high_c 19
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_high_f 67
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_humidity 59
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_humidity_max 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_humidity_min 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_icon clear
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_icon_night nt_clear
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_icon_url http://icons.wxug.com/i/c/k/clear.gif
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_icon_url_night http://icons.wxug.com/i/c/k/nt_clear.gif
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_low_c 7
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_low_f 45
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_pop 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_pop_night 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_rain_day 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_rain_day_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_rain_night 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_rain_night_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_snow_day 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_snow_day_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_snow_night 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_snow_night_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_text Meistens klar. Höchsttemperatur 19 °C. Wind aus NW mit 10 bis 15 km/h.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_text_f Meistens klar. Höchsttemperatur 67 °F. Wind aus NW mit 5 bis 10 mph.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_text_f_night Meistens klar. Tiefsttemperatur 45 °F. Wind aus WSW mit 5 bis 10 mph.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_text_night Meistens klar. Tiefsttemperatur 7 °C. Wind aus WSW und wechselhaft.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_title Dienstag
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_title_night Dienstag Nacht
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_wind_direction 249
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_wind_direction_max 249
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_wind_speed 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_wind_speed_max 16
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_wind_speed_max_mph 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc1_wind_speed_mph 6
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_condition Heiter
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_high_c 18
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_high_f 64
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_humidity 64
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_humidity_max 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_humidity_min 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_icon clear
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_icon_night nt_clear
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_icon_url http://icons.wxug.com/i/c/k/clear.gif
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_icon_url_night http://icons.wxug.com/i/c/k/nt_clear.gif
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_low_c 7
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_low_f 44
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_pop 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_pop_night 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_rain_day 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_rain_day_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_rain_night 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_rain_night_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_snow_day 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_snow_day_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_snow_night 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_snow_night_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_text Meistens klar. Höchsttemperatur 18 °C. Wind aus W mit 10 bis 15 km/h.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_text_f Meistens klar. Höchsttemperatur 64 °F. Wind aus W mit 10 bis 15 mph.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_text_f_night Meistens klar. Tiefsttemperatur 44 °F. Wind aus SW mit 5 bis 10 mph.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_text_night Meistens klar. Tiefsttemperatur 6 °C. Wind aus WSW mit 10 bis 15 km/h.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_title Mittwoch
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_title_night Mittwoch Nacht
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_wind_direction 271
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_wind_direction_max 271
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_wind_speed 16
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_wind_speed_max 24
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_wind_speed_max_mph 15
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc2_wind_speed_mph 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_condition Heiter
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_high_c 20
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_high_f 68
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_humidity 63
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_humidity_max 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_humidity_min 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_icon clear
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_icon_night nt_partlycloudy
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_icon_url http://icons.wxug.com/i/c/k/clear.gif
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_icon_url_night http://icons.wxug.com/i/c/k/nt_partlycloudy.gif
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_low_c 8
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_low_f 46
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_pop 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_pop_night 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_rain_day 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_rain_day_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_rain_night 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_rain_night_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_snow_day 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_snow_day_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_snow_night 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_snow_night_in 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_text Meistens klar. Höchsttemperatur 20 °C. Wind aus OSO mit 10 bis 15 km/h.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_text_f Meistens klar. Höchsttemperatur 68 °F. Wind aus OSO mit 5 bis 10 mph.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_text_f_night Teilweise bedeckt. Tiefsttemperatur 46 °F. Wind aus SO mit 5 bis 10 mph.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_text_night Teilweise bedeckt. Tiefsttemperatur 7 °C. Wind aus SO mit 10 bis 15 km/h.
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_title Donnerstag
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_title_night Donnerstag Nacht
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_wind_direction 120
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_wind_direction_max 120
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_wind_speed 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_wind_speed_max 16
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_wind_speed_max_mph 10
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 fc3_wind_speed_mph 6
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 feelslike_c 13.2
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 feelslike_f 55.8
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 forecast_url http://www.wunderground.com/global/stations/10739.html
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 heat_index_c
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 heat_index_f
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 history_url http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=ISTUTTGA18
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 humidity 46
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 icon clear
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 icon_url http://icons.wxug.com/i/c/k/clear.gif
setstate Wetter.Rusenschloss 2017-03-24 07:31:40 lastQueryResult ok
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 moon_age 29
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 moon_pct 1
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 moon_phase Letztes Viertel
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 moonrise 07:06
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 moonset 19:05
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 nowcast
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 ob_url http://www.wunderground.com/cgi-bin/findweather/getForecast?query=48.803482,9.148438
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 pressure 1023
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 pressure_in 30.21
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 pressure_trend 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 rain --
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 rain_day 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 rain_day_in 0.00
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 rain_in -999.00
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 solarradiation --
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 state T: 13.2 °C H: 46 %
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 sunrise 07:11
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 sunset 19:46
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 temp_c 13.2
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 temp_f 55.8
setstate Wetter.Rusenschloss 2017-03-24 07:31:44 temperature 0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 visibility
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 visibility_mi
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 wind_chill
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 wind_chill_f
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 wind_direction 45
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 wind_gust 9.0
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 wind_gust_mph 5.6
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 wind_speed 1.9
setstate Wetter.Rusenschloss 2017-03-27 13:14:55 wind_speed_mph 1.2
Woran könnte es liegen?
Gruß Flipper
Kann es sein, dass du das Sendelimit überschreitest?
https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this (https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this)
@Flipper92: Das liegt wohl wirklich an den Sonderzeichen (in diesem Fall das ö in dem reading). Kannst Du mal die neustes Version aus github verwenden und (nach einem Neustart) das Attribut utf8Special setzen (auf 1) und dann nochmals einen Versuch wie von Dir beschrieben machen?
@viegener: das war es, jetzt geht es.
Ich hoff nur, das es durch ein Update nicht wieder zurückgestellt wird :-)
@Flipper92: Heisst das, mit der aktuellen Version aus github hast du getestet und der Text Höchststemperatur aus dem Reading wurde erfoglreich gesendet (und korrekt in telegram client empfangen)?
Ja, nach dem einspielen von der github Version und dem umstellen auf utf8Special hat es Funktioniert das Reading zu senden. Siehe Bild.
Zitat von: Flipper92 am 27 März 2017, 21:36:02
Ja, nach dem einspielen von der github Version und dem umstellen auf utf8Special hat es Funktioniert das Reading zu senden. Siehe Bild.
Danke, dann werde ich diese Version mal auch über update verfügbar machen
Habe 4 fhem Instanzen.
Bei 3 von 4 ist im Telegram bot der cmdsend NICHT vorhanden.
Bei einem geht es...
Raspbian und fhem sind Tagesaktuell von heute.
Auch das Telegram Modul ist identisch.
Jmd ne Idee?
Thx
Frank
Zitat von: Frank_Huber am 04 April 2017, 22:15:46
Habe 4 fhem Instanzen.
Bei 3 von 4 ist im Telegram bot der cmdsend NICHT vorhanden.
Bei einem geht es...
Raspbian und fhem sind Tagesaktuell von heute.
Auch das Telegram Modul ist identisch.
Jmd ne Idee?
Thx
Frank
Was meinst Du mit cmdsend - ist nicht vorhanden - sprich in FHEMWeb wird es nicht im Dropdown angeboten oder es gibt eine Fehlermeldung beim Aufruf?
Es ist nicht im dropdown.
vorhanden:
https://abload.de/img/telebot_dgrfkgk.jpg
nicht vorhanden:
https://abload.de/img/telebot_kgjppfm.jpg
@Frank_Huber: Sind die Server durchgestartet worden und tritt das Problem unter verschiedenen Browsern auf (cache gelöscht etc)?
Wenn die TelegramBot-Dateien identisch sind, dann muss es an etwas anderem liegen. Bist Du sicher, dass diese identisch sind (grösse etc)? Ich habe in den Kommentaren irrtümlich zweimal die Revision 2.2 genutzt -> am besten vergleichst Du den Eintrag $ID
Zitat von: viegener am 05 April 2017, 10:41:31
@Frank_Huber: Sind die Server durchgestartet worden und tritt das Problem unter verschiedenen Browsern auf (cache gelöscht etc)?
Wenn die TelegramBot-Dateien identisch sind, dann muss es an etwas anderem liegen. Bist Du sicher, dass diese identisch sind (grösse etc)? Ich habe in den Kommentaren irrtümlich zweimal die Revision 2.2 genutzt -> am besten vergleichst Du den Eintrag $ID
tritt auf verschiedenen Rehnern auf. und er kennt die Befehle auch nicht. Hab den in nem notify mit drin.
Den Browsercache schließe ich damit aus.
funktioniert: 50_TelegramBot.pm 13824 2017-03-27 20:48:32Z viegener
funktioniert nicht: 50_TelegramBot.pm 13824 2017-03-27 20:48:32Z viegener
komplett identisch.
letzter komplett Reboot der server is erst paar Tage her.
EDIT: Telegram Device löschen und neu anlegen bringt auch nix. (Code Import)
EDIT2: vielleicht hilft es, wenn ich über die FHEM Kommandozeile den Befehl eingebe bekomme ich folgendes zurück:
TelegramBot_Set: Unknown argument cmdSend, choose one of sendMedia sendPhoto sendVoice send _msg sendDocument replaceContacts queryInline reply sendLocation queryAnswer message msg reset zDebug msgForceReply token queryEditInline sendImage msgEdit
vollständiger LIST:
Internals:
CFGFN
FAILS 0
NAME TelegramBot
NR 6812
OLD_POLLING 163
POLLING 163
SNAME TelegramBot
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me 315013284:Huber-fhem-og:@Huber_fhem_og_bot
sentLastResult NonBlockingGet: returned FAILED file :{: not found or empty
sentMsgId
sentMsgPeer Frank_Huber
sentMsgPeerId XXXXXXXXX
sentMsgResult NonBlockingGet: returned FAILED file :{: not found or empty
sentMsgText Image: { - plotAsPng('Plot_Temp_OG') }
Contacts:
XXXXXXXXX XXXXXXXXX:Frank_Huber:
Hu_do_params:
NAME
addr https://api.telegram.org:443
boundary TelegramBot_boundary-x0123
buf
code 200
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Wed, 05 Apr 2017 08:52:13 GMT
Content-Type: application/json
Content-Length: 236
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 1
hu_portSfx
loglevel 4
method POST
path /XXXXXXXXXXX/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/XXXXXXXXXX/sendPhoto
Hash:
Sslargs:
Hu_upd_params:
FD 5
NAME
addr https://api.telegram.org:443
buf
code 200
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 162
hu_portSfx
isPolling update
loglevel 4
method GET
offset 0
path /XXXXXXXXXXXX/getUpdates?offset=0&limit=5&timeout=120
protocol https
redirects 0
timeout 245
url https://api.telegram.org/XXXXXXXXXXXX/getUpdates?offset=0&limit=5&timeout=120
Hash:
Sslargs:
Helper:
Dblog:
Sentmsgid:
Logdb:
TIME 1491382333.56201
VALUE 16
Sentmsgpeerid:
Logdb:
TIME 1491383335.80742
VALUE 156517845
Sentmsgresult:
Logdb:
TIME 1491383335.80742
VALUE NonBlockingGet: returned FAILED file :{: not found or empty
State:
Logdb:
TIME 1491383335.80742
VALUE sentMsgId:
Readings:
2017-01-11 10:05:16 Contacts XXXXXXXXX:Frank_Huber:
2017-04-05 00:00:17 PollingErrCount 0
2017-04-04 06:02:43 PollingLastError NonBlockingGet: returned api.telegram.org: Die Wartezeit für die Verbindung ist abgelaufen
2017-01-11 10:05:16 msgChat
2017-01-11 10:05:16 msgFileId
2017-01-11 10:05:16 msgId 3
2017-01-11 10:05:16 msgPeer Frank_Huber
2017-01-11 10:05:16 msgPeerId XXXXXXXXX
2017-01-11 10:05:16 msgText T
2017-04-05 11:08:55 sentMsgId
2017-04-05 11:08:55 sentMsgPeerId XXXXXXXXX
2017-04-05 11:08:55 sentMsgResult NonBlockingGet: returned FAILED file :{: not found or empty
sentQueue:
Attributes:
defaultPeer Frank_Huber
pollingTimeout 120
room Kommunikation,SYSTEM
Zitat von: viegener am 21 März 2017, 16:25:40
Ja ist in der aktuellen github-Version enthalten, kommt also auch demnächst als update über SVN, ich war sowieso gerade an den Favoriten
Sind zweispaltige Favoriten jetzt schon in dem "normalen" update enthalten? (Ich habe keine spezielle git-Version installiert.)
Ich habe das Modul heute auch mal in Betrieb genommen, funktioniert gut, vielen Dank!
Ich möchte es ermöglichen, dass ich auf bestimmte Statusmeldungen, die FHEM via Telegram ausliefert, reagieren kann. Eine Statusmeldung könnte z.B. sein: "Morgen wird der Restmüll abgeholt". Und die Antwort könnte sein "später erinnern" oder "verstanden". Auf die beiden Antworten soll FHEM dann reagieren, sprich es solle FHEM-Kommandos abgesetzt werden. Ich habe das jetzt so gelöst:
attr Bot favorites /[muell_off]=set Muellwecker off;/[muell_on]=set Muellwecker on
Und eine Nachricht geht so raus:
set Bot msg @@xxxxx (verstanden) (spaeter erinnern) Morgen wird der Restmüll abgeholt
Klar, beim tippen auf die eine der Antworten geht nur der jeweilige Text raus. Wie kann ich denn jetzt erreichen, dass beim Tippen auf "verstanden" das /muell_off Favorite ausgeführt wird? Oder allgemeiner gesprochen, wie kann ich beliebig beschrifteten Antwort-Buttons bestimmte FHEM-Aktionen zuweisen?
Du könntest z.B. mit einem DOIF auf den eingehenden Text reagieren und schauen, was als letztes vom TelegramBot versendet wurde, dann kannst du entsprechende Kommandos ausführen.
Grobes Beispiel:
ein userReading beim TelegramBot, damit man sieht, was zuletzt gesendet wurde:
attr TelegramBot userReadings sentMsg_Text {InternalVal("TelegramBot","sentMsgText","none");;}
Dann ein DOIF zum reagieren
define Test_DOIF DOIF ([?TelegramBot:sentMsg_Text] =~ "Restmüll abgeholt" and [TelegramBot:msgText] eq "verstanden")(set Muellwecker off) DOELSEIF ([?TelegramBot:sentMsg_Text] =~ "Restmüll abgeholt" and [TelegramBot:msgText] eq "später erinnern")(set Muellwecker wiederholen) DOELSE
attr Test_DOIF do always
attr Test_DOIF wait 1:1:1
attr Test_DOIF checkReadingEvent 1
Code nicht getestet, dient nur als Beispiel !!!
####Edit1
Zur Sicherheit evtl. noch einbauen, von wem die Nachricht kommt und nur diese akzeptieren.
define Test_DOIF DOIF ([?TelegramBot:sentMsg_Text] =~ "Restmüll abgeholt" and [?TelegramBot:msgPeer] eq "DEIN_NAME" and [TelegramBot:msgText] eq "verstanden")(set Muellwecker off) DOELSEIF ([?TelegramBot:sentMsg_Text] =~ "Restmüll abgeholt" and [?TelegramBot:msgPeer] eq "DEIN_NAME" and [TelegramBot:msgText] eq "später erinnern")(set Muellwecker wiederholen) DOELSE
attr Test_DOIF do always
attr Test_DOIF wait 1:1:1
attr Test_DOIF checkReadingEvent 1
Besten Dank, funktioniert!
Edit:
Wobei man natürlich sagen muss, dass es nur so lange funktioniert, wie zwischendurch nicht schon andere Nachrichten gesendet werden. Besser wäre es schon, wenn der auszuführende Befehl dem Telegram-Modul bzw. direkt dem anzuzeigenden Button mitgegeben würde. Womöglich lässt sich doch sowas wie von mir ursprünglich angedacht realisieren? Also sowas wie
set Bot msg @@xxxxx (/short1=verstanden) (/short2=spaeter erinnern) Morgen wird der Restmüll abgeholt
@Frank_Huber: Mir gehen bald die Ideen aus - was passiert, wenn Du auf dem nicht funktionierenden Rechner ein reload 50_TelegramBot.pm machst und danach nochmal auf die TelegramBot-Detailseite gehst --> oder das cmdSend direkt als Kommando versendest?
Zitat von: hokascha am 06 April 2017, 16:26:36
Besten Dank, funktioniert!
Edit:
Wobei man natürlich sagen muss, dass es nur so lange funktioniert, wie zwischendurch nicht schon andere Nachrichten gesendet werden. Besser wäre es schon, wenn der auszuführende Befehl dem Telegram-Modul bzw. direkt dem anzuzeigenden Button mitgegeben würde. Womöglich lässt sich doch sowas wie von mir ursprünglich angedacht realisieren? Also sowas wie
set Bot msg @@xxxxx (/short1=verstanden) (/short2=spaeter erinnern) Morgen wird der Restmüll abgeholt
Einfach so als Idee:
Dann mach es doch anders, für Restmüll verstanden machst du "/001 verstanden" und für Restmüll später erinnern "/002 später erinnern", dann für Gelber Müll verstanden "/003 verstanden" und für später "/004 später wiederholen"
damit kannst du dann im DOIF reagieren:
define Test_DOIF DOIF ([?TelegramBot:msgPeer] eq "DEIN_NAME" and [TelegramBot:msgText] eq "/001 verstanden")(set Muellwecker off) DOELSEIF ([?TelegramBot:msgPeer] eq "DEIN_NAME" and [TelegramBot:msgText] eq "/002 später erinnern")(set Muellwecker wiederholen) DOELSEIF ([?TelegramBot:msgPeer] eq "DEIN_NAME" and [TelegramBot:msgText] eq "/003 verstanden")(set GelberMuellwecker off) DOELSEIF ([?TelegramBot:msgPeer] eq "DEIN_NAME" and [TelegramBot:msgText] eq "/004 später erinnern")(set GelberMuellwecker wiederholen)
attr Test_DOIF do always
attr Test_DOIF wait 1:1:1
attr Test_DOIF checkReadingEvent 1
Oder anstelle von "/001 verstanden" usw. machst du als Antwort einfach "Muellwecker verstanden" "Muellwecker wiederholen" und "GelberMuellwecker verstanden" "GelberMuellwecker weiderholen"
Grüße Marcel
Zitat von: Ma_Bo am 06 April 2017, 17:16:27
Einfach so als Idee:
Dann mach es doch anders, für Restmüll verstanden machst du "/001 verstanden" und für Restmüll später erinnern "/002 später erinnern", dann für Gelber Müll verstanden "/003 verstanden" und für später "/004 später wiederholen"
...
Oder anstelle von "/001 verstanden" usw. machst du als Antwort einfach "Muellwecker verstanden" "Muellwecker wiederholen" und "GelberMuellwecker verstanden" "GelberMuellwecker weiderholen"
Ja, das ginge natürlich. Wäre aber auch nur ein Workaround und man müsste eindeutige Button-Beschriftungen für die unterschiedlichen Aktionen haben. Machbar, aber nicht so richtig cool ;-) Danke für den Tipp in jedem Fall!
Kein Problem, sind halt die Ideen um es jetzt direkt hinzubekommen.
Klar wäre es schön, wenn man deine Idee direkt ins Modul bekäme, soweit dies möglich ist.
Zitat von: viegener am 06 April 2017, 16:53:00
@Frank_Huber: Mir gehen bald die Ideen aus - was passiert, wenn Du auf dem nicht funktionierenden Rechner ein reload 50_TelegramBot.pm machst und danach nochmal auf die TelegramBot-Detailseite gehst --> oder das cmdSend direkt als Kommando versendest?
Danke! Das hats gelöst!
Jetzt ist alles wie es sein soll.
Grüße
Frank
@Frank_Huber: Das heisst ein update ohne restart?
Zitat von: viegener am 07 April 2017, 18:57:43
@Frank_Huber: Das heisst ein update ohne restart?
Das Update macht doch selbst nen shutdown / restart, oder?
Zumindest verstehe ich das log immer so.
Shutdown restart needed und dannach server responded OK.
Ist das cmdsend eine neue Funktion?
An das Update hatte ich gar nicht gedacht
Lassen sich eigentlich mit Telegram Nachrichten verschicken die sich nach dem ansehen selbst löschen oder nur eine gewisse Zeit lesbar sind?
Zitat von: andies am 05 April 2017, 22:34:30
Sind zweispaltige Favoriten jetzt schon in dem "normalen" update enthalten? (Ich habe keine spezielle git-Version installiert.)
Ja ist im aktuellen Update enthalten, Doku kommt auch noch ;)
Zitat von: ulli am 07 April 2017, 20:22:09
Lassen sich eigentlich mit Telegram Nachrichten verschicken die sich nach dem ansehen selbst löschen oder nur eine gewisse Zeit lesbar sind?
Nein - automatisches Löschen gibt es bei Telegram wohl bisher nicht
Zitat von: viegener am 07 April 2017, 21:26:17
Nein - automatisches Löschen gibt es bei Telegram wohl bisher nicht
mit dem Android z.b. in einem geheimen Chat geht das. Aber nicht mit bots.
Zitat von: viegener am 07 April 2017, 21:26:17
Nein - automatisches Löschen gibt es bei Telegram wohl bisher nicht
Mit msgEdit könnte man den Text aber zumindest nach einer gewissen Zeit weg editieren
Zitat von: Frank_Huber am 07 April 2017, 20:01:17
Das Update macht doch selbst nen shutdown / restart, oder?
Zumindest verstehe ich das log immer so.
Shutdown restart needed und dannach server responded OK.
Ist das cmdsend eine neue Funktion?
An das Update hatte ich gar nicht gedacht
Nein "shutdown restart needed ..." heisst das ein shutdown restart gemacht werden muss damit die Änderungen aktiv wird.
Also solltest Du unbedingt Deine FHEM-Instanzen durchstarten, denn jetzt hast Du nur das enue Telegrambot-Modul aktiviert
Zitat von: viegener am 08 April 2017, 00:22:38
Also solltest Du unbedingt Deine FHEM-Instanzen durchstarten, denn jetzt hast Du nur das enue Telegrambot-Modul aktiviert
Das habe ich nach der Erkenntnis von gestern gleich gemacht.
Und wieder was gelernt .... Danke!
Zitat von: Frank_Huber am 07 April 2017, 21:28:52
mit dem Android z.b. in einem geheimen Chat geht das. Aber nicht mit bots.
Ja ich denke es geht um die Telegramunterstützung in FHEM - Der Bot unterstützt keine secret chats
Hallo viegener!
Bitte um Hilfe
Bekomme seit neuesten keinen Pott von Telegram. Hab da aber nichts geändert.
Was könnte da sein?
2017.04.21 19:53:25 1: ERROR evaluating my $EVENT='on';my $SELF='svgsend1';my $EVTPART0='on';my $NAME='svgsend';my $TYPE='dummy';{TelegramBot_ExecuteCommand($defs{"teleBotT"}, 236526786, '{plotAsPng("SVG_File_Log_DS_1")}'); return;}: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 290) line 1, near "'{plotAsPng("SVG_File_Log_DS_1")}')"
2017.04.21 19:53:25 3: svgsend1 return value: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 290) line 1, near "'{plotAsPng("SVG_File_Log_DS_1")}')"
lg
Wolfgang
Gefunden:
Auszug aus der Wiki:
ZitatHinweis: früher wurde zum Verschicken von Plots auch die interne Funktion TelegramBot_ExecuteCommand verwendet; mit dem Update Ende Februar 2017 hat diese Funktion einen zusätzlichen Parameter erhalten und lautet nun TelegramBot_ExecuteCommand($defs{"mein_telegramBot"}, meine_ZielID, undef, '{plotAsPng("mein_SVG")}');
der Parameter undef, muss eingefügt werden.
Wie soll man da drauf kommen.........
lg
Wolfgang
Hallo zusammen,
ist es möglich per TelegramBot an IOS Audio Nachrichten direkt auszugeben?
Also entweder per Text2Speech bzw. eine Audio-Datei direkt mitzusenden.
Also ich möchte dass beim eintreffen einer Nachricht von FHEM an mein Handy direkt die Audio-Nachricht abgespielt wird.
Im gesperrten Zustand. Unter Android ist das kein Problem.
PS: Ich dachte dass ich es per Pushover und einem eigenen Audio-Datei für einen Benachrichtigungston einstellen kann, aber dem ist so nicht auf IOS. Dort gibt kann man nur Klingetöne per iTunes aufspielen. Diese lassen sich jedoch nicht aus der Pushover-App unter ios auswählen :-[
Über eine Antwort würde ich mich freuen.
Vielen Dank im Voraus!
dengbert
Hi,
Lies mal hier:
https://waschto.eu/pushover-push-benachrichtigungen-aufs-handy#Andere_Toene_bei_Benachrichtigung_8211_sound
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Zitat von: RaspiLED am 21 April 2017, 21:03:39
Hi,
Lies mal hier:
https://waschto.eu/pushover-push-benachrichtigungen-aufs-handy#Andere_Toene_bei_Benachrichtigung_8211_sound
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Hi RaspiLED,
danke für den Hinweis, das war mir auch bekannt.
Ich suche nach einer Möglichkeit, ein eigenes MP3-File mit einer eigenen Sprachaufzeichnung direkt beim Eintreffen ausgeben zu lassen.
Das funktioniert auch unter Android ohne Probleme, nur unter IOS kann man sich nur die voreingestellten Sounds ausgeben lassen.
Bei Andoid verwende ich Tasker. Wenn dort eine Meldung von Pushover reinkommt, und diese einen bestimmten Text enthält, dann spielt er das Dateiname.mp3 File ab.
Ist das irgendwie unter IOS zu realisieren? Evtl. mit Telegrambot? Wer hat dazu Erfahrungen? Oder Ideen?
Gruß dengbert
Hi dengbert,
stimmt das war schon früher unter iOS immer ein Problem ;-) Du könntest natürlich mit iTunes oder einer (kostenpflichtigen) Klingeltondesign App einen Ton designen und dann diese Töne bzw. Musikstücke verwenden.
https://www.google.de/amp/praxistipps.chip.de/iphone-eigene-musik-als-klingelton-einstellen_3195%3Flayout%3Damp
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Zitat von: RaspiLED am 22 April 2017, 09:13:46
Hi dengbert,
stimmt das war schon früher unter iOS immer ein Problem ;-) Du könntest natürlich mit iTunes oder einer (kostenpflichtigen) Klingeltondesign App einen Ton designen und dann diese Töne bzw. Musikstücke verwenden.
https://www.google.de/amp/praxistipps.chip.de/iphone-eigene-musik-als-klingelton-einstellen_3195%3Flayout%3Damp
Gruß Arnd
Hallo RaspiLED,
den Gedanken hatte ich auch schon.
Aber wie bringe ich IOS bei, bei einer eintreffenden Nachricht diesen "Klingel-"ton als Nachrichtenton zu benutzen?
Dann wäre mein Problem gelöst...
Gruß dengbert
Hallo.
Habe heute bemerkt das ein User keine Messages mehr bekommt. Ich allerdings schon. Sende ich aber an irgendeine Nummer bekomme ich diese auch.
Was ist denn jetzt nun wieder?
Wie lege ich eigentlich neue user an, wie komme ich zu deren ID ?
Habe es seit 1 jahr am laufen, weiss nicht mehr wie es geht.
[edit]
gelöst, habe den FHEM Contakt an den user geteilt, der hat ihn übernommen und jetzt empfängt er wieder nachrichten aus fhem.
@satprofi: Zur Erklärung (möglicherweise auch für andere) - Ich vermute nur was passiert ist:
Ein Benutzer muss nicht nur am Anfang zuerst eine Nachricht an den Bot senden, damit er etwas vom Bot empfangen kann. Der Benutzer darf auch nicht den Dialog schliessen, dann kann der Bot auch nichts mehr an ihn senden und er muss erst wieder Kontakt zum Bot aufnehmen.
Die ID zum Kontakt erhält man aus der Kontaktliste (oder aus dem Log)
Hi,
ich musste meine FHEM Installation komplett neu machen und habe gerade ein Problem mit dem define des TelegramBot. Da ich zwar eine Sicherung der fhem.cfg habe, aber leider keine Ahnung habe, wo das api-Token steht, muss ich das define neu machen. Jetzt habe ich in meinem Passwort-Save ein TelegramBot Auth, das besteht aus einer ID einem Doppelpunkt und dann einer Art Token.
Ist das Define jetzt in der form
define TelegramBot TelegramBot id:token
oder nur der Teil nach dem Doppelpunkt also
define TelegramBot TelegramBot token
anzugeben?
Viele Grüße
@gent: Du kannst Dir das authtoken jederzeit wieder im Botfather erzeugen lassen. Da ich nicht weiss, was Dein passwort-safe ist, wäre der botfather auch die sicherste und einfachste Vorgehensweise.
ich habe gerade in wiki folgenden text gelesen:
Achtung: Dieses Authtoken ist die einzige Authentifizierung für den Bot und sollte deshalb nicht aus der Hand gegeben werden. Die verwendeten Urls sind deshalb auch in den Log-Files nicht enthalten, da diese das Authtoken in Klartext enthalten.
verstehe ich es richtig, dass der authtoken im klartext in der url steht und damit jeder, der den http request sieht den bot übernehmen könnte?
@FhemPiUser: Ja das ist völlig korrekt
...wenn ich die bot api richtig verstehe enthält jede kommikation mit dem bot den auth token im klartext in der url, d.h. er wird bei jeder message und auch bei jedem polling gesendet, also hunderte mal pro tag.
das klingt ja sicherheitstechnisch nicht sehr gut. dann sollte man ja eher nicht fhem cmds darüber machen oder sensible messages / images schicken, oder verstehe ich etwas falsch?
@FhemPiUser: Entschuldige bitte, aber das ist aus meiner Sicht Unsinn - die Kommunikation findet über https statt das ist für mich kein Klartext
ok, dann ist gut. aber dann wurde meine erste frage (bzw der zweite teil davon) nicht ganz richtig beantwortet...
@FhemPiUser: Nein der http-request ist zum Beispiel in den internals des devices vorhanden und dort ist das Sicherheitsproblem zu suchen. Ein list des Devices enthält das Token unter Umständen mehrfach und ist deshalb immer mit Vorsicht zu behandeln. Ich habe bisher auch noch keine gute Lösung gefunden den im List zu verschleiern
meinst du den auth token im message text, wenn ich als cmd ein 'list telegram' device mache? warum nicht den messageinhalt vor dem senden per regex nach dem authtoken durchsuchen und bei einem match ersetzen? oder meinst du erwas anderes?
@FhemPiUser: Ich bin nicht sicher, ob ich Deinen Kommentar verstanden habe. Es geht nicht um das Senden per telegram - denn da ist ja wieder https im Spiel.
Mir geht es darum, dass ich hier regelmässig ein list des devices benötige, um anderen zu helfen. Dieser list hier gepostet enthält das authtoken und muss deshalb vorher bereinigt werden. In diesem list steckt das Token mehrfach drin. Ein Modul kann aber beim list-Befehl nicht eingreifen, wenn das Dein Vorschlag war.
Da ich nicht glaube, dass die Diskussion hier zielführend ist, nochmal der Hinweis: Das Authtoken ist wie eine klartext username-passwort-Kombination und muss entsprechend behandelt werden. Insbesondere vor dem posten in öffentlichen Foren und auch wenn man anderen Benutzern im eigenen FHEM nicht vertraut (das authtoken ist z.B. über den list-Befehl sichtbar).
Es geht NICHT um die Sicherheit der Kommunikation mit den telegram-servern, diese ist viel mehr von der Verschlüsselung während der SSL-Kommunikation abhängig (Stichwort cipher suite etc).
ok, danke für die erläuterung. da habe ich auch keine idee...
Dieser Befehl
set telegram reply 1234 @12334 @5678 TestText
bringt als Fehlermeldung:
TelegramBot_Set: Command reply, need exactly one peer
dies stimmt aber nicht ganz, denn ohne peer funktioniert es auch!
sG
Joe
Zitat von: JoeALLb am 02 Mai 2017, 14:30:12
TelegramBot_Set: Command reply, need exactly one peer
dies stimmt aber nicht ganz, denn ohne peer funktioniert es auch!
Ein Reply kann nur an den Originalsender gehen, der sollte angegeben werden. Wenn kein peer angegeben ist zieht wie auch bei anderen Kommandos, dass der default peer verwendet wird. Dies kann allerdings wenn der nicht stimmt zu einem Fehler im Telegramserver.
Also insgesamt ein peer - der explizit oder über default peer angegeben wird
nachdem es jetzt möglich ist bei den Favoriten (InlineKeyboard) auf 2 Spalten umzustellen wollte ich (um den WAF zu erhöhen) das Erscheinungsbild vom TelegramBot bei mir etwas überarbeiten.
Dazu habe ich zwei Fragen:
1. wenn er mir die Kästchen mit den Favoriten anzeigt steht dort immer "/short1 = Alarm an" ..usw. Ich würde da natürlich gerne nur "Alarm an" stehen haben. Kann man das irgendwo einstellen?
2. wenn ich o.g. Befehl abschicke bekomme ich als Antwort "TelegramBot FHEM: Befehl: setreadiing bla bla bla: Ergebnis: ok". Kann ich da auch irgendwie einstellen, dass nur kommt "Befehl erfolgreich ausgeführt"?
ich hab auch schon nach den Lösungen gesucht aber irgendwie nicht so richtig etwas gefunden. Kann es sein, dass eine Doku zu den ganzen Attributen nur in der pm selbst zu finden ist?
Grüße
Stephan
Zitat von: StephanFHEM am 06 Mai 2017, 12:54:25
2. wenn ich o.g. Befehl abschicke bekomme ich als Antwort "TelegramBot FHEM: Befehl: setreadiing bla bla bla: Ergebnis: ok". Kann ich da auch irgendwie einstellen, dass nur kommt "Befehl erfolgreich ausgeführt"?
Das kann ich, glaube ich, beantworten:
ZitattextResponseConfirm <TelegramBot FHEM : $peer\n Bestätigung \n>
Text to be sent when a confirmation for a command is requested. Default is shown here and $peer will be replaced with the actual contact full name if added.
ist ein Attribut, Zitat aus https://fhem.de/commandref.html#TelegramBot
Zitat von: StephanFHEM am 06 Mai 2017, 12:54:25
Dazu habe ich zwei Fragen:
1. wenn er mir die Kästchen mit den Favoriten anzeigt steht dort immer "/short1 = Alarm an" ..usw. Ich würde da natürlich gerne nur "Alarm an" stehen haben. Kann man das irgendwo einstellen?
2. wenn ich o.g. Befehl abschicke bekomme ich als Antwort "TelegramBot FHEM: Befehl: setreadiing bla bla bla: Ergebnis: ok". Kann ich da auch irgendwie einstellen, dass nur kommt "Befehl erfolgreich ausgeführt"?
ich hab auch schon nach den Lösungen gesucht aber irgendwie nicht so richtig etwas gefunden. Kann es sein, dass eine Doku zu den ganzen Attributen nur in der pm selbst zu finden ist?
Grüße
Stephan
zu 1) Das geht momentan nicht, da die Tasten nichts anderes als den Text auf der Tasts als normale Nachricht senden, wäre es sonst nicht erkennbar, was Befehl durch Tastendruck und was normale Nachricht ist.
zu 2) Zusätzlicher Hinweis zur Antwort von andies - es gibt auch noch cmdReturnEmptyResult um genau die Erfolgsmeldungen zu unterdrücken, dann kommen nur noch Fehlermeldungen als Rückmeldung
Danke für die Info! Wäre prima, wenn sich 1. mal ändern:-) 2. hab ich dank der Hinweise schon umgesetzt.
Ich hab die Beschreibung der Attribute jetzt auch in der englischen CommandRef gefunden. Hab vorher da irgendwie den Wald vor lauter Bäumen nicht gesehen.
Grüße
Stephan
Zitat von: StephanFHEM am 06 Mai 2017, 16:58:14
Hab vorher da irgendwie den Wald vor lauter Bäumen nicht gesehen.
Kommt mir bekannt vor...
Gibt es eigentlich eine Möglichkeit die Option "Verlauf löschen" aus der TelegrammApp in FHEM nachzubilden oder in das Modul zu integrieren?
Ideal wäre eine Möglichkeit nach dem Motto " lösche alles was älter als X Tage ist"
Bisher muss ich die ganzen Telegramme immer von Hand löschen.
Noch praktischer wäre ein löschen mit Regex;-). Somit könnte ich viele lästige überflüssige Logmessages einfacher Entfernen..
Aktuell enthält das Bot API leider keine Funktion um Nachrichten zu löschen (nur ändern ist möglich).
Vielleicht hilft es die Funktion bei telegram anzufordern: https://core.telegram.org/bots/faq#will-you-add-x-to-the-bot-api (https://core.telegram.org/bots/faq#will-you-add-x-to-the-bot-api)
Hallo Leute, erstmal DANKE für dieses tolle Modul.
Ich nutze es seit einiger Zeit, super finde ich die Favoriten zum schnellen Schalten von allen möglichen Dingen von unterwegs.
Jetzt wollte ich eine Schaltfläche basteln für die Beschattung im Wohnbereich. Dafür müsste ich drei Rollos gleichzeitig runterfahren auf unterschiedliche Prozentwerte. Da das Semikolon ja die Favoriten trennt hab ich aktuell nicht rausbekommen ob (und wenn ja, wie) ich mehrere Befehle auf eine Schaltfläche (=Favoriten) legen kann.
Muss ich über ein Dummy gehen oder kann ich den ; irgendwie maskieren?
Danke schonmal und sonnige Grüße aus Landshut!
Stephan
@stewen: Mehrere Kommandos können mit doppeltem Semikolon getrennt werden (wie bei anderen Befehlen - notify etc ebenfalls)
Super, danke.
Ich dachte ich hätte das schon (ohne Erfolg) versucht, aber jetzt klappts auf jeden Fall.
Danke für die schnelle Hilfe!
Hi,
bei mir ist im telegrambot device der state immer "polling".
Soll das so oder ist da irgendwas nicht in Ordnung?
Viele Grüße
Zitat von: gent am 11 Mai 2017, 21:14:00
Hi,
bei mir ist im telegrambot device der state immer "polling".
Soll das so oder ist da irgendwas nicht in Ordnung?
Viele Grüße
Das ist normal. Wenn dich das "warum" interessiert, kann viegener dazu sicher mehr sagen!
Gruß
Ja Esjay hat recht, polling ist der richtige Zustand. Im Prinzip heisst das nichts anderes, als dass die Anfrage nach neuen Nachrichten bei telegram korrekt läuft - im Gegensatz zu entsprechenden Fehlerzuständen oder static, wenn das polling abgeschaltet ist.
Guten Abend zusammen.
Ich lasse mir Abends immer die Primetime Sendungen per Telegram schicken. Mir ist jetzt schon öfter aufgefallen, dass nach einem "&" der Text abgebrochen wird.
Bsp.
TV_Program: set TelegramBot message @#Home Heute Abend im TV\nARD=Tatort: Die Liebe, ein seltsames Spiel\nZDF=Ein Sommer auf Zypern\nRTL=Die 2 - Gottschalk & Jauch gegen ALLE: Das 80er Special - Das 80er Special\nSAT1=It's Showtime! Das Battle der Besten\nPro7=Kill The Boss 2\nVOX=Grill den Henssler: Unknown command Jauch, try help.
Das kommt dabei raus.
FhemServer:
Heute Abend im TV
ARD=Tatort: Die Liebe, ein seltsames Spiel
ZDF=Ein Sommer auf Zypern
RTL=Die 2 - Gottschalk &
Kann ich das i-wie abfangen?
Grüße
@Esjay: Ich denke Dein Problem ist nicht das &-Zeichen, sondern dass irgendwo das & in & umgewandelt wird und das ; ist bekanntermassen ein Befehlstrenner in fhem also wird der Befehl dort beendet.
Folgerichtig steht am Ende der Zeile auch "Unknown command Jauch,..." - den FHEM kennt Jauch nicht als Befehl.
Wenn Du nach HTML (also z.B. & nach und &) umwandelst musst Du noch dafür sorgen, dass ; verdoppelt werden
Zitat von: viegener am 21 Mai 2017, 20:35:49
@Esjay: Ich denke Dein Problem ist nicht das &-Zeichen, sondern dass irgendwo das & in & umgewandelt wird und das ; ist bekanntermassen ein Befehlstrenner in fhem also wird der Befehl dort beendet.
Folgerichtig steht am Ende der Zeile auch "Unknown command Jauch,..." - den FHEM kennt Jauch nicht als Befehl.
Wenn Du nach HTML (also z.B. & nach und &) umwandelst musst Du noch dafür sorgen, dass ; verdoppelt werden
Ok,das macht Sinn. Ich habe gerade gesehen,das es im Reading schon in & umgewandelt wird.
Danke
Habe gerade eine neue Version in SVN eingecheckt, diese kommt auch ab morgen über update:
Wesentlich Änderung ist die Möglichkeit das Favoritenmenu/keyboard als inline keyboard darzustellen. Dazu gibt es das Attribut favoritesInline mit den Werten 1 und 0 --> 1 heisst natürlich inline keyboard
Ausserdem sind ein paar Fehlerkorrekturen und Fehlertoleranzen eingeflossen. So werden jetzt Doppelpunkte in inline keyboards erlaubt (nur der letzte wird als trenner verwendet)
Hallo,
ich habe eine Frage zum TelegramBot. Die Lösung liegt bestimmt nahe, nur sehe ich den Wald vor lauter Bäumen nicht.
Ich habe 3 User, die an den Bot Nachrichten schicken können. Als Beispiel den Spritpreis. Als Default Peer bin ich eingetragen.
Wenn jetzt User 2 die Nachricht Spritpreis sendet, bekommen ich ( User 1 bzw. Default peer ) die Antwort des Bots. Wie kann ich das hinbekommen das der Bot demjenigen antwortet, der auch mit ihm kommunziert hat? Trage ich alle User als defaultpeer ein, bekommen alle User die Antwort.
Vielen Dank für eure Hilfe.
Gruß Thomas
Mir ist nicht klar, ob die Users Nachrichten senden, oder Fhem abfragen?
Allerdings sollte derjenige Benutzer die Antwort bekommen, der die Anfrage geschickt hat. Wenn defaultPeerCopy gesetzt ist, bekommt der defaultPeer zusätzlich auch eine Kopie.
Hi,
ist das eigentlich Normal, dass das TelegramBot Device dauernd auf "polling" steht?
Viele Grüße
Zitat von: gent am 29 Mai 2017, 18:19:34
ist das eigentlich Normal, dass das TelegramBot Device dauernd auf "polling" steht?
Ja, das ist normal.
Zitat von: gent am 29 Mai 2017, 18:19:34
Hi,
ist das eigentlich Normal, dass das TelegramBot Device dauernd auf "polling" steht?
Viele Grüße
Spielst du täglich grüßt das Murmeltier!? ;)
https://forum.fhem.de/index.php/topic,38328.msg633973.html#msg633973
Gruß, Joachim
Zitat von: amenomade am 29 Mai 2017, 17:01:13
Mir ist nicht klar, ob die Users Nachrichten senden, oder Fhem abfragen?
Allerdings sollte derjenige Benutzer die Antwort bekommen, der die Anfrage geschickt hat. Wenn defaultPeerCopy gesetzt ist, bekommt der defaultPeer zusätzlich auch eine Kopie.
Der Benutzer bekommt aber keine Antwort. muss ich evtl. den Befehl anders setzten? Ich habe "send" genommen.
Du kannst bei jedem Senden (soweit ich die "send-, message, ... -Befehle" überflogen hab) einen (oder mehrere) Peer mitgeben.
Tust du das nicht, bekommt nur der defaultPeer die Nachricht...
Zitat
message|msg|_msg|send [ @<peer1> ... @<peerN> ] [ (<keyrow1>) ... (<keyrowN>) ] <text>
Sends the given message to the given peer or if peer(s) is ommitted currently defined default peer user. Each peer given needs to be always prefixed with a '@'. Peers can be specified as contact ids, full names (with underscore instead of space), usernames (prefixed with another @) or chat names (also known as groups in telegram groups must be prefixed with #). Multiple peers are to be separated by space
Auslesen kannst du wer die letzte (aktuelle) Nachricht geschickt hast mittels:
ReadingsVal("TeleBot", "msgPeer", "na")
ReadingsVal("TeleBot", "msgPeerId", "na")
(mache ich um zu prüfen, ob die Nachricht überhaupt von einem "bekannten Sender" stammt)
Zitat
msgPeer <text>
The sender name of the last received message (either full name or if not available @username)
msgPeerId <text>
The sender id of the last received message
Nachzulesen hier:
https://fhem.de/commandref.html#TelegramBot
Gruß, Joachim
Hallo zusammen,
ich habe gestern 50_TelegrammBot aktualisiert und bekomme seit dem folgende Meldungen ins Log:
2017.05.29 16:42:44 1: PERL WARNING: Use of uninitialized value $sepoptions in substitution (s///) at /opt/fhem//FHEM/50_TelegramBot.pm line 1565.
Muss ich irgendetwas an meinen "sends" ändern wenn ich an zwei Teilnehmer schicke? Die Einzelnen scheinen problemlos zu gehen.
Ich nutze ein Leerzeichen als Trenner und nutze die unter Contacts eingetragenen Namen:
fhem "set telegramBot message \@contact1 \@contact2 Hallo Welt"
Das führt dann wie oben beschrieben zu:
2017.05.30 09:34:33 1: PERL WARNING: Use of uninitialized value $sepoptions in substitution (s///) at /opt/fhem//FHEM/50_TelegramBot.pm line 1565.
2017.05.30 09:34:33 1: stacktrace:
2017.05.30 09:34:33 1: main::__ANON__ called by /opt/fhem//FHEM/50_TelegramBot.pm (1565)
2017.05.30 09:34:33 1: main::TelegramBot_SendIt called by /opt/fhem//FHEM/50_TelegramBot.pm (553)
2017.05.30 09:34:33 1: main::TelegramBot_Set called by fhem.pl (3407)
2017.05.30 09:34:33 1: main::CallFn called by fhem.pl (1728)
2017.05.30 09:34:33 1: main::DoSet called by fhem.pl (1761)
2017.05.30 09:34:33 1: main::CommandSet called by fhem.pl (1157)
2017.05.30 09:34:33 1: main::AnalyzeCommand called by fhem.pl (1021)
2017.05.30 09:34:33 1: main::AnalyzeCommandChain called by /opt/fhem//FHEM/01_FHEMWEB.pm (2470)
2017.05.30 09:34:33 1: main::FW_fC called by /opt/fhem//FHEM/01_FHEMWEB.pm (901)
2017.05.30 09:34:33 1: main::FW_answerCall called by /opt/fhem//FHEM/01_FHEMWEB.pm (544)
2017.05.30 09:34:34 1: main::FW_Read called by fhem.pl (3412)
2017.05.30 09:34:34 1: main::CallFn called by fhem.pl (686)
Version: 50_TelegramBot.pm 14370 2017-05-25 16:09:28Z viegener
Danke für Eure Hilfe und viele Grüße,
Marcel
Hallo,
das ist im Code nicht ganz plausibel:
Übergeben werden die Optionen durch:
my ( $peers, $msg, $addPar, $isMedia, $replyid, $options, $retryCount) = @args;
dann kommt irgendwann:
my $sepoptions =~ s/-msgid-//;
was so keinen Sinn ergibt. Eher dann so:
$options =~ s/-msgid-//;
und weiter mit:
TelegramBot_SendIt( $hash, $peers, $msg, $addPar, $isMedia, undef, $options );
Grüße Jörg
PS: Habe ich so bei mir geändert und Fehler ist weg. Senden funktioniert.
Hallo Jörg,
danke für den Ansatz.
Habe es jetzt auch so implementiert und getestet - funktioniert!
Danke und viele Grüße,
Marcel
@Xguide, JoWiemann: Sorry ich mache heute noch einen Fix - bitte morgen updaten die Korrektur von oben funktioniert leider nur beim normalen
OK, Fix ist eingechecked und jetzt sollte es auch bei der Verwendung mehrerer Empfänger keine Warnung mehr geben. Trotz der Warnung wurden die Nachrichten aber wohl verschickt.
Ab morgen ist die neue Version über update verfügbar
Ich glaube ich bin zu doof. ich hab jetzt schon einiges in Fhem geschafft, aber der Telebot ist für ich ein Rästel. Ich habe mir ein Notify gemacht, wo ich meine Heizkörper steuern kann und den Spripreis abfragen kann. Ich hänge das al an :
teleBot:msgText.* {
if ($EVTPART1 eq 'WohnzimmerEG') {
if ($EVENT =~ 'boost') {
fhem("set Thermostat_Wohnzimmer_EG desiredTemperature boost");
fhem("set teleBot send Erledigt")
}
elsif ($EVENT =~ 'auto') {
fhem("set Thermostat_Wohnzimmer_EG desiredTemperature auto");
fhem("set teleBot send Erledigt")
}
elsif ($EVENT =~ 'aus') {
fhem("set Thermostat_Wohnzimmer_EG desiredTemperature off");
fhem("set teleBot send Erledigt")
}
}
elsif ($EVTPART1 eq 'Spritpreis') {
my $spritPreis = ReadingsVal("OUT.Spritpreis", "Diesel", "");
fhem("set teleBot send Preis: $spritPreis");
}
if ($EVTPART1 eq 'WohnzimmerOG') {
if ($EVENT =~ 'boost') {
fhem("set Thermostat desiredTemperature boost");
fhem("set teleBot send Erledigt");
}
elsif ($EVENT =~ 'auto') {
fhem("set Thermostat desiredTemperature auto");
fhem("set teleBot send Erledigt");
}
elsif ($EVENT =~ 'aus') {
fhem("set Thermostat desiredTemperature off");
fhem("set teleBot send Erledigt");
}
}
if ($EVTPART1 eq 'Pond') {
if ($EVENT =~ 'Licht ein') {
fhem("set Unterwasserlicht on");
fhem("set teleBot send Licht eingeschaltet");
}
elsif ($EVENT =~ 'Licht aus') {
fhem("set Unterwasserlicht off");
fhem("set teleBot send Licht ausgeschaltet");
}
}
}
kann mir den jemand berichtigen? Ich bekomme einfach keine Antwort an die Person die die Anforderung schreibt.. Nachricht bekomme immer nur ich. Ausgefürt wird der Befehl aber.
Danke für eure Hilfe
Gruß Thomas
Hat das nicht geholfen?
https://forum.fhem.de/index.php/topic,38328.msg641796.html#msg641796
Gruß, Joachim
Hallo Thomas,
eigentlich wurde Dir die Lösung ja schon angeboten, aber da ich mein Notify gerade auf habe ;D
teleBot:msgText.* {
my $peer = ReadingsVal("teleBot","msgPeerId","undef");
if ($EVTPART1 eq 'WohnzimmerEG') {
if ($EVENT =~ 'boost') {
fhem("set Thermostat_Wohnzimmer_EG desiredTemperature boost");
fhem("set teleBot message \@".$peer." Erledigt - ".$EVTPART1." set to boost");
}
.
.
.
Schau mal ob das so funktioniert, ich benutze die Kontakte und dort muss das @ vorangestellt werden, laut Doku sollte das bei der peerID auch so sein....
Gruß Marcel
Zitat von: Tomsc1984 am 31 Mai 2017, 21:37:43
Ich glaube ich bin zu doof. ich hab jetzt schon einiges in Fhem geschafft, aber der Telebot ist für ich ein Rästel. Ich habe mir ein Notify gemacht, wo ich meine Heizkörper steuern kann und den Spripreis abfragen kann. Ich hänge das al an :
teleBot:msgText.* {
if ($EVTPART1 eq 'WohnzimmerEG') {
if ($EVENT =~ 'boost') {
fhem("set Thermostat_Wohnzimmer_EG desiredTemperature boost");
fhem("set teleBot send Erledigt")
}
elsif ($EVENT =~ 'auto') {
fhem("set Thermostat_Wohnzimmer_EG desiredTemperature auto");
fhem("set teleBot send Erledigt")
}
elsif ($EVENT =~ 'aus') {
fhem("set Thermostat_Wohnzimmer_EG desiredTemperature off");
fhem("set teleBot send Erledigt")
}
}
elsif ($EVTPART1 eq 'Spritpreis') {
my $spritPreis = ReadingsVal("OUT.Spritpreis", "Diesel", "");
fhem("set teleBot send Preis: $spritPreis");
}
if ($EVTPART1 eq 'WohnzimmerOG') {
if ($EVENT =~ 'boost') {
fhem("set Thermostat desiredTemperature boost");
fhem("set teleBot send Erledigt");
}
elsif ($EVENT =~ 'auto') {
fhem("set Thermostat desiredTemperature auto");
fhem("set teleBot send Erledigt");
}
elsif ($EVENT =~ 'aus') {
fhem("set Thermostat desiredTemperature off");
fhem("set teleBot send Erledigt");
}
}
if ($EVTPART1 eq 'Pond') {
if ($EVENT =~ 'Licht ein') {
fhem("set Unterwasserlicht on");
fhem("set teleBot send Licht eingeschaltet");
}
elsif ($EVENT =~ 'Licht aus') {
fhem("set Unterwasserlicht off");
fhem("set teleBot send Licht ausgeschaltet");
}
}
}
kann mir den jemand berichtigen? Ich bekomme einfach keine Antwort an die Person die die Anforderung schreibt.. Nachricht bekomme immer nur ich. Ausgefürt wird der Befehl aber.
Danke für eure Hilfe
Gruß Thomas
Ich wiederhole mich gerne - bitte sorgt bei solchen notfies dafür, dass Euer telegrambot abgesichert ist. In solch einem Fall greift nicht die normale Absicherung! Sonst kann hier jeder Eure Heizung steuern...
Generell ist aber nicht klar, warum keine Favoriten verwendet werden?
Vorteile aus meiner Sicht:
- Es kann über Menu der richtige Befehl ausgewählt werden
- Man kann sogar entsprechende Texte vorgeben
- Einfachere Absicherung
- Einfach erweiterbar
Hallo Viegener,
Du hast ja Recht, natürlich prüfe ich bei mir noch auf eine gültige peerID!
@Thomas, etwas erweitert - die gültigen Peers müssen natürlich eingetragen werden!
teleBot:msgText.* {
my $peer = ReadingsVal("teleBot","msgPeerId","undef");
if (($peer == "123456789") || ($peer == "234567890") || ($peer == "345678901")) {
if ($EVTPART1 eq 'WohnzimmerEG') {
if ($EVENT =~ 'boost') {
fhem("set Thermostat_Wohnzimmer_EG desiredTemperature boost");
fhem("set teleBot message \@".$peer." Erledigt - ".$EVTPART1." set to boost");
}
}
else
{
fhem("set teleBot message Warnung - unknown peer tries to send messages! peerID: $peer");
}
}
Guten Morgen
wenn mehre Favoriten angelegt werden, ist immer nur der Letzte aktiv.
attr MyBot favorites [Test1]=set HUEDevice18 on
attr MyBot favorites [Test2]=set HUEDevice17 on
attr MyBot cmdFavorites /cmd
verhält sich wie
attr MyBot favorites set HUEDevice18 on
attr MyBot favorites set HUEDevice17 on
attr MyBot cmdFavorites /cmd
Wie macht man das denn richtig ?
Gruß und danke
ZitatWie macht man das denn richtig ?
Wie im CommandREF beschrieben.
https://fhem.de/commandref.html#TelegramBot
Zitat von: geiercasi am 01 Juni 2017, 10:05:10
Guten Morgen
wenn mehre Favoriten angelegt werden, ist immer nur der Letzte aktiv.
attr MyBot favorites [Test1]=set HUEDevice18 on
attr MyBot favorites [Test2]=set HUEDevice17 on
attr MyBot cmdFavorites /cmd
verhält sich wie
attr MyBot favorites set HUEDevice18 on
attr MyBot favorites set HUEDevice17 on
attr MyBot cmdFavorites /cmd
Wie macht man das denn richtig ?
Gruß und danke
Wie schon von amenomade gesagt, das ist in der commandref beschrieben.
Es ist aber ein grundsätzliches Konzept in FHEM, dass Attribute
einen Wert haben. Wenn man demselben Attribut einen anderen Wert zuweist, dann ist der vorherige Wert weg. Das ist wie beim Radio, wenn man einen anderen Sender einstellt wird nur dieser gespielt (ähnliches gilt auch für Spotify) ;)
nach nochmaligem, aber aufmerksamen lesen, war es dann klar. Es steht ja auch extra dabei....
Multiple commands are separated by semicolon (;). This also means that only simple commands (without embedded semicolon) can be defined.
Danke euch.
Gruß
Zitat von: geiercasi am 01 Juni 2017, 22:03:32
nach nochmaligem, aber aufmerksamen lesen, war es dann klar. Es steht ja auch extra dabei....
Multiple commands are separated by semicolon (;). This also means that only simple commands (without embedded semicolon) can be defined.
Danke euch.
Gruß
Aua, das muss ich gleich korrigieren, denn ich habe vor einiger zeit auch doppelte Semikolons ermöglicht um mehrere Kommandos in einem Favoriten unterzubringen. Den Teil habe ich wohl übersehen
Ich hatte eben ein Problem mit 50_TelegramBot.pm line 3250
Hier der Eintrag aus dem Logfile:
2017.06.10 21:05:57 3: msg globalMsg: ID=xxx TYPE=push ROUTE=Telegram.James.Bot STATUS=OK PRIORITY=0 TITLE='' MSG='TalkToUser_Hermann 0 | | Mein Haus ... in Berlin-Frohnau:\nSomething went wrong: Modification of a read-only value attempted at ./FHEM/50_TelegramBot.pm line 3250.\n\n\nMöchtest Du wissen ... wer dort wohnt?'
Verursacht wird der Fehler reproduzierbar durch die Frage wie ist das haus vertikal gegliedert
.
Der zugehörige RiveScript-Teil sieht so aus:
+ wie ist [@artikel] [haus|wohnhaus] vertikal (gegliedert|strukturiert)
@ welche etagen gibt es im haus
+ welche (etagen|geschosse|ebenen) (sind|befinden sich|gibt es) (in|im) [deinem|eurem] (haus|wohnhaus)
- Mein Haus <bot location> gliedert sich ...
^ {@ zeige mir den hausschnitt}
^ \nMöchtest Du wissen ... wer dort wohnt?
+ (@schicke) [mir] [@artikel] (schnitt|hausschnitt) [@artikel] [hauses|wohnhauses] [zu]
- Hier ist der Schnitt meines Hauses <bot location>:
^ <call>perl send_telegram AE74_West_Gliederung.jpg</call>
Die Funktion perl send_telegram verschickt eine Grafik. Der entsprechende Chat-Befehl zeige mir den hausschnitt
funktioniert direkt abgesetzt einwandfrei. Im Zusammenhang mit dem Verweis {@ zeige mir den hausschnitt}
scheint es zu krachen. Seltsam. So eine Konstruktion verwende ich ansonsten sehr oft.
@hartenthaler: Sorry bisher verstehe ich leider nur Bahnhof - hast Du ein Szenario, dass ich das reproduzieren oder zumindest nachvollziehen kann? Ich benutze kein rivescript und auch den msg-Befehle nicht.
Zeile 3250 ist das lesen von Dateien - kommt mir komisch vor zu der Meldung - ist Deine Installation aktuell?
Was passiert denn eigentlich? Es sieht so aus, als ob msg die Fehlermeldung zu versenden versucht?
Das mit dem nachvollziehbaren Szenario wird wohl leider schwierig. Aber vielleicht hast Du trotzdem eine Idee.
Ja, ich denke mein System ist aktuell. Version ist 50_TelegramBot.pm 14424 2017-05-30 18:11:30Z viegener
Der Code in 50_TelegramBot.pm an der fehlerhaften Stelle passt zur aufgerufenen Funktion
3238 ######################################
3239 # read binary file for Phototransfer - returns undef or empty string on error
3240 #
3241 sub TelegramBot_BinaryFileRead($$) {
3242 my ($hash, $fileName) = @_;
3243
3244 return '' if ( ! (-e $fileName) );
3245
3246 my $fileData = '';
3247
3248 open TGB_BINFILE, '<'.$fileName;
3249 binmode TGB_BINFILE;
3250 while (<TGB_BINFILE>){
3251 $fileData .= $_;
3252 }
3253 close TGB_BINFILE;
3254
3255 return $fileData;
3256 }
Meine Funktion ist
#################################################################
### Nachrichten, Readings, Bilder, Dokumente und Plots ###
### per Telegram verschicken ###
#################################################################
# Beispiele:
# Textnachricht: send_telegram("Dies ist eine Nachricht.");
# Device, Reading: send_telegram("cv_Kalender","t_001_summary");
# Plot: send_telegram("SVG_FileLog_NETATMO_CO2");
# Bild (.jpg oder .png zur direkten Ansicht): send_telegram("picture.png");
# sonstiges Dokument (download): send_telegram("document.pdf");
# Der erste Übergabeparameter darf maximal einen Punkt enthalten, der die Dateierweiterung abtrennt bzw. die Textnachricht abschließt.
sub send_telegram($;$) {
my ($document, $reading) = @_;
my $device = "Telegram.James.Bot"; # device name of Telegram Bot
my $path = "./my_documents/"; # default path to documents, relative to fhem folder, e.g. /opt/fhem/my_documents/
if (defined $reading) { # reading (first parameter = device, second parameter = reading)
$document = ReadingsVal($document,$reading,"Error");
fhem ("set $device message $document");
} else { # message or plot or image or document
my @parts = split(/\./,$document);
if (@parts == 1) { # plot or message
if (exists($defs{$document})) { # plot
$document = "{ plotAsPng('".$document."') }";
fhem ("set $device cmdSend $document");
} else { # message
fhem ("set $device message $document");
}
}
else { # image or document
$document = $path.$document if (!-e $document);
if (-e $document) {
if ($parts[1] eq "png" or $parts[1] eq "jpg") { # image
fhem("set $device sendImage $document");
} else { # other document
fhem("set $device sendDocument $document");
}
} else {
Log3 'send_telegram', 1, "File not found";
return "File not found";
}
}
}
return undef;
}
Ich rufe meine Funktion send_telegram aus RiveScript heraus auf: send_telegram AE74_West_Gliederung.jpg
und das führt in dem Fall in meiner Funktion in der zwölftletzten Zeile zu fhem("set $device sendImage $document");
Das führt dann wohl zum Aufruf Deiner sub TelegramBot_BinaryFileRead
Die Datei AE74_West_Gliederung.jpg existiert und wenn ich die Funktion in RiveScript alleine aufrufe ("zeige mir den hausschnitt"), dann wird die Grafik im Chat korrekt angezeigt. Anders im eingebetteten Dialog: Dort gibt RiveScript erst ein paar Zeilen Text aus, veranlasst dann das Senden der Grafik und gibt dann noch eine Zeile Text aus. Und in dem Fall kommt es zur Meldung im FHEM-Logfile Something went wrong: Modification of a read-only value attempted at ./FHEM/50_TelegramBot.pm line 3250.
Wenn die Zeilennummer stimmt, dann wäre das 3250 while (<TGB_BINFILE>){
Das Ergebnis ist, dass FHEM zwar noch läuft, aber der Telegram-TALKTOME-RiveScript-Chat eingefroren ist und sich nur durch einen Neustart (reboot) des raspberrypi wieder in Gang bringen lässt.
Hast Du eine Idee, was ich testen könnte um das Problem weiter einzugrenzen? Wer genau produziert die Fehlermeldung? perl? Wie gesagt, mache ich das so ähnlich an anderen Stellen auch und schiesse in einem Dialog einfach eine Grafik oder ein Dokument dazwischen.
Viele Grüße
Hermann
Sorry, ich stehe derzeit ein Wenig auf dem Schlauch.
Ich möchte mir einen Wert wöchtenlich zusenden. Nur wie kann ich in mitten eines Textes ein Readingsval einbinden.
*20:00:00 {if ($wday==0 && (Value("AnzahSpeicher") ge "1")) {fhem("set Telegram msg Es sind" .ReadingsVal("AnzahlSpeicher","state",""))}}
Zitat von: TWART016 am 11 Juni 2017, 16:47:17
Sorry, ich stehe derzeit ein Wenig auf dem Schlauch.
Ich möchte mir einen Wert wöchtenlich zusenden. Nur wie kann ich in mitten eines Textes ein Readingsval einbinden.
*20:00:00 {if ($wday==0 && (Value("AnzahSpeicher") ge "1")) {fhem("set Telegram msg Es sind" .ReadingsVal("AnzahlSpeicher","state",""))}}
Vll nicht die erhoffte Antwort, aber sollte nicht
"set Telegram msg Es sind [AnzahlSpeicher:state]"
auch funktionieren?
Ansonsten vll eher in die Richtung?!
{
my $title = ReadingsVal("AnzahlSpeicher", "state", "");
{fhem("set Telegram msg Es sind $title};
}
Grüße
Zitat von: Esjay am 11 Juni 2017, 17:09:26
"set Telegram msg Es sind [AnzahlSpeicher:state]"
auch funktionieren?
Das reicht schon, danke.
"set Telegram msg Es sind [AnzahlSpeicher:state] im Speicher"
Zitat von: hartenthaler am 11 Juni 2017, 01:58:01
Das mit dem nachvollziehbaren Szenario wird wohl leider schwierig. Aber vielleicht hast Du trotzdem eine Idee.
Hast Du eine Idee, was ich testen könnte um das Problem weiter einzugrenzen? Wer genau produziert die Fehlermeldung? perl? Wie gesagt, mache ich das so ähnlich an anderen Stellen auch und schiesse in einem Dialog einfach eine Grafik oder ein Dokument dazwischen.
Ich habe mal recherchiert, weil meine perl-Kenntnisse da auch nicht wirklich ausreichen. Es geht wohl darum, dass in meiner Routine beim Lesen $_ mit Inhalt gefüllt wird. Wenn aber durch eine umgebende Schleife $_ als konstanter Wert verwendet wird zum Beispiel durch ein umgebendes
for (1,2). dann wird diese Fehlermeldung kommen. Das tritt wohl speziell mit for auf, da z.B. foreach immer lokalisiert. Offensichtlich funktioniert das immer problemlos nur wenn rivescript ins Spiel kommt gibt es Probleme.
Aber mach doch mal folgenden Versuch:
Füge im telegrambot modul - nach der Zeile:
my ($hash, $fileName) = @_;
noch eine Zeile ein:
my $_;
Und probiere es nochmals. Wenn das klappt, kann ich das in die offizielle Version aufnehmen
hat mal einer etwas für das folgende Szenario gebaut?:
es werden zeitgleich von mehreren DOIFs Nachrichten an Telegram gefeuert. Ich bekomme nun: mehrere Nachrichten!
Ich möchte aber gerne, dass alle Nachrichten die zeitgleich kommen nur in einer Nachricht dargestellt werden.
Also z.B. -> in einer Sekunde kommen 3 Nachrichten. Die werden abgefangen und gesammelt. Sobald x Sekunden keine Nachricht mehr kommt, werden die gesammelten Nachrichten mit einem Zeilenumbruch als eine Nachricht abgeschickt.
falls es das schon gibt würde ich gern kopieren;-)
Das Einfügen von
my $_;
hat das Problem gelöst und Nebenwirkungen sind ausgeblieben. Super! Danke!
Zitat von: hartenthaler am 16 Juni 2017, 22:15:12
Das Einfügen von
my $_;
hat das Problem gelöst und Nebenwirkungen sind ausgeblieben. Super! Danke!
OK, Danke fürs testen - ist eingechecked ins SVN und kommt übers nächste update
Hi,
seit dem Update gestern, bekomme ich bei jedem Start von FHEM die Warnung:
2017.06.19 17:16:42.538 1: PERL WARNING: Use of my $_ is experimental at ./FHEM/50_TelegramBot.pm line 3243.
2017.06.19 17:16:42.538 1: stacktrace:
2017.06.19 17:16:42.538 1: main::__ANON__ called by ./FHEM/50_TelegramBot.pm (3243)
2017.06.19 17:16:42.538 1: (eval) called by fhem.pl (2414)
2017.06.19 17:16:42.538 1: (eval) called by fhem.pl (2413)
2017.06.19 17:16:42.538 1: main::CommandReload called by fhem.pl (1828)
2017.06.19 17:16:42.538 1: main::LoadModule called by fhem.pl (1885)
2017.06.19 17:16:42.539 1: main::CommandDefine called by fhem.pl (1157)
2017.06.19 17:16:42.539 1: main::AnalyzeCommand called by fhem.pl (1021)
2017.06.19 17:16:42.539 1: main::AnalyzeCommandChain called by fhem.pl (1292)
2017.06.19 17:16:42.539 1: main::CommandInclude called by fhem.pl (528)
2017.06.19 17:16:42.544 3: TelegramBot_Define TelegramBotDevice: called
LG
Hallo zusammen,
habe ein kleines Problem mit den Favoriten.
Habe im Attribute "favorites" seither den Wert:
[Garage]=set ug_gr_tor_up_01 on
stehen.
Dieser wurde mir dann in Telegram als Favorit angezeigt.
Nun bekomme ich statt der Bestätigung zur Ausführung die Meldung: "Ergebnis: Unknown command [Garage]=set, try help"
hab schon etwas getestet und folgendes in Erfahrung gebracht:
Wenn ich im Attribute "favorites" nur "set ug_gr_tor_up_01 on" eintrage dann wird der Befehl auch ausgeführt.
Hat sich in der Syntax für die "Description" der Favoriten etwas geändert?
Hab fhem vor diesem Post auf den aktuellen Stand gebracht. Leider mit gleichem Ergebnis.
Hat jemand eine Idee?
Zitat von: Jump2016 am 19 Juni 2017, 22:08:23
Hallo zusammen,
habe ein kleines Problem mit den Favoriten.
Habe im Attribute "favorites" seither den Wert:
[Garage]=set ug_gr_tor_up_01 on
stehen.
Dieser wurde mir dann in Telegram als Favorit angezeigt.
Nun bekomme ich statt der Bestätigung zur Ausführung die Meldung: "Ergebnis: Unknown command [Garage]=set, try help"
hab schon etwas getestet und folgendes in Erfahrung gebracht:
Wenn ich im Attribute "favorites" nur "set ug_gr_tor_up_01 on" eintrage dann wird der Befehl auch ausgeführt.
Hat sich in der Syntax für die "Description" der Favoriten etwas geändert?
Hab fhem vor diesem Post auf den aktuellen Stand gebracht. Leider mit gleichem Ergebnis.
Hat jemand eine Idee?
Kann ich bestätigten..Habe es lange nicht genutzt,und jetzt das von dir beschriebene Verhalten.Mal schauen was viegener dazu sagt.
Grüße
Hatte ich auch.
TelegramBot FHEM - Befehl:[Buttons]=set teleBotL queryInline @12345678 @234567123 (VRmax) (VRein|VRaus|VRmax|VRmaxoff) (VR_0|VR_1|VR_2|VR_3|VR_A) Lüftung: - Ergebnis:
Unknown command [Buttons]=set, try help.
Alte Version retour. Passt wieder.
lg
Wolfgang
@Esjay / Jump2016 - ja an den Favoriten hat sich doch in letzter Zeit einiges verändert, aber mir ist nicht klar, was ihr genau definiert habt?
Was steht in cmdFavorites und was genau in favorites?
ohne einen / am Anfang wird immer der ganze Favorit als Kommando interpretiert, das sollte auch schon immer so sein, da man sonst keine Kommandos mit eckigen Klammern eingeben könnte.
Also einfach mal vor die Favoritendefinition ein / einfügen, klappt es dann wieder?
Zitat von: viegener am 20 Juni 2017, 23:06:55
@Esjay / Jump2016 - ja an den Favoriten hat sich doch in letzter Zeit einiges verändert, aber mir ist nicht klar, was ihr genau definiert habt?
Was steht in cmdFavorites und was genau in favorites?
ohne einen / am Anfang wird immer der ganze Favorit als Kommando interpretiert, das sollte auch schon immer so sein, da man sonst keine Kommandos mit eckigen Klammern eingeben könnte.
Also einfach mal vor die Favoritendefinition ein / einfügen, klappt es dann wieder?
Guten Morgen,
in meinem cmdFavorites steht stumpf "F" drin, und unter favorites dann"
[TV an]=set TV on;[TV aus]=set TV aus;
usw" Wie bereits gesagt, hat das schon länger funktioniert.
So
/[TV an]=set TV on;/[TV aus]=set TV aus;
funktioniert es wieder.
Gruß
Zitat von: Esjay am 21 Juni 2017, 08:20:53
Guten Morgen,
in meinem cmdFavorites steht stumpf "F" drin, und unter favorites dann"[TV an]=set TV on;[TV aus]=set TV aus;
usw" Wie bereits gesagt, hat das schon länger funktioniert.
So
/[TV an]=set TV on;/[TV aus]=set TV aus;
funktioniert es wieder.
Gruß
Schön, dann war das vorherige Verhalten leider ein Fehler. Für die Angabe eines Beschreibungstextes sollte eigentlich immer ein / vor der Favoriten definition stehen, dieses soll ausschliessen dass fälschlicherweise ein Kommando mit eckigen Klammern als Beschreibung erkannt wird.
läuft mit dem "/"
attr teleBotT favorites /[Buttons]=set teleBotT queryInline..................
Danke
lg
Wolfgang
Bei mir tuts jetzt auch wieder :)
Danke für den Hinweis
Was bedeutet das ...queryInline
attr teleBotT favorites /[Buttons]=set teleBotT queryInline..................
Zitat von: Marlen am 27 Juni 2017, 12:08:21
Was bedeutet das ...queryInline
attr teleBotT favorites /[Buttons]=set teleBotT queryInline..................
Damit kannst du dir eigene Bedienfelder zuschicken lassen. Schau mal hier, unter dem Punkt 4.2 https://wiki.fhem.de/wiki/Modul_PostMe
Gruß
Ich steuere damit das ganze Haus. Hier z.B. meine Temperaturüberwachung! Ich kann mir dann auf Knopfdruck die Temperaturen oder Plot senden lassen.
#Telegram Temperatur
define teleBotT TelegramBot
attr teleBotT allowUnknownContacts 0
attr teleBotT cmdFavorites /s
attr teleBotT cmdKeyword d
attr teleBotT cmdRestrictedPeer 999999999
attr teleBotT cmdReturnEmptyResult 0
attr teleBotT defaultPeer 999999999
attr teleBotT favorites /[Buttons]=set teleBotT queryInline @999999999 (T_W|T_WZ|T_L|T_VR) (T_Aus|T_Pool|T_SK) (Temperaturkurve:Temp) Temperaturen
attr teleBotT pollingTimeout 120
attr teleBotT room Telegram
define teleBotT1 notify teleBotT:queryData.*Temp set svgsend on
define teleBotT2 notify teleBotT:queryData.*T_VR set teleBotT message @{( return sprintf("%.0f", ReadingsVal("teleBotxx1","state",0)) )} Temp Vorraum {( return sprintf("%.1f C°", ReadingsVal("DS18B20_C29AB2070000","temperature",0)) )}
define teleBotT3 notify teleBotT:queryData.*T_SK set teleBotT message @{( return sprintf("%.0f", ReadingsVal("teleBotxx1","state",0)) )} Temp Sommerküche {( return sprintf("%.1f C°", ReadingsVal("Hideki_30_5","temperature",0)) )}
define teleBotT4 notify teleBotT:queryData.*T_Pool set teleBotT message @{( return sprintf("%.0f", ReadingsVal("teleBotxx1","state",0)) )} Temp Pool {( return sprintf("%.1f C°", ReadingsVal("DS18B20_FF532A361604","temperature",0)) )}
define teleBotT5 notify teleBotT:queryData.*T_W set teleBotT message @{( return sprintf("%.0f", ReadingsVal("teleBotxx1","state",0)) )} Temp Wolfgang {( return sprintf("%.1f C°", ReadingsVal("DS18B20_7F48B3070000","temperature",0)) )}
define teleBotT6 notify teleBotT:queryData.*T_WZ set teleBotT message @{( return sprintf("%.0f", ReadingsVal("teleBotxx1","state",0)) )} Temp Wohnzimmer {( return sprintf("%.1f C°", ReadingsVal("Temp_WZ","Temperatur",0)) )}
define teleBotT7 notify teleBotT:queryData.*T_L set teleBotT message @{( return sprintf("%.0f", ReadingsVal("teleBotxx1","state",0)) )} Temp Lina {( return sprintf("%.1f C°", ReadingsVal("DS18S20_7D7319030800","temperature",0)) )}
define teleBotT8 notify teleBotT:queryData.*T_Aus set teleBotT message @{( return sprintf("%.0f", ReadingsVal("teleBotxx1","state",0)) )} Temp Aussen {( return sprintf("%.1f C°", ReadingsVal("DS18B20_FFB804361603","temperature",0)) )}
lg
Wolfgang
Hmm....naja, schön ist das schon!
Ich hab mir jetzt ein paar Buttons angelegt, die auch im Telegram erscheinen wenn ich "F" sende. Dann erscheint auch das Symbol in der Eingabezeile, wo ich umschalten kann zwischen Tastaur und den Buttons. ....aber irgendwann ist das auch plötzlich wieder weg! Warum???? Dann muss ich wieder ein F senden.
Kann man auch irgendwie die Ergebnis-Antwort ausschalten, die bei jeden Button betätigen kommt?
Ich hab mein Bedien-Menü bis jetzt so aufgebaut!
}elsif ( $EVENT eq 'msgText: /GARAGENTOR' ) {
fhem "set teleBot message @" . ReadingsVal("teleBot","msgPeerId","") . "
++++++++++ Untermenü +++++++++
Garagentor aktuell: ".Value("Garage_dummy") . "
/Garagentor_ZU
/Garagentor_AUF
++++++++++++++++++++++++++++";;
############################################### INFO #####################################################
}elsif ( $EVENT eq 'msgText: /INFO' ) {
fhem "set teleBot message @" . ReadingsVal("teleBot","msgPeerId","") . "
++++++++++ Untermenü +++++++++
/PV_Info
/Kamera
/Waschmaschine_Info
/Wasser_Gas_Info
/Strom_Info
/System_Satistik
/Personen_Status
/Warmwasser_Info
/Wasser_messen
++++++++++++++++++++++++++++";;
############################################### HAUSTUER #####################################################
}elsif ( $EVENT eq 'msgText: /HAUSTUER' ) {
fhem "set teleBot message @" . ReadingsVal("teleBot","msgPeerId","") . "
++++++++++ Untermenü +++++++++
/Tueroeffner_freischalten (10 Min.)
/Klingel_AN
/Klingel_AUS
/Urlaubmodus_AN
/Urlaubmodus_AUS
++++++++++++++++++++++++++++";;
############################################### HEIZUNG #####################################################
}elsif ( $EVENT eq 'msgText: /HEIZUNG' ) {
fhem "set teleBot message @" . ReadingsVal("teleBot","msgPeerId","") . "
++++++++++ Untermenü +++++++++
Warmwassertemp. = ".round(ReadingsVal("WarmWasser","temperature",""),1)."°C
/Warmwasser_Info
/Warmwasser_auf_44
/Warmwasser_Nachladen (nur im WLAN)
++++++++++++++++++++++++++++";;
############################################### TEST #####################################################
}elsif ( $EVENT eq 'msgText: /TEST' ) {
fhem "set teleBot message @" . ReadingsVal("teleBot","msgPeerId","") . "
++++++++++ Untermenü +++++++++
/Sensor_Test (Scharf_Test)
/Sirene_DG (1Sek.)
/Sirene_EG (1Sek.)
/Sirene_KG (1Sek.)
/Aussensirene (1Sek.)
/Rauchmelder_Team (1Sek.)
++++++++++++++++++++++++++++";;
############################################### EINSTELLUNGEN #####################################################
}elsif ( $EVENT eq 'msgText: /EINSTELLUNGEN' ) {
fhem "set teleBot message @" . ReadingsVal("teleBot","msgPeerId","") . "
++++++++++ Untermenü +++++++++
/Anlage_AN
/Anlage_AUS
/bis_6_Uhr_scharf
/Innensirene_aktiv
/Innensirene_inaktiv
/Aussensirene_aktiv
/Aussensirene_inaktiv
/Klingel_AN
/Klingel_AUS
/Urlaubmodus_AN
/Urlaubmodus_AUS
/Wasseruhr_setzen
/Gaszaehler_setzen
/Stromzaehler_setzen
/Anwesenheitssimulation_AN
/Anwesenheitssimulation_AUS
/RasPi_Neustarten
/RasPi_Herunterfahren
/Fernzugriff
++++++++++++++++++++++++++++";;
##################################### Befehl nicht verstanden ############################################
} else {
Hauptmenue:
fhem "set teleBot message @" . ReadingsVal("teleBot","msgPeerId","") . "
+++++++++ Hauptmenü +++++++++
/Info_Alarmanlage
/INFO
/HAUSTUER
/GARAGENTOR
/TEST
/HEIZUNG
/EINSTELLUNGEN
/Spritpreise
++++++++++++++++++++++++++++";;
}
Das kann ich sicher nicht alles in Buttons machen, aber vielleicht wirklich nur ein paar Favoriten!
LG
Marlen
Hallo Zusammen,
kurze Frage zum senden:
Ein Text verschicke ich mit "set TelegramBot message @xxxxxx Dies ist der Text
Ein Bild verschicke ich mit "set TelegramBot sendPhoto @xxxxxxx /opt/fhem/bilder/blumen.jpg"
Ist es möglich mit einem Befehl Text und Bild gleichzeitig zu senden?
Hallo Piet,
ja das geht.
Zitat
CmdRef:
sendImage|image [ @<peer1> ... @<peerN>] <file> [<caption>]
Sends a photo to the given peer(s) or if ommitted to the default peer. File is specifying a filename and path to the image file to be send. Local paths should be given local to the root directory of fhem (the directory of fhem.pl e.g. /opt/fhem). Filenames with special characters (especially spaces) need to be given with url escaping (i.e. spaces need to be replaced by %20). Rules for specifying peers are the same as for messages. Multiple peers are to be separated by space. Captions can also contain multiple words and do not need to be quoted.
Caption ist also dein Text Parameter.
Sieht dann ungefähr so aus:
Ungetestet:
Zitat
fhem "set TelegramBot sendImage @xxxxx /opt/fhem/bilder/blumen.jpg Blumengruß von Piet.";
BTW: gibt es sendPhoto überhaupt?
ZitatBTW: gibt es sendPhoto überhaupt?
Laut Wiki ja:
https://wiki.fhem.de/wiki/TelegramBot#Versand_von_Bildern
Wie du im Anhang siehst, hat es funktioniert. :) Vielen Dank.
Sehr gerne :-)
sendPhoto ist in der commandref nicht dokumentiert, war mir aber auch schon mal aufgefallen das es augenscheinlich mehrere Möglichkeiten gibt.
Ein Blick ins Modul verrät das sowohl sendImage, sendPhoto als auch image gehen würden....
if ( ($cmd eq 'sendPhoto') || ($cmd eq 'sendImage') || ($cmd eq 'image') ) {
$sendType = 1;
Hallo,
ich hab nach ner Möglichkeit gesucht ein InlineKeyboardButton von Typ URL zu versenden und hab es folgendermaßen realisiert.
Die Zeile if ( $keytext =~ /^\s*(.*):([^:]+)\s*$/ ) {
durch if ( $keytext =~ /^\s*([^:]+):(.*)\s*$/ ) {
und die Zeile my %oneKey = ( "text" => $keytext, "callback_data" => $keydata );
durch
my %oneKey;
if ( $keydata =~ /^http[s:]\/\/.*$/ ) {
%oneKey = ( "text" => $keytext, "url" => $keydata );
} else {
%oneKey = ( "text" => $keytext, "callback_data" => $keydata );
}
ersetzt.
Nun kann man via queryInline (ButtonMitURL:http://forum.fhem.de) Nachricht
ein URL Button erstellen.
Vielleicht kann man es ja (gerne auch in Abgeänderter Form) übernehmen.
Lieben Gruß und vielen Dank für das tolle Modul.
Jan
Dumme Frage: Was kann ein URL-Button? Macht der einfach die Webseite im Browser auf, wenn man drauf klickt?
@Carsten: Im prinzip schon, er zeigt aber auch eine Vorscau der Webseite an (wenn das nicht deaktiviert ist)
Im Prinzip müssten sich mit einem URL-Button zumindest unter Android auch andere Apps steuern lassen. Jede App kann ja eigene Protokolle im System registrieren.
Hallo,
gibt es eine Möglichkeit an die Geodaten (longitude und latitude) des Users zu kommen ala GetLocation(...) ohne dem User einen Button anzubieten ?
Gruß,
wbini
Zitat von: wbini am 08 August 2017, 15:52:56
Hallo,
gibt es eine Möglichkeit an die Geodaten (longitude und latitude) des Users zu kommen ala GetLocation(...) ohne dem User einen Button anzubieten ?
Gruß,
wbini
Also Überwachung?
Zitat von: Esjay am 08 August 2017, 16:04:05
Also Überwachung?
Ja, würde mich gerne selbst überwachen, also stündlich meine Geodaten abfragen und speichern.
Zitat von: wbini am 08 August 2017, 15:52:56
gibt es eine Möglichkeit an die Geodaten (longitude und latitude) des Users zu kommen ala GetLocation(...) ohne dem User einen Button anzubieten ?
Mir ist dazu keine Möglichkeit über den Bot bekannt. Es müsste aber möglich das Versenden per IFTTT oder ähnlichem (Tasker ?) auf dem Telefon zu machen und ein Trigger könnte dann wieder eine bestimmte Nachricht sein.
Als Bot-Funktion wäre das aus meiner Sicht eher ein Problem für die Privatsphäre
ZitatJa, würde mich gerne selbst überwachen, also stündlich meine Geodaten abfragen und speichern.
Ja das geht zB. mit
{
my @pos=split(/,/,ReadingsVal("livetracking","location",""));
fhem "set fhemBot sendLocation $pos[0] $pos[1]";
}
Siehe dazu den livetracking Thread hier: https://forum.fhem.de/index.php/topic,37412.135.html (https://forum.fhem.de/index.php/topic,37412.135.html)
VG Sebastian
Zitat von: binford6000 am 10 August 2017, 08:22:19
Ja das geht zB. mit
{
my @pos=split(/,/,ReadingsVal("livetracking","location",""));
fhem "set fhemBot sendLocation $pos[0] $pos[1]";
}
Siehe dazu den livetracking Thread hier: https://forum.fhem.de/index.php/topic,37412.135.html (https://forum.fhem.de/index.php/topic,37412.135.html)
Nur der Vollständigkeit halber: Hier sendest Du die Information über die Position per TelegramBot an den Benutzer, die Anfrage war, ob das über TelegramBot vom Benutzer abgefragt werden kann (ohne Button). Trotzdem löst das livetracking vermutlich das Problem von wbini
ZitatTrotzdem löst das livetracking vermutlich das Problem von wbini
Das denke ich auch - mit oder ohne Button ;)
alles klar, danke für die Info.
Guten Morgen.
Ich habe jetzt hier den ganzen Thread durchgelesen, gegooglet und rum probiert aber komme nicht weiter.
Mein ziel ist es, mir mehrer DOIF zu erstellen, die ich für Telegram nutze aber ich scheitere am Perl. Perl ist für mich ein Buch mit sieben Siegeln.
1. Ein DOIF, wo ich die Temperaturen, der Heizkürper und des Außenthermometers abrufen kann.
2. Ein DOIF, was eine Meldung schickt, wenn Batterien leer werden.
3. Ein DOIF, was zum bestimmten Zeitpunkt mir bestimmte Temperaturen meldet.
Ein notify zum schalten diverse Geräte ist vorhanden und funktioniert. Somit ist sicher, das der Bot richtig eingerichtet ist und funktioniert.
Kann mir bitte jemand helfen?
Danke.
Hab nicht genau verstanden was du erreichen willst...
1. Du willst eine Nachricht per Telegram an fhem schicken und Werte erhalten? (Gut bei dem Batterie-Dingens läuft es wohl andersrum)
2. Du willst bei bestimmten Situationen (da passt dann auch das mit Batterie) eine Nachricht bekommen?
Bei 1. mal nach chatbot suchen bzw.:
https://forum.fhem.de/index.php?topic=51425.0
Bei 2. (da das Verschicken wohl geht) eher eine gezielte Frage im Bereich DOIF bzw. zu Batteriewarnung schicken gibt es gefühlt 100000 Threads. Mit Temperatur geht es ja dann analog (nur andere Geräte, andere Readings und andere Schwellwerte)...
Gruß, Joachim
Hallo Joachim.
Den Thread, auf den Du verweist, war meine erste Anlaufstelle und da wurde ich nach hier verwiesen.
Zitat von: ErzGabriel am 12 August 2017, 07:29:59
1. Ein DOIF, wo ich die Temperaturen, der Heizkürper und des Außenthermometers abrufen kann.
So hatte ich das mal gelöst, bevor ich das alles in eine Funktion in die 99_myUtils ausgelagert habe bzw. in den ChatBot:
define DI_Status DOIF ([09:00|8] or [13:00|8] or [19:00|8] and [Key_Uwe] eq "on") (set myTeleBot msg Temp [Temp.Aussen:temperature] || AZ [Temp.AZ:temperature] || GZ [FHT.GZ:temperature] / [FHT.GZ:battery] / [FHT.GZ:windowsensor] / [Fenster.GZ:Window] || WZ [FHT.WZ:temperature] / [FHT.WZ:battery] / [FHT.WZ:windowsensor] / [Fenster.WZ:Window] || Bad [FHT.Bad:temperature] / [FHT.Bad:battery] / [FHT.Bad:windowsensor] / [Fenster.Bad:Window] || SZ [FHT.SZ:temperature] / [FHT.SZ:battery] / [FHT.SZ:windowsensor] / [Fenster.SZ:Window])
Das DOIF hat Wochentags um 9, 13 und 18h die Temperaturen der Sensoren und den Status der FHT ausgelesen und verschickt, wenn mein Schlüssel nicht am Brett hing.
Hast Du Dir das so vorgestellt?
Gruß
Uwe
Jo, genau sowas suche ich. Danke.
Aber muss da nicht noch was in die Utils, weil der Bot doch nur Text überträgt und so kriege ich doch nicht die Werte rein. Oder verstehe ich das jetzt falsch?
Da muss nichts in myUtils. Das DOIF holt sich die Werte von den Devices und schickt sie los. Ersetze doch einfach mal meine Device-Namen mit Deinen.
Und weshalb sollte der Bot nur Text übertragen?
Okay, werde ich machen. Danke Dir.
Mit dem Text war schlecht ausgedrückt. Hatte wo gelesen, das der Bot keinen Perlcode umsetzen kann und nur den text rausschickt.
Edit:
Habe ich auf meine Device umgebaut und funktioniert bestens. Danke.
Hast du auch einen tipp für mich, wie ich eine Abfrage machen kann, weil baue ich das ganze um, das ich zum Beispiel an FHEM Außentemperatur sende, passiert nichts. Der Umbau sieht wie folgt aus:
define n_ChatMH notify Jarvis:msgText.* {\
if ($EVTPART1 eq 'Außentemperatur') {\
fhem("set Jarvis _msg Die Außentemperatur beträgt [THERMOMETER:temperature]");;\
}\
elsif ($EVTPART1 eq 'Büro') {\
if ($EVENT =~ 'an') {\
fhem("set LSR_BUERO on");;\
}\
elsif ($EVENT =~ 'aus') {\
fhem("set LSR_BUERO off");;\
}\
}\
elsif ($EVTPART1 eq 'Wohnzimmer') {\
if ($EVENT =~ 'an') {\
fhem("set VITRINE on");;\
}\
elsif ($EVENT =~ 'aus') {\
fhem("set VITRINE off");;\
}\
}\
elsif ($EVTPART1 eq 'Schlafzimmer') {\
if ($EVENT =~ 'an') {\
fhem("set LSR_BED on");;\
}\
elsif ($EVENT =~ 'aus') {\
fhem("set LSR_BED off");;\
}\
}\
elsif ($EVTPART1 eq 'Küche') {\
if ($EVENT =~ 'an') {\
fhem("set LSR_KUECHE on");;\
}\
elsif ($EVENT =~ 'aus') {\
fhem("set LSR_KUECHE off");;\
}\
}\
}
Wobei alle anderen Einträge funktionieren.
Hallo Zusammen,
seit längerer Zeit verwende ich es zum Versenden von Telegramnachrichten.
Es werden z.B. Bilder der Webcams nach Bewegungserkennung an mein Handy gesendet. Funktionierte bisher alles perfekt!
Seit ca. 1 Woche läuft mein Fhem Amok (nach Neustart). Das Versenden der Photos funktioniert zwar, aber es kommt anscheinend keine Bestätigungsnachricht an. Daraufhin versucht es das Telegrammodul automatisch im Sekundentakt nachmal zu versenden. Somit werde ich zugespamt. Einzige Abhilfe ein Reset des Telegrammodul im Fhem (set TelegramBot reset).
Es handelt sich um folgende Fehlermeldungen (im Sekundentakt):
Callback returned no valid JSON: JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/50_TelegramBot.pm line 2092.
pollingTimeout ist auf 120.
Es wird die aktuellste Version aus Github verwendet.
Ich habe es auch bereits mit einem neuen Bot probiert, jedoch ohne Besserung.
Interessanterweise bekomme ich auch beim Wettermodul zyklisch eine ähnliche Meldung:
2017.08.12 23:58:02 3: Wetter: JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at FHEM/YahooWeatherAPI.pm line 247.
Ich vermute, dass es irgendwie an meiner Debian-Installation liegt. Die libjson-perl ist auf dem aktuellen Stand.
Danke!!!
Gruß
Viktor
@smart.builder:
- Wenn Du im Sekundentakt zugespammt wirst stellt sich die Frage, wer macht diese Sendebefehle - Der Bot versendet normalerweise bei Fehlern mit ansteigender Wartezeit 1, 10, 100 Sekunden. Das sollte nicht im Sekundentakt passieren und eigentlich auch nicht endlos.
Frage: Wie steht der Wert des Attributes maxRetries?
- Kannst Du mal beim Bot das Attribut verbose 5 stellen und dann den Logausschnitt im Fehlerfall hier posten?
@ErzGabriel: Der Ausführungsteil funktioniert in der Form bei mir. Das "if" reagiert dann wohl nicht.
Das IF reagiert aber, wenn ich was anderes daraus aufrufe.
Alles was ich im IF eingetragen habe, kann ich nutzen, ausser die Temperaturabfrage. Tippe ich die Temperaturabfrage so in die Befehlszeile ein, klappt sie auch, nur nicht im notify in der IF Schleife. Und da verstehe ich nicht warum.
@smart.builder: Ok erste Erkenntnis - das mit dem Zuspammen im Sekundentakt ist wirklich ein Fehler, die Logik mit steigender Dauer das Wiederversenden zu machen und das Abbruchkriterium war deaktiviert.
Habe gerade eine neue Versions in svn eingechecked mit 2 Veränderungen
- rename von bots in fhem funktioniert jetzt wie erwartet
- bei sendefehlern werden die folgeversuche erst nach Verzögerung durchgeführt
Danke Viegener.
maxRetries ist auf 0.
Nach dem letzten Update klappt es besser. Es werden keine automatischen Retries ausgelöst.
Meine Nachrichten werden zwar verschickt und kommen an, die JSON - Callback Fehlermeldung kommt aber immer noch.
Mit Verbose 5 stand folgendes im Logfile (meine IDs, Namen usw. habe ich ersetzt):
2017.08.15 09:24:42 4: TelegramBot_Set TelegramBot: called
2017.08.15 09:24:42 4: TelegramBot_Set TelegramBot: Processing TelegramBot_Set( sendPhoto )
2017.08.15 09:24:42 5: TelegramBot_Set TelegramBot: start send for cmd :sendPhoto: and sendType :1:
2017.08.15 09:24:42 5: TelegramBot_SendIt TelegramBot: called
2017.08.15 09:24:42 5: TelegramBot_SendIt TelegramBot: try to send message to :xxx: -:/123/456/Photo.jpg: - :<undef>:
2017.08.15 09:24:42 4: TelegramBot_GetFullnameForContact # Contacts is 11111111:xxx:@zzz:
2017.08.15 09:24:42 4: TelegramBot_GetFullnameForContact # name is xxx
2017.08.15 09:24:42 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.15 09:24:42 4: TelegramBot_SendIt TelegramBot: Filename for image file :/123/456/Photo.jpg:
2017.08.15 09:24:42 4: TelegramBot_SendIt TelegramBot: timeout for sent :30:
2017.08.15 09:24:42 5: TelegramBot_Set TelegramBot: sendPhoto done succesful:
2017.08.15 09:24:43 5: TelegramBot_Callback TelegramBot: called from SendIt
2017.08.15 09:24:43 5: TelegramBot_Callback TelegramBot: data returned :{"ok":true,"result":{"message_id":555555,"from":{"id":222222222,"first_name":"ttt_bot","username":"ttt_bot"},"chat":{"id":111111111,"first_name":"xxx","username":"zzz","type":"private"},"date":111111111111,"photo":[{"file_id":"qwertz","file_size":1044,"file_path":"photos/3423423432432428.jpg","width":90,"height":51},{"file_id":"qwertz","file_size":16768,"width":320,"height":180},{"file_id":"qwertz","file_size":79019,"width":800,"height":450},{"file_id":"qwertz","file_size":81244,"width":1280,"height":720}]}}:
2017.08.15 09:24:43 5: TelegramBot_Callback TelegramBot: after encoding
2017.08.15 09:24:43 3: TelegramBot_Callback TelegramBot: resulted in Callback returned no valid JSON: JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/50_TelegramBot.pm line 2104.
from SendIt
2017.08.15 09:24:43 4: TelegramBot_Callback TelegramBot: retry count so far 1 (max: 0) for msg xxx : /123/456/Photo.jpg
2017.08.15 09:24:43 3: TelegramBot_Callback TelegramBot: Reached max retries (ret: Callback returned no valid JSON: JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/50_TelegramBot.pm line 2104.
) for msg xxx : /123/456/Photo.jpg
Gruß
Viktor
@smart.builder: Ich kann nicht erkennen, dass an dem JSON-String etwas problematisch ist und bisher bist Du der einizige, den ich kenne, bei dem ein Problem auftritt mit JSON. Ich vermute auch, dass es mit der JSON-Version/Variante in Deienr Installation zusammenhängt. Eine kurze Recherche hat nur ergeben, dass die einfache perl-json-Unetrstützung nicht threadsafe ist, es könnte also passieren, dass das Problem auftritt, wenn im Hintergrund von einem anderen Thread gerade auch JSON-Bearbeitet wird.
Es gibt wohl eine CPAN-Json-XS-Bibliothek, die threadsafe wäre, vielleicht kannst Du ja die mal verwenden:
https://metacpan.org/pod/Cpanel::JSON::XS (https://metacpan.org/pod/Cpanel::JSON::XS)
Hallo,
seit dem letzten Update vom 14.08.2017 funktioniert TelegramBot bei mir nicht mehr. Nachrichten werden nicht geschickt, der Bot reagiert nicht und ich erhalte z.B. folgende Fehlereinträge:
2017.08.15 17:48:40 3: TelegramBot_Callback TeleBot: resulted in NonBlockingGet: returned write to https://api.telegram.org:443 timed out from SendIt
2017.08.15 17:48:40 3: TelegramBot_Callback TeleBot: Reached max retries (ret: NonBlockingGet: returned write to https://api.telegram.org:443 timed out) for msg ...
Nach dem Rücksetzen auf die Version vor dem Update funktioniert Telegram fehlerfrei wie gewohnt.
MfG Achim
Nachtrag:
Hatte gerade auch mit der alten Version einen Fehler, den ich so regelmäßig mit der neuen Version hatte:
2017.08.15 18:09:58 3: TelegramBot_Callback TeleBot: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first from SendIt
Danach kam die Meldung vom Bot aber doch - allerdings verspätet
@awel Wann war denn vor dem Update am 14.8. Dein letztes Update?
(Die Änderungen vom Wochenende sind relativ unkritisch für den Verbindungsaufbau)
Hast Du bei dem Update auch noch etwas anderes geändert (Server, perl, etc )?
Tritt das Problem nur einmalig auf oder dauernd?
Wird auch nichts mehr empfangen?
ZUm Nachtrag: Das Problem tritt nach einem Neustart gelegentlich auch bei mir auf, dies halte ich bisher für einen perl-Fehler, denn darauf weisen die google-quellen hin...
@viegener:
Danke für die schnelle Reaktion! Zu Deinen Fragen:
- Das letzte Update vorher war am 13.08.14
- Ich habe nichts weiter geändert, nur brav Updates von fhem durchgeführt
- In den Logs der letzten 4 Wochen finden sich keine Fehlereinträge zu Telegram, auch nicht der im Nachtrag gemeldete Eintrag nach einem Neustart. Telegram hat bisher sogar einen Neustart immer problemlos gemeldet. Es finden sich nur Einträge wie "Line 1077: 2017.08.11 00:00:28 3: TelegramBot_Callback TeleBot: Digest: Number of poll failures on 2017-08-10 is :0:", evtl. auch mal mit Wert 1 oder 2. Sieht eigentlich alles gut aus.
- Einmalig oder dauernd? Ich habe es erst heute bemerkt, da Telegram nicht funktionierte - es wird aber auch nicht jeden Tag gefordert. TelegramBot müsste zumindest bei der oben geposteten Fehlermeldung empfangen haben: Die Message sollte eine Antwort von fhem auf eine Anfrage per Telegram sein, die muss also empfangen und ausgewertet worden sein.
Besten Dank und Gruß,
Achim
@haus-automatisierung.com: Seit wann passiert das bei Dir? Du beschreibst zwei Probleme - Hängen von FHEM und dann der SSLwants a read first. Kannst Du etwas genauer beschreiben seit wann welches Problem auftrutt?
Irgendwie its hier https://forum.fhem.de/index.php/topic,75464.0.html (https://forum.fhem.de/index.php/topic,75464.0.html) eine ähnliche Beschreibung, aber ich bin nicht sicher, ob dasa wirklich so ist.
Hast Du nur bei Telegrambot ein verbose 5 gesetzt
Zitat von: haus-automatisierung.com am 16 August 2017, 00:01:41
Ich habe das Problem ebenfalls seit heute. FHEM hängt sich komplett weg für ein paar Minuten. Dann kommt es wieder und der erste Eintrag im Log sieht so aus:
Ich habe seit gestern genau das gleiche Problem, alle paar Minuten hängt sich FHEM für ca. 4min weg.
Im Log sehe nur diese Fehlermeldung:
TelegramBot_Callback WEB_Telegram: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first from Polling
Hab jetzt erstmal Telegram in der fhem.cfg auskommentiert, seit dem sind die Hänger weg.
Bei mir auch dasselbe! :'(
Aufgefallen ist mir das gestern Abend.
Die Web-GUI ist nur sporadisch für kurze Zeit erreichbar, darum fällt mir es auch schwer in das LOG zu schauen. Automatische Operationen (Notifies, DOIFs, ect.) werden teilweise auch sehr verzögert ausgeführt.
Das Polling vom TelegramBot auf 0 zu setzen scheint erstmal zu helfen!
+1
dito, bei mir auch das gleiche:
2017.08.15 22:02:47.773 2: TelegramBot_DoUrlCommand TelegramBot: FAILED http access returned error :https://api.telegram.org/bot123456789:AaBbCcDdEeFfGgHhIiJjKk_L123M_NnOoPpQq/getMe: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first:
Fhem gekillt - TelegramBot auskommentiert - danach läuft's wieder rund.
kann ich so bestätigen.
Bei mir keine Ausfälle. Hab auf 4 Instanzen Telegram laufen. Allerdings ohne das letzte Telegram Modul Update.
Bei mir bisher auch keine Ausfälle, letztes FHEM Update war gestern gegen 10Uhr.
Grüße Marcel
Ich kann die Probleme auch bestätigen.
Werde folgendes mal testen:
ZitatHabe aktuell pollingTimeout auf 0 gesetzt und seitdem hängt sich FHEM nicht mehr auf
nur kurz ne meldung, hier das gleiche Problem.
Fhem hängt für eien zeit x und aus die SSl read meldung kommt im log.
hab mir mit neme Polling timeout von 1 s geholfen, fhem hängt damit zumindets nicht so lange fest, aber telegram geht , trotz fehler meldung
Hab gestern gegen 23:30 Uhr ein Update gemacht. Telegram geht einwandfrei ohne Hänger. Das System läuft stabil ohne logeinträge.
Gruß Michael
@macmattes, gloob, neumann, haus-automatisierung.com, tschu, Papaloewe, etc:
Da das Problem bei mir (und wohl auch anderen) mit der neusten Version nicht auftritt, brauche ich Eure Hilfe
1) Ich vermute ihr habt nach dem update ein restart von FHEM gemacht?
2) Könnt Ihr mir ein paar Infos zu Plattform/Betriebssystem und perl-version geben?
3) Gibt es andere Auffälligkeiten / Fehlermeldungen im Log?
4) Könnt ihr mal (bei pollingTimeout > 0) ein set <euertbot> reset
durchführen und dann schauen ob das Hängen weiterhin auftritt
5) Wenn das nicht hilft: Könnt Ihr mal kurzzeitig global das System auf verbose 5 setzen und mir einen Logausschnitt zur Verfügung stellen?
Momentan ist mir der Effekt bei der geringen Anzahl von Änderungen noch ein Rätsel, deshalb die etwas breite Abfrage...
Also ich hatte schon eine Weile nicht mehr geupdatet und das Problem ist auf einmal gestern aufgetreten, dann habe ich geupdatet, hat allerdings nichts geholfen (natürlich mit Neustart).
Ich bin auf einem RasPi 3 Perl v5.20.2
Auffälligkeiten im Log gibt es nicht, bei dem Ausschnitt, den ich gepostet hatte war global verboose auf 5, bei jedem Hänger sah der Log gleich aus.
Das mit dem Reset werde ich versuchen.
Zitat von: neumann am 16 August 2017, 16:49:11
Also ich hatte schon eine Weile nicht mehr geupdatet und das Problem ist auf einmal gestern aufgetreten, dann habe ich geupdatet, hat allerdings nichts geholfen (natürlich mit Neustart).
Ich bin auf einem RasPi 3 Perl v5.20.2
Auffälligkeiten im Log gibt es nicht, bei dem Ausschnitt, den ich gepostet hatte war global verboose auf 5, bei jedem Hänger sah der Log gleich aus.
Das mit dem Reset werde ich versuchen.
Danke für die schnelle Reaktion: Frage: Das Problem ist also aufgetreten BEVOR Du das update gemacht hast?
ja, da bin ich mir ziemlich sicher
Raspberry Pi 1B
Perl Version 5.14.2
sonst keine Auffälligkeiten im Log
gestern gab es auch ein Update der HttpUtils - könnte da ein Zusammenhang bestehen?
@awel: Das habe ich mir auch angeschaut, ich kann aber nicht erkennen wie das zusammenhängen könnte, denn es geht nur um digest authentication? Das sollte eigentlich beitelegram nicht passieren, da die authentifizierung über den URL erfolgt.
@awel: Könntest Du mal das Attribut utf8special auf 1 setzen (oder wenn bereits gesetzt auf 0)?
@neumann: Das ist verwirrend, denn dann ist ja am telegrambot-Modul keine Änderung passiert, während bei den anderen nach dem update das Problem aufgetaucht ist.
Bitte beschreibt welches Problem ihr habt, ob es hängt und was im log steht --> "SSL wants a read first:" ist etwas anderes als das "write to https://api.telegram.org:443 timed out"
mac mini osx 10.9 und Perl 5.24 über macports installiert
habe die hänger gestern bemerkt und dann auf verdacht ein update gemacht, bin so erst auf die SSL fehler gestossen
habs mit der letzten Modulversion versucht, ist auch der Fehler
Reset half nur kurz
anbei 3 log ausschnitte, der dritte ist nach Telegram gefiltert, und ended beim hängen
wenn ich im netzt nach 'SSL wants a read first' suche bin ich auf was gestossen
http://www.perlmonks.org/?node_id=1188364
2017.08.16 17:45:57 4: <hidden>: HTTP response code 200
2017.08.16 17:45:57 4: HttpUtils <hidden>: Got data, length: 23
2017.08.16 17:45:57 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Wed, 16 Aug 2017 15:45:24 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2017.08.16 17:45:57 5: TelegramBot_Callback fhem_bot: called from Polling
2017.08.16 17:45:57 5: TelegramBot_Callback fhem_bot: data returned :{"ok":true,"result":[]}:
2017.08.16 17:45:57 5: TelegramBot_Deepencode fhem_bot: found an ARRAY
2017.08.16 17:45:57 5: TelegramBot_Deepencode fhem_bot: encoded a String from :1: to :1:
2017.08.16 17:45:57 5: TelegramBot_Deepencode fhem_bot: found a HASH
2017.08.16 17:45:57 5: TelegramBot_Callback fhem_bot: after encoding
2017.08.16 17:45:57 5: TelegramBot_Callback fhem_bot: polling returned result? 0
2017.08.16 17:45:57 5: UpdatePoll fhem_bot: number of results 0
2017.08.16 17:45:57 5: TelegramBot_UpdatePoll fhem_bot: called
2017.08.16 17:45:57 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.16 17:45:57 4: TelegramBot_UpdatePoll fhem_bot: initiate polling with nonblockingGet with 120s
2017.08.16 17:45:57 4: HttpUtils url=<hidden>
2017.08.16 17:45:57 4: TelegramBot_Callback fhem_bot: resulted in SUCCESS from Polling
2017.08.16 18:05:15 4: <hidden>: HTTP response code 200
2017.08.16 18:05:15 4: HttpUtils <hidden>: Got data, length: 23
2017.08.16 18:05:15 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Wed, 16 Aug 2017 16:04:41 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2017.08.16 18:05:15 5: TelegramBot_Callback fhem_bot: called from Polling
2017.08.16 18:05:15 5: TelegramBot_Callback fhem_bot: data returned :{"ok":true,"result":[]}:
2017.08.16 18:05:15 5: TelegramBot_Deepencode fhem_bot: encoded a String from :1: to :1:
2017.08.16 18:05:15 5: TelegramBot_Deepencode fhem_bot: found an ARRAY
2017.08.16 18:05:15 5: TelegramBot_Deepencode fhem_bot: found a HASH
2017.08.16 18:05:15 5: TelegramBot_Callback fhem_bot: after encoding
2017.08.16 18:05:15 5: TelegramBot_Callback fhem_bot: polling returned result? 0
2017.08.16 18:05:15 5: UpdatePoll fhem_bot: number of results 0
2017.08.16 18:05:15 5: TelegramBot_UpdatePoll fhem_bot: called
2017.08.16 18:05:15 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.16 18:05:15 4: TelegramBot_UpdatePoll fhem_bot: initiate polling with nonblockingGet with 120s
2017.08.16 18:05:15 4: HttpUtils url=<hidden>
2017.08.16 18:05:15 4: TelegramBot_Callback fhem_bot: resulted in SUCCESS from Polling
mini:~ root# /opt/local/bin/perl /usr/share/fhem/fhem.pl /etc/fhem.cfg | grep Telegram
2017.08.16 18:10:19 5: Cmd: >define fhem_bot TelegramBot<
2017.08.16 18:10:19 5: Loading /usr/share/fhem/FHEM/50_TelegramBot.pm
2017.08.16 18:10:19 3: TelegramBot_Define fhem_bot: called
2017.08.16 18:10:19 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.16 18:10:19 4: TelegramBot_Setup fhem_bot: called
2017.08.16 18:10:19 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.16 18:10:19 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.16 18:10:19 5: TelegramBot_DoUrlCommand fhem_bot: called
2017.08.16 18:10:20 2: TelegramBot_DoUrlCommand fhem_bot: FAILED http access returned error :https://api.telegram.org/xxxxxxxxxx/getMe: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first:
2017.08.16 18:10:20 5: TelegramBot_DoUrlCommand fhem_bot: called
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
2017.08.16 18:10:20 4: TelegramBot_DoUrlCommand OK with result
2017.08.16 18:10:20 4: TelegramBot_ResetPolling fhem_bot: called
2017.08.16 18:10:20 4: TelegramBot_ResetPolling fhem_bot: finished
2017.08.16 18:10:20 4: TelegramBot_Setup fhem_bot: ended
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on DbLogExclude to .*
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on cmdFavorites to Favs
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on cmdKeyword to Doit
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on cmdRestrictedPeer to xxxxxxxxx
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on defaultPeer to xxxxxxxx
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on favorites to /ok=set Dev_Alarm_Cancel Cancel; /scharf=set Dev_Alarm_Arm Arm; /unscharf=set Dev_Alarm_Disarm Disarm
2017.08.16 18:10:20 4: TelegramBot_SplitFavoriteDef cmd :/ok=set Dev_Alarm_Cancel Cancel:
2017.08.16 18:10:20 4: TelegramBot_SplitFavoriteDef cmd : /scharf=set Dev_Alarm_Arm Arm:
2017.08.16 18:10:20 4: TelegramBot_SplitFavoriteDef cmd : /unscharf=set Dev_Alarm_Disarm Disarm:
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on group to IO_Gateway
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on pollingTimeout to 120
2017.08.16 18:10:20 4: TelegramBot_ResetPolling fhem_bot: called
2017.08.16 18:10:20 4: TelegramBot_ResetPolling fhem_bot: finished
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on room to Unsorted
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: called
2017.08.16 18:10:20 5: TelegramBot_Attr fhem_bot: set on verbose to 5
2017.08.16 18:10:20 4: TelegramBot_State Contacts hash has now :2:
2017.08.16 18:10:23 4: TelegramBot_Set fhem_bot: called
2017.08.16 18:10:23 4: TelegramBot_Set fhem_bot: Processing TelegramBot_Set( ? )
2017.08.16 18:10:23 4: TelegramBot_Set fhem_bot: called
2017.08.16 18:10:23 4: TelegramBot_Set fhem_bot: Processing TelegramBot_Set( ? )
2017.08.16 18:10:23 4: TelegramBot_Set fhem_bot: called
2017.08.16 18:10:23 4: TelegramBot_Set fhem_bot: Processing TelegramBot_Set( ? )
2017.08.16 18:10:23 5: TelegramBot_Get fhem_bot: called
2017.08.16 18:10:23 5: TelegramBot_Get fhem_bot: Processing TelegramBot_Get( ? )
2017.08.16 18:10:23 4: TelegramBot_Set fhem_bot: called
2017.08.16 18:10:23 4: TelegramBot_Set fhem_bot: Processing TelegramBot_Set( ? )
2017.08.16 18:10:50 4: TelegramBot_RestartPolling fhem_bot: called
2017.08.16 18:10:50 5: TelegramBot_UpdatePoll fhem_bot: called
2017.08.16 18:10:50 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.16 18:10:50 4: TelegramBot_UpdatePoll fhem_bot: initiate polling with nonblockingGet with 120s
2017.08.16 18:10:50 4: TelegramBot_RestartPolling fhem_bot: finished
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
2017.08.16 18:11:28 4: TelegramBot_Set fhem_bot: called
2017.08.16 18:11:28 4: TelegramBot_Set fhem_bot: Processing TelegramBot_Set( ? )
2017.08.16 18:11:28 4: TelegramBot_Set fhem_bot: called
2017.08.16 18:11:28 4: TelegramBot_Set fhem_bot: Processing TelegramBot_Set( ? )
2017.08.16 18:11:28 5: TelegramBot_Get fhem_bot: called
2017.08.16 18:11:28 5: TelegramBot_Get fhem_bot: Processing TelegramBot_Get( ? )
2017.08.16 18:11:40 5: TelegramBot_Callback fhem_bot: called from Polling
2017.08.16 18:11:40 5: TelegramBot_Callback fhem_bot: data returned :{"ok":true,"result":[]}:
2017.08.16 18:11:40 5: TelegramBot_Deepencode fhem_bot: found an ARRAY
2017.08.16 18:11:40 5: TelegramBot_Deepencode fhem_bot: encoded a String from :1: to :1:
2017.08.16 18:11:40 5: TelegramBot_Deepencode fhem_bot: found a HASH
2017.08.16 18:11:40 5: TelegramBot_Callback fhem_bot: after encoding
2017.08.16 18:11:40 5: TelegramBot_Callback fhem_bot: polling returned result? 0
2017.08.16 18:11:40 5: TelegramBot_UpdatePoll fhem_bot: called
2017.08.16 18:11:40 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.16 18:11:40 4: TelegramBot_UpdatePoll fhem_bot: initiate polling with nonblockingGet with 120s
2017.08.16 18:11:40 4: TelegramBot_Callback fhem_bot: resulted in SUCCESS from Polling
@macmattes: OK, also hängt es also auch bei Dir nicht direkt mit dem letzten Update zusammen.
Auch der "SSL wants a read first" ist unkritisch, der tritt nach dem Neustart wohl auf, aber die folgenden Logs zeigen, dass Polling grundsätzlich funktioniert (kein timeout on write o.ä.). Nach meiner Recherche vor einiger Zeit ist hier ein SSL-Fehler beteiligt, der aber auch laut Deinem Log nur einmalig auftritt.
Das Log ist aber interessant, was den Hänger angeht. Zum Zeitpunkt des Hängers läuft eigentlich kein Code des TelegramBot-Moduls
2017.08.16 17:45:57 4: HttpUtils url=<hidden>
2017.08.16 17:45:57 4: TelegramBot_Callback fhem_bot: resulted in SUCCESS from Polling
Danach wird die Kontrolle zurück an FHEM übergeben und der http-request läuft im Hintergrund weiter (im HTTPUtils-Modul). Sichtbar ist, dass der Request erfolgreich zurückkommt von Telegram:
2017.08.16 18:05:15 4: <hidden>: HTTP response code 200
...
und dann normal weiterverarbeitet wird und dann geht es von vorne los.
Leider gibt das alles keine Erklärung, warum der Server hängt und was er in der Zeit macht und warum das jetzt auftritt...
Hier das selbe Problem wenn ich pollingTimeout auf 0 setze läuft fhem ganz normal.
Habe noch nen Auszug aus dem Log ab dem Moment wo fhem hängt +- 1min
2017.08.16 22:19:16 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Wed, 16 Aug 2017 20:19:16 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2017.08.16 22:19:16 5: TelegramBot_Callback FHEMBOT: called from Polling
2017.08.16 22:19:16 5: TelegramBot_Callback FHEMBOT: data returned :{"ok":true,"result":[]}:
2017.08.16 22:19:16 5: TelegramBot_Deepencode FHEMBOT: found an ARRAY
2017.08.16 22:19:16 5: TelegramBot_Deepencode FHEMBOT: encoded a String from :true: to :true:
2017.08.16 22:19:16 5: TelegramBot_Deepencode FHEMBOT: found a HASH
2017.08.16 22:19:16 5: TelegramBot_Callback FHEMBOT: after encoding
2017.08.16 22:19:16 5: TelegramBot_Callback FHEMBOT: polling returned result? 0
2017.08.16 22:19:16 5: UpdatePoll FHEMBOT: number of results 0
2017.08.16 22:19:16 5: TelegramBot_UpdatePoll FHEMBOT: called
2017.08.16 22:19:16 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.16 22:19:16 4: TelegramBot_UpdatePoll FHEMBOT: initiate polling with nonblockingGet with 120s
2017.08.16 22:19:16 4: HttpUtils url=<hidden>
2017.08.16 22:19:16 4: TelegramBot_Callback FHEMBOT: resulted in SUCCESS from Polling
Hallo Zusammen
Ich habe genau das gleiche Problem, dass FHEM dann einfach blockiert ist.
Dies hat meines erachtens nichts mit der neuen Version zu tun, sonder aufgefallen ist es mir am 15.8. und das im laufe des Tages um ca. 14Uhr hat es angefangen.
Grüsse
kann es eventuell auch mit NICHT gesetztem DNS im global zusammenhängen?
Die Idee kam vorhin in der Facebook Gruppe auf.
Und Ich habe keine Probleme mut Telegram, habe aber den DNS gesetzt.
Möglich! Habe aufgrund des Wettermoduls auch den DNS in global gesetzt. Auch keine Probleme mit Telegram!
Setzen des DNS Servers im Global hat bei mir leider keine Veränderung gebracht.
Zitat von: neumann am 17 August 2017, 13:36:05
Setzen des DNS Servers im Global hat bei mir leider keine Veränderung gebracht.
dannach FHEM neu gestartet?
jap
Das erklärt, warum ich seit einiger Zeit diese Hänger habe... bin also auch betroffen
Auch bei mir brachte das setzen des DNS kein Erfolg.
In Telegram habe ich dafür diese meldung:
PollingLastError
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first
war ja auch nur ne Vermutung da ein paar User die den DNS gesetzt haben keine Probleme haben.
@haus-automatisierung.com: Nein die Logs sollten genauso sein, allerdings ohne den Hänger. Deine Analyse ist da nicht korrekt.
wie oben schon beschrieben: SUCCESS fromm Polling ist der Abschluss des letzten Callback-Aufrufs, aber da muss das nächste Polling ja schon gestartet sein, damit es weitergeht (longpoll). Danach wird die Kontrolle wieder an FHEM übergeben und dann entsteht der Hänger wie es aussieht. Die nächste Meldung (called from polling) ist genau der Start des Callbacks, wenn der Pollaufruf an Telegram zurückkehrt, entweder mit Daten oder nach Timeout.
Also findet der Hänger statt nachdem der Callback beendet ist und bevor der Telegrambot das nächste Mal aufgerufen wird. Warum das jetzt aufrtitt und auch mit diesen "SSL read first" zusammenfällt ist mir unklar.
Zusammenfassung:
- Es gibt wohl keinen Zusammenhang mit den TelegramBot-Änderungen
- Das es mit pollingTimeout 0 läuft macht klar, dass der Pollingaufruf über HTTPUtils obwohl nicht blocking angesetzt irgendwie doch blocking ist
- Ich werde eine Debug-Version bereitstellen mit mehr logausgaben, damit mehr Infos kommen
- Ich vermisse immer noch Hinweise, was bei Euch am System geändert wurde, dass es auftrat, wenn es der Update nicht wahr
Ich habe DNS nicht gesetzt und trotzdem keine Probleme
@szoller: Seit wann tritt das Problem auf und welches genau?
@Tueftler1983: Hattes du die Meldung mit "SSL wants a read first" nur einmal und wann kam diese oder mehrfach - kannst Duz dazu logs erstellen?
Vielleicht hat es tatsächlich nichts mit dem Telegram zu tun:
https://forum.fhem.de/index.php/topic,75528.0/topicseen.html
je nachdem was sich dort ergibt...
...also nur ein Einzelproblem oder evtl. doch was "generelles" in fhem.
Bei mir ist (noch) alles gut.
DNS gesetzt und letzter Update schon einige (mehrere) Tage her.
Gruß, Joachim
ZitatDie Antwort ist: Gar nichts :)
DITO!
ich habe das Problemchen auch seit dieser Woche.
Was habe ich getan:
verzweifelt fhem komplett auseinander gerissen.
Aktuell hat er keine HTTPS web-Instanzen, CRSF Token, Telegram und nur noch wirklich notwendigen Devices - keine Archiv-Devices, notifys und doifs mehr
Was habe ich davor getan:
"eigentlich" nichts...ausser ein paar notifys und regeln für geofency tracking und Anwesenheitssteuerung eingebaut.
Paar dummys angelegt und munter lustig miteinander verknüpft.
Als das Problem plötzlich losging, erstmal im Log nach Fehlern gesucht und vermehrt immer wieder gemeldeten ssl3 handshake Probleme gesehen und mich dann voll darauf konzentriert.
Das mit TLS1.2 kann ich nachvollziehen, daran habe ich auch lange rumgeknobelt. Allerdings wurden im Log nur meine android-fhem App und mein PC mit Browser bei den handshake Problemen genannt. Telegram wurde nicht aufgeführt, verbose war aber auch nicht für das Objekt gesetzt.
Nun läuft er wieder wie er soll, nachdem fhem viele Federn lassen musste.
Werde Morgen zuerst Telegram anstelle HTTPS aktivieren, wenn ich diesen Thread so sehe. Dann müsste er ja wieder hängen.
Genau, auch bei mir, ich habe nichts gemacht.
Nur auf einmal, im laufe des Tages ist dies aufgetaucht.
Ich habe das das DNS Attribut ergänzt und keine Änderung. das Problem ist weiterhin vorhanden.
Es ist schwierig zu denke dass es an einem anderen Ort sein könnte als beim Telegram , denn geändert wurde nichts und nur wenn pollingTimeout auf 0 steht ist hängt FHEM nicht mehr.
Wie egsagt ich brauche Eure Hilfe für die Eingrenzung des Problems
Anbei sind mal 2 modifizierte Module mit mehr Debug ausgaben um das Problem einzugrenzen
50_TelegramBot / HTTPUtils
Achtung: Diese sind keine Fehlerbehebung sondern nur um das Problem zu verstehen !!!!!!
Ich bräuchte hierzu Hilfe von Leuten, die das Problem haben. Diese beiden Dateien in Ihrer FHEM-Installation verwenden (Original-Dateien vorher sichern !!!)
Also
1) Existierende Installation - backup durchführen und zu ersetzende Dateien kopieren
2) Also angehängte Dateien ins FHEM-Verzeichnis
3) Server neustarten
4) Verbose 5 auf dem TelegramBot oder noch besser im Gesamtsystem - global
5) Etwas laufen lassen bis das Problem auftritt - am besten mehrfach
6) FHEM-Logfile von dieser Zeit mir per PN oder hier senden (anonymisiert) - Am besten mit Beschreibung was gemacht/beobachtet wurde während der Zeit
7) Originalversion restaurieren
Achtung 2 - Wer das macht sollte wissen was er tut und sich etwas in FHEM auskennen
Danke schonmal für Eure Hilfe
2017.08.18 16:21:15 5: TelegramBot_Callback teleBot: called from Polling
2017.08.18 16:21:15 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":[]}:
2017.08.18 16:21:15 5: TelegramBot_Deepencode teleBot: found an ARRAY
2017.08.18 16:21:15 5: TelegramBot_Deepencode teleBot: encoded a String from :true: to :true:
2017.08.18 16:21:15 5: TelegramBot_Deepencode teleBot: found a HASH
2017.08.18 16:21:15 5: TelegramBot_Callback teleBot: after encoding
2017.08.18 16:21:15 5: TelegramBot_Callback teleBot: polling returned result? 0
2017.08.18 16:21:15 5: UpdatePoll teleBot: number of results 0
2017.08.18 16:21:15 5: TelegramBot_UpdatePoll teleBot: called
2017.08.18 16:21:15 4: TelegramBot_UpdatePoll teleBot: - Initiate non blocking polling - With callback set
2017.08.18 16:21:15 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 16:21:15 4: TelegramBot_UpdatePoll teleBot: initiate polling with nonblockingGet with 120s
2017.08.18 16:21:15 1: HttpUtils url=<hidden>
2017.08.18 16:21:15 4: TelegramBot_UpdatePoll teleBot: - Ende > next polling started
2017.08.18 16:21:15 4: TelegramBot_Callback teleBot: resulted in SUCCESS from Polling
2017.08.18 16:21:15 4: TelegramBot_Callback teleBot: - polling so no retry
2017.08.18 16:21:15 4: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
2017.08.18 16:25:21 5: TelegramBot_Callback teleBot: called from Polling
2017.08.18 16:25:21 5: TelegramBot_Callback teleBot: polling returned result? <undef>
2017.08.18 16:25:21 5: Starting notify loop for teleBot, 1 event(s), first is PollingLastError: NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first
2017.08.18 16:25:21 4: TelegramBot_Set teleBot: called
2017.08.18 16:25:21 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( ? )
2017.08.18 16:25:21 4: TelegramBot_Set teleBot: called
2017.08.18 16:25:21 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( ? )
2017.08.18 16:25:21 5: End notify loop for teleBot
2017.08.18 16:25:21 5: Starting notify loop for teleBot, 1 event(s), first is PollingErrCount: 1
2017.08.18 16:25:21 4: TelegramBot_Set teleBot: called
2017.08.18 16:25:21 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( ? )
2017.08.18 16:25:21 4: TelegramBot_Set teleBot: called
2017.08.18 16:25:21 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( ? )
2017.08.18 16:25:21 5: End notify loop for teleBot
2017.08.18 16:25:21 5: TelegramBot_UpdatePoll teleBot: called
2017.08.18 16:25:21 4: TelegramBot_UpdatePoll teleBot: - Initiate non blocking polling - With callback set
2017.08.18 16:25:21 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 16:25:21 4: TelegramBot_UpdatePoll teleBot: initiate polling with nonblockingGet with 120s
2017.08.18 16:25:21 1: HttpUtils url=<hidden>
2017.08.18 16:25:21 4: TelegramBot_UpdatePoll teleBot: - Ende > next polling started
2017.08.18 16:25:21 4: TelegramBot_Callback teleBot: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first from Polling
2017.08.18 16:25:21 4: TelegramBot_Callback teleBot: - polling so no retry
2017.08.18 16:25:21 4: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
@neumann - Danke für die kurzfristige Reaktion - hast Du auch httpUtils ersetzt? Ich finde nämlich keine weiteren Logeinträge in httputils und genau die würden mich interessieren
2. Frage: Du hattest keine Hänger - korrekt?
Klar, gerne. Ich habe beide Dateien ersetzt, fhem neu gestartet und alles so gemacht wie du gesagt hast. Doch ich hatte einen Hänger (siehe die zeitliche Lücke).
Lg
Hallo,
ich habe das gleiche Problem, FHEM blockiert seit kurzem regelmäßig für 2*pollingTimeout+ca. 5s. Am System wurde nichts (wissentlich) verändert, FHEM ist zuletzt im April aktualisiert worden.
Anbei der Log mit den instrumentierten HttpUtils und 50_TelegramBot, Hang zwischen 18:03:39 und 18:07:44
2017.08.18 18:03:39 1: HttpUtils - connect2 - in direct readfn
2017.08.18 18:03:39 1: <hidden>: HTTP response code 200
2017.08.18 18:03:39 1: HttpUtils <hidden>: Got data, length: 23
2017.08.18 18:03:39 2: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Fri, 18 Aug 2017 16:03:39 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2017.08.18 18:03:39 5: TelegramBot_Callback Vh22Bot: called from Polling
2017.08.18 18:03:39 5: TelegramBot_Callback Vh22Bot: data returned :{"ok":true,"result":[]}:
2017.08.18 18:03:39 5: TelegramBot_Deepencode Vh22Bot: found an ARRAY
2017.08.18 18:03:39 5: TelegramBot_Deepencode Vh22Bot: encoded a String from :true: to :true:
2017.08.18 18:03:39 5: TelegramBot_Deepencode Vh22Bot: found a HASH
2017.08.18 18:03:39 5: TelegramBot_Callback Vh22Bot: after encoding
2017.08.18 18:03:39 5: TelegramBot_Callback Vh22Bot: polling returned result? 0
2017.08.18 18:03:39 5: UpdatePoll Vh22Bot: number of results 0
2017.08.18 18:03:39 5: TelegramBot_UpdatePoll Vh22Bot: called
2017.08.18 18:03:39 4: TelegramBot_UpdatePoll Vh22Bot: - Initiate non blocking polling - With callback set
2017.08.18 18:03:39 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 18:03:39 4: TelegramBot_UpdatePoll Vh22Bot: initiate polling with nonblockingGet with 120s
2017.08.18 18:03:39 1: HttpUtils url=<hidden>
Use of uninitialized value in concatenation (.) or string at FHEM/HttpUtils.pm line 257.
2017.08.18 18:03:39 1: HttpUtils keepalive: conn: No
2017.08.18 18:03:39 1: HttpUtils after connect 2
2017.08.18 18:03:39 1: HttpUtils nonblocking
2017.08.18 18:03:39 1: HttpUtils has non blocking conn
2017.08.18 18:03:39 1: HttpUtils x - in sub got iaddr: ????
2017.08.18 18:03:39 1: HttpUtils x - connect:
2017.08.18 18:03:39 1: HttpUtils x - got a connection set write fn
2017.08.18 18:03:39 1: HttpUtils x - start timer
2017.08.18 18:03:39 1: HttpUtils x - sub done
2017.08.18 18:03:39 4: TelegramBot_UpdatePoll Vh22Bot: - Ende > next polling started
2017.08.18 18:03:39 4: TelegramBot_Callback Vh22Bot: resulted in SUCCESS from Polling
2017.08.18 18:03:39 4: TelegramBot_Callback Vh22Bot: - polling so no retry
2017.08.18 18:03:39 4: TelegramBot_Callback Vh22Bot: - Ende > Control back to FHEM
2017.08.18 18:03:39 1: HttpUtils x - in write fn
2017.08.18 18:03:39 1: HttpUtils x - do connect2 in writeFn
2017.08.18 18:03:39 1: HttpUtils - in connect 2
2017.08.18 18:07:44 5: TelegramBot_Callback Vh22Bot: called from Polling
2017.08.18 18:07:44 5: TelegramBot_Callback Vh22Bot: polling returned result? <undef>
2017.08.18 18:07:44 5: Starting notify loop for Vh22Bot, 1 event(s), first is PollingLastError: NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first
2017.08.18 18:07:44 4: TelegramBot_Set Vh22Bot: called
2017.08.18 18:07:44 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 18:07:44 4: TelegramBot_Set Vh22Bot: called
2017.08.18 18:07:44 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 18:07:44 5: End notify loop for Vh22Bot
2017.08.18 18:07:44 5: Starting notify loop for Vh22Bot, 1 event(s), first is PollingErrCount: 1
2017.08.18 18:07:44 4: TelegramBot_Set Vh22Bot: called
2017.08.18 18:07:44 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 18:07:44 4: TelegramBot_Set Vh22Bot: called
2017.08.18 18:07:44 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 18:07:44 5: End notify loop for Vh22Bot
2017.08.18 18:07:44 5: TelegramBot_UpdatePoll Vh22Bot: called
2017.08.18 18:07:44 4: TelegramBot_UpdatePoll Vh22Bot: - Initiate non blocking polling - With callback set
2017.08.18 18:07:44 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 18:07:44 4: TelegramBot_UpdatePoll Vh22Bot: initiate polling with nonblockingGet with 120s
2017.08.18 18:07:44 1: HttpUtils url=<hidden>
Use of uninitialized value in concatenation (.) or string at FHEM/HttpUtils.pm line 257.
2017.08.18 18:07:44 1: HttpUtils keepalive: conn: No
2017.08.18 18:07:44 1: HttpUtils after connect 2
2017.08.18 18:07:44 1: HttpUtils nonblocking
2017.08.18 18:07:44 1: HttpUtils has non blocking conn
2017.08.18 18:07:44 1: HttpUtils x - in sub got iaddr: ????
2017.08.18 18:07:44 1: HttpUtils x - connect:
2017.08.18 18:07:44 1: HttpUtils x - got a connection set write fn
2017.08.18 18:07:44 1: HttpUtils x - start timer
2017.08.18 18:07:44 1: HttpUtils x - sub done
2017.08.18 18:07:44 4: TelegramBot_UpdatePoll Vh22Bot: - Ende > next polling started
2017.08.18 18:07:44 4: TelegramBot_Callback Vh22Bot: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first from Polling
2017.08.18 18:07:44 4: TelegramBot_Callback Vh22Bot: - polling so no retry
2017.08.18 18:07:44 4: TelegramBot_Callback Vh22Bot: - Ende > Control back to FHEM
2017.08.18 18:07:44 1: Perfmon: possible freeze starting at 18:03:40, delay is 244.345
Zitat von: neumann am 18 August 2017, 18:24:50
Klar, gerne. Ich habe beide Dateien ersetzt, fhem neu gestartet und alles so gemacht wie du gesagt hast. Doch ich hatte einen Hänger (siehe die zeitliche Lücke).
Lg
Ja, die Lücke hatte ich übersehen.
Mir ist nur ein Rätsel, warum keine weiteren logeinträge aus httputils kommen, es kommt nur der originale EIntrag und nicht die von mir hinzugefügten. Kannst Du mal überprüfen, ob da noch eine andere Version von httputils (vielleicht mit anderen Gross/Kleinbuchstaben) rumliegt? --> siehe log von cawe
Zitat von: cawe am 18 August 2017, 18:32:08
ich habe das gleiche Problem, FHEM blockiert seit kurzem regelmäßig für 2*pollingTimeout+ca. 5s. Am System wurde nichts (wissentlich) verändert, FHEM ist zuletzt im April aktualisiert worden.
Anbei der Log mit den instrumentierten HttpUtils und 50_TelegramBot, Hang zwischen 18:03:39 und 18:07:44
@cawe: Danke, das hilft weiter. Der Hänger tritt wohl in httputils auf - DNS-Anfrage läuft durch, dann kommt in connect2 der eigentlich Verbindungsaufbau und der hängt.
Ich muss also noch eine erweiterte Debug-Version erstellen.
Es scheint sich zu verdichten, dass Telegram wohl irgendetwas geändert hat und das führt in httputils zu den Hängern mit Fehlermeldung "SSL wants a read first".
Dann brauche ich wohl Rudi's Hilfe...
Was mich dann nur wundert, warum der Fehler nicht bei allen Auftritt. Ich halte mein System eigentlich immer recht aktuell. Habe aber keinerlei Probleme mit telegram oder sonstwas.
Was ist denn dann noch anders ?
Gruß Michael
@cawe/neumann: ich habe oben nochmal einer erweiterte HttpUtils angehängt mit mehr debug ausgaben.
Ich vermute das Problem tritt in connect2 hier auf:
$hash->{conn}->blocking(1);
my $sslVersion = AttrVal("global", "sslVersion", "SSLv23:!SSLv3:!SSLv2");
$sslVersion = AttrVal($hash->{NAME}, "sslVersion", $sslVersion)
if($hash->{NAME});
my %par = %{$hash->{sslargs}};
$par{Timeout} = $hash->{timeout};
$par{SSL_version} = $sslVersion if(!$par{SSL_version});
$par{SSL_hostname} = $hash->{host}
if(IO::Socket::SSL->can('can_client_sni') &&
IO::Socket::SSL->can_client_sni() &&
(!$hash->{sslargs} || !defined($hash->{sslargs}{SSL_hostname})));
$par{SSL_verify_mode} = 0
if(!$hash->{sslargs} || !defined($hash->{sslargs}{SSL_verify_mode}));
eval {
IO::Socket::SSL->start_SSL($hash->{conn}, \%par) || undef $hash->{conn};
};
Die connection wird auf Blocking geschaltet und dann beginnt der SSL-Aufbau und dabei läuft er in einen Timeout.
Warum nicht überall - nun das gilt es noch herauszufinden
Wenn ich den Schnipsel da so laienhaft interpretiere, dann geht es da doch um eine ssl Version.
wurde nicht vor gar nicht so langer zeit irgendwas an der mindestanforderung der ssl version geändert?
ich meine sowas im zusammenhang mit der umstellung des updates auf https:// gelesen zu haben.
wenn nun einige noch ihr linux system auf einem alten stand haben, was die neuen geforderten ssl versionen nicht kann.... was dann?
man liest es ja immer wieder, das nur fhem geupdatet wird und das linus darunter ist grottenalt.
gruß michael
ich habe das neue HTTP Utils definitiv drin aber deine Änderungen kommen irgendwie nicht...
2017.08.18 19:44:57 5: TelegramBot_Callback teleBot: called from Polling
2017.08.18 19:44:57 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":[]}:
2017.08.18 19:44:57 5: TelegramBot_Deepencode teleBot: encoded a String from :true: to :true:
2017.08.18 19:44:57 5: TelegramBot_Deepencode teleBot: found an ARRAY
2017.08.18 19:44:57 5: TelegramBot_Deepencode teleBot: found a HASH
2017.08.18 19:44:57 5: TelegramBot_Callback teleBot: after encoding
2017.08.18 19:44:57 5: TelegramBot_Callback teleBot: polling returned result? 0
2017.08.18 19:44:57 5: UpdatePoll teleBot: number of results 0
2017.08.18 19:44:57 5: TelegramBot_UpdatePoll teleBot: called
2017.08.18 19:44:57 4: TelegramBot_UpdatePoll teleBot: - Initiate non blocking polling - With callback set
2017.08.18 19:44:57 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 19:44:57 4: TelegramBot_UpdatePoll teleBot: initiate polling with nonblockingGet with 120s
2017.08.18 19:44:57 1: HttpUtils url=<hidden>
2017.08.18 19:44:57 4: TelegramBot_UpdatePoll teleBot: - Ende > next polling started
2017.08.18 19:44:57 4: TelegramBot_Callback teleBot: resulted in SUCCESS from Polling
2017.08.18 19:44:57 4: TelegramBot_Callback teleBot: - polling so no retry
2017.08.18 19:44:57 4: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
2017.08.18 19:44:57 2: HttpUtils request header:
GET /botXXXXXX/getUpdates?offset=806756611&limit=5&timeout=120 HTTP/1.0
Host: api.telegram.org
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
2017.08.18 19:45:47 1: <hidden>: HTTP response code 200
2017.08.18 19:45:47 1: HttpUtils <hidden>: Got data, length: 23
2017.08.18 19:45:47 2: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Fri, 18 Aug 2017 17:45:47 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2017.08.18 19:45:47 5: TelegramBot_Callback teleBot: called from Polling
2017.08.18 19:45:47 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":[]}:
2017.08.18 19:45:47 5: TelegramBot_Deepencode teleBot: encoded a String from :true: to :true:
2017.08.18 19:45:47 5: TelegramBot_Deepencode teleBot: found an ARRAY
2017.08.18 19:45:47 5: TelegramBot_Deepencode teleBot: found a HASH
2017.08.18 19:45:47 5: TelegramBot_Callback teleBot: after encoding
2017.08.18 19:45:47 5: TelegramBot_Callback teleBot: polling returned result? 0
2017.08.18 19:45:47 5: UpdatePoll teleBot: number of results 0
2017.08.18 19:45:47 5: TelegramBot_UpdatePoll teleBot: called
ZitatWarum nicht überall - nun das gilt es noch herauszufinden
Auch meine Hypothese: manche haben einen bestimmten sslVersion gesetzt, und das nimmt der Telegram-Server uebel, und antwortet nicht. Verklemmen duerfte es in der aktuellen Version mit der Meldung "Http Utils_Connect2 start_ssl".
Ich habe mal bei telegram nachgefragt:
% nmap --script ssl-enum-ciphers -p 443 api.telegram.org
Starting Nmap 6.47 ( http://nmap.org ) at 2017-08-18 19:55 CEST
Nmap scan report for api.telegram.org (149.154.167.198)
Host is up (0.026s latency).
Other addresses for api.telegram.org (not scanned): 149.154.167.197 149.154.167.200 149.154.167.199
PORT STATE SERVICE
443/tcp open https
| ssl-enum-ciphers:
| SSLv3: No supported ciphers found
| TLSv1.0:
| ciphers:
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
| compressors:
| NULL
| TLSv1.1:
| ciphers:
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
| compressors:
| NULL
| TLSv1.2:
| ciphers:
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong
| TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA256 - strong
| TLS_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA256 - strong
| TLS_RSA_WITH_AES_256_GCM_SHA384 - strong
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
| compressors:
| NULL
|_ least strength: strong
Nmap done: 1 IP address (1 host up) scanned in 1.56 seconds
D.h. sie unterstuetzen TLS1.0,1.1 und 1.2
Jetzt waere es gut zu wissen, was die Leute mit Problem fuer ein sslVersion gesetzt haben, und wie man rausfindet, was alles ein bestimmtes Client an Cipher unterstutzt.
SSLVersion ist bei mir nicht explizit gesetzt!
Ich nehme an dann gilt die Voreinstellung TLSv12:!SSLv3?
Ich hatte jetzt längere Zeit im global sslVersion SSLv23:!SSLv3:!SSLv2 gesetzt und auch die Hänger mit TelegramBot.
Testeshalber auf TLSv12:!SSLv3 umgestellt und "shutdown restart" gemacht, leider keine Veränderung.
-- Martin
@viegener: mit der neuen Version der HttpUtils, Hang zwischen 20:40:15 und 20:44:20:
2017.08.18 20:40:15 1: HttpUtils - connect2 - in direct readfn
2017.08.18 20:40:15 1: <hidden>: HTTP response code 200
2017.08.18 20:40:15 1: HttpUtils <hidden>: Got data, length: 23
2017.08.18 20:40:15 2: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Fri, 18 Aug 2017 18:40:15 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2017.08.18 20:40:15 5: TelegramBot_Callback Vh22Bot: called from Polling
2017.08.18 20:40:15 5: TelegramBot_Callback Vh22Bot: data returned :{"ok":true,"result":[]}:
2017.08.18 20:40:15 5: TelegramBot_Deepencode Vh22Bot: found an ARRAY
2017.08.18 20:40:15 5: TelegramBot_Deepencode Vh22Bot: encoded a String from :true: to :true:
2017.08.18 20:40:15 5: TelegramBot_Deepencode Vh22Bot: found a HASH
2017.08.18 20:40:15 5: TelegramBot_Callback Vh22Bot: after encoding
2017.08.18 20:40:15 5: TelegramBot_Callback Vh22Bot: polling returned result? 0
2017.08.18 20:40:15 5: UpdatePoll Vh22Bot: number of results 0
2017.08.18 20:40:15 5: TelegramBot_UpdatePoll Vh22Bot: called
2017.08.18 20:40:15 4: TelegramBot_UpdatePoll Vh22Bot: - Initiate non blocking polling - With callback set
2017.08.18 20:40:15 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 20:40:15 4: TelegramBot_UpdatePoll Vh22Bot: initiate polling with nonblockingGet with 120s
2017.08.18 20:40:15 1: HttpUtils url=<hidden>
2017.08.18 20:40:15 1: HttpUtils_Connect keepalive: No conn: No
2017.08.18 20:40:15 1: HttpUtils_Connect after jump to connect 2
2017.08.18 20:40:15 1: HttpUtils_Connect nonblocking
2017.08.18 20:40:15 1: HttpUtils_Connect has non blocking conn
2017.08.18 20:40:15 1: HttpUtils x - in sub got iaddr: ????
2017.08.18 20:40:15 1: HttpUtils x - connect:
2017.08.18 20:40:15 1: HttpUtils x - got a connection set write fn
2017.08.18 20:40:15 1: HttpUtils x - start timer
2017.08.18 20:40:15 1: HttpUtils x - sub done
2017.08.18 20:40:15 4: TelegramBot_UpdatePoll Vh22Bot: - Ende > next polling started
2017.08.18 20:40:15 4: TelegramBot_Callback Vh22Bot: resulted in SUCCESS from Polling
2017.08.18 20:40:15 4: TelegramBot_Callback Vh22Bot: - polling so no retry
2017.08.18 20:40:15 4: TelegramBot_Callback Vh22Bot: - Ende > Control back to FHEM
2017.08.18 20:40:15 1: HttpUtils x - in write fn
2017.08.18 20:40:15 1: HttpUtils x - do connect2 in writeFn
2017.08.18 20:40:15 1: HttpUtils - in connect 2 conn: Yes
2017.08.18 20:40:15 1: HttpUtils_Connect2 is https und has connection but no ssladded
2017.08.18 20:40:15 1: HttpUtils_Connect2 is https SSL there
2017.08.18 20:40:15 1: HttpUtils_Connect2 connection is now blocking
2017.08.18 20:40:15 1: HttpUtils_Connect2 start_ssl
2017.08.18 20:44:20 1: HttpUtils_Connect2 start_ssl done conn: No
2017.08.18 20:44:20 5: TelegramBot_Callback Vh22Bot: called from Polling
2017.08.18 20:44:20 5: TelegramBot_Callback Vh22Bot: polling returned result? <undef>
2017.08.18 20:44:20 5: Starting notify loop for Vh22Bot, 1 event(s), first is PollingLastError: NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first
2017.08.18 20:44:20 4: TelegramBot_Set Vh22Bot: called
2017.08.18 20:44:20 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 20:44:20 4: TelegramBot_Set Vh22Bot: called
2017.08.18 20:44:20 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 20:44:20 5: End notify loop for Vh22Bot
2017.08.18 20:44:20 5: Starting notify loop for Vh22Bot, 1 event(s), first is PollingErrCount: 2
2017.08.18 20:44:20 4: TelegramBot_Set Vh22Bot: called
2017.08.18 20:44:20 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 20:44:20 4: TelegramBot_Set Vh22Bot: called
2017.08.18 20:44:20 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 20:44:20 5: End notify loop for Vh22Bot
2017.08.18 20:44:20 5: TelegramBot_UpdatePoll Vh22Bot: called
2017.08.18 20:44:20 4: TelegramBot_UpdatePoll Vh22Bot: - Initiate non blocking polling - With callback set
2017.08.18 20:44:20 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 20:44:20 4: TelegramBot_UpdatePoll Vh22Bot: initiate polling with nonblockingGet with 120s
2017.08.18 20:44:20 1: HttpUtils url=<hidden>
2017.08.18 20:44:20 1: HttpUtils_Connect keepalive: No conn: No
2017.08.18 20:44:20 1: HttpUtils_Connect after jump to connect 2
2017.08.18 20:44:20 1: HttpUtils_Connect nonblocking
2017.08.18 20:44:20 1: HttpUtils_Connect has non blocking conn
2017.08.18 20:44:20 1: HttpUtils x - in sub got iaddr: ????
2017.08.18 20:44:20 1: HttpUtils x - connect:
2017.08.18 20:44:20 1: HttpUtils x - got a connection set write fn
2017.08.18 20:44:20 1: HttpUtils x - start timer
2017.08.18 20:44:20 1: HttpUtils x - sub done
2017.08.18 20:44:20 4: TelegramBot_UpdatePoll Vh22Bot: - Ende > next polling started
2017.08.18 20:44:20 4: TelegramBot_Callback Vh22Bot: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first from Polling
2017.08.18 20:44:20 4: TelegramBot_Callback Vh22Bot: - polling so no retry
2017.08.18 20:44:20 4: TelegramBot_Callback Vh22Bot: - Ende > Control back to FHEM
2017.08.18 20:44:20 1: Perfmon: possible freeze starting at 20:40:16, delay is 244.577
@cawe: Nochmals Danke, das bestätigt die Vermutung! Der Block zwischen diesen beiden Aufrufen:
2017.08.18 20:40:15 1: HttpUtils_Connect2 start_ssl
2017.08.18 20:44:20 1: HttpUtils_Connect2 start_ssl done conn: No
Also im Code:
#DEBUG
Log3 $hash, $hash->{loglevel}, "HttpUtils_Connect2 start_ssl";
#DEBUG
eval {
IO::Socket::SSL->start_SSL($hash->{conn}, \%par) || undef $hash->{conn};
};
if($@) {
Log3 $hash, $hash->{loglevel}, $@;
HttpUtils_Close($hash);
return $@;
}
$hash->{hu_sslAdded} = 1 if($hash->{keepalive});
#DEBUG
Log3 $hash, $hash->{loglevel}, "HttpUtils_Connect2 start_ssl done"." conn: ".($hash->{conn}?"Yes":"No");
#DEBUG
Also tritt es wohl im start_ssl auf.
Zitat von: rudolfkoenig am 18 August 2017, 19:58:10
Auch meine Hypothese: manche haben einen bestimmten sslVersion gesetzt, und das nimmt der Telegram-Server uebel, und antwortet nicht. Verklemmen duerfte es in der aktuellen Version mit der Meldung "Http Utils_Connect2 start_ssl".
D.h. sie unterstuetzen TLS1.0,1.1 und 1.2
Jetzt waere es gut zu wissen, was die Leute mit Problem fuer ein sslVersion gesetzt haben, und wie man rausfindet, was alles ein bestimmtes Client an Cipher unterstutzt.
Ok, Deine Vermuting (start_ssl) ist wohl bestätigt.
Es könnte vieleicht auch sein, dass einer der 4 Server bei telegram vielleicht anders konfiguriert ist und dadurch manche das Problem haben?
Hallo ich habe bei mir in FHEMWEB das unter sslVersion TLSv12:!SSLv3
Hilft das vielleicht oder soll ich auch mal deine debug Version einspielen?
@Tueftler1983: Das kann Dir vermutlich noch niemand sagen, allerdings beseitigt die debug-Version das Problem definitiv nicht, sondern dient nur dazu das Problem einzugrenzen.
Was bisher klar zu sein scheint:
- Problem tritt beim Verbindungsaufbau (SSL handshake) mit telegram auf (und zwar wohl nur mit telegram und nur bei bestimmten Benutzern)
- Hat irgendwann diese Woche angefangen
- Tritt wohl bei Benutzern entweder gar nicht auf oder gehäuft (ständig)
Hypothese: Irgendeine Änderung der Telegram-Server bedingt dieses Problem, wobei das Fehlverhalten (sprich timeout bei perl) irgendwie auch nicht ganz sinnvoll erscheint
@all: Vielleicht könntet Ihr noch ein paar Infos zu Eurer Umgebung mittteilen (perl/Betriebssystem/Plattform), damit man das vielleicht eingrenzen kann?
Also von mir folgende Infos:
Raspberry PI3
1. Welche Linux-Distributions und -Release ist installiert?
2. Welche Kernel-Version ist installiert?
3. Welche Firmware-Version ist installiert?
root@FHEM_Server:~# cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
root@FHEM_Server:~#
root@FHEM_Server:~#
root@FHEM_Server:~#
root@FHEM_Server:~# uname -a
Linux FHEM_Server 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l GNU/Linux
root@FHEM_Server:~#
root@FHEM_Server:~#
root@FHEM_Server:~#
root@FHEM_Server:~# vcgencmd version
Dec 9 2016 15:11:26
Copyright (c) 2012 Broadcom
version 2e557d8dac70add28597c3b449cb52c34588d818 (clean) (release)
root@FHEM_Server:~#
Perl Version:
root@FHEM_Server:~# perl -v
This is perl 5, version 20, subversion 2 (v5.20.2) built for arm-linux-gnueabihf-thread-multi-64int
(with 92 registered patches, see perl -V for more detail)
root@FHEM_Server:~#
Habe das selbe Problem:
Seit einigen Tagen Hänger für 5-10 sek.
Habe mir schon einen Wolf gesucht woran das liegt und schon diverse Hardwareteile incl. Cul Stick im Verdacht gehabt. Deshalb hatte ich auch die Update Orgie gestartet. Hier kurz das was ich gemacht habe und zu keiner positiven Veränderung geführt hat.
Habe den Raspi B Version 2 mit Busware CUL Stick V. 1.66, Jessie 8.0
perl 5, version 20, subversion 2 (v5.20.2)
Habe dann Fhem auf die aktuelle Version incl. der letzten Änderungen gebracht - keine Änderung
habe Raspberry komplett auf die aktuelle Version gebracht - keine Änderung
habe Firmware UPdate der Raspi Hardware gemacht - keine Änderung
habe keine SSL Version in FHEMWEB gesetzt
habe Pollintervall bei Telegram auf Standard 205 gelassen
Wenn ich was testen soll bitte Bescheid geben.
Ein Versuch wäre es mal wert mit der Debugversion und der Einstellung "attr global sslVersion SSLv3" zu testen, ob dann weiter timeouts auftreten. Allerdings ist mit der Einstellung keine Verbindung zu telegram möglich, es wäre nur interessant ob es wirklich an unterschiedlichen cipher Einstellungen liegt.
Aber bitte nut temporär SSLv3 ist keine sinnvolle Dauer-Einstellung
Bei mir ist doch TLSv12:!SSLv3 oder ist das ein unterschied zu dem was du meinst mit SSLv3
OK ich habe die beiden Dateien getauscht und unter global
attr global sslVersion SSLv3 gesetzt.
Verbose ist auf 4
Nun erhalte ich folgende Fehlermeldung im LOG:
TelegramBot xxxxx PollingLastError: NonBlockingGet: returned : Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed because of handshake problems error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Ein paar Informationen, vielleicht hilft es ja, den Fehler einzugrenzen:
1. Ich habe beide Einstellungen zur sslVersion ausprobiert
attr global sslVersion SSLv23:!SSLv3:!SSLv2
und
attr global sslVersion TLSv12:!SSLv3:!SSLv2
In beiden Einstellungen treten die Blockaden auf.
2. Logs einer funktionierenden Sequenz und einer blockierten
2017.08.18 21:28:31 1: HttpUtils - connect2 - in direct readfn
2017.08.18 21:28:31 1: <hidden>: HTTP response code 200
2017.08.18 21:28:31 1: HttpUtils <hidden>: Got data, length: 23
2017.08.18 21:28:31 2: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Fri, 18 Aug 2017 19:29:17 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2017.08.18 21:28:31 5: TelegramBot_Callback Vh22Bot: called from Polling
2017.08.18 21:28:31 5: TelegramBot_Callback Vh22Bot: data returned :{"ok":true,"result":[]}:
2017.08.18 21:28:31 5: TelegramBot_Deepencode Vh22Bot: found an ARRAY
2017.08.18 21:28:31 5: TelegramBot_Deepencode Vh22Bot: encoded a String from :true: to :true:
2017.08.18 21:28:31 5: TelegramBot_Deepencode Vh22Bot: found a HASH
2017.08.18 21:28:31 5: TelegramBot_Callback Vh22Bot: after encoding
2017.08.18 21:28:31 5: TelegramBot_Callback Vh22Bot: polling returned result? 0
2017.08.18 21:28:31 5: UpdatePoll Vh22Bot: number of results 0
2017.08.18 21:28:31 5: TelegramBot_UpdatePoll Vh22Bot: called
2017.08.18 21:28:31 4: TelegramBot_UpdatePoll Vh22Bot: - Initiate non blocking polling - With callback set
2017.08.18 21:28:31 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 21:28:31 4: TelegramBot_UpdatePoll Vh22Bot: initiate polling with nonblockingGet with 120s
2017.08.18 21:28:31 1: HttpUtils url=<hidden>
2017.08.18 21:28:31 1: HttpUtils_Connect keepalive: No conn: No
2017.08.18 21:28:31 1: HttpUtils_Connect after jump to connect 2
2017.08.18 21:28:31 1: HttpUtils_Connect nonblocking
2017.08.18 21:28:31 1: HttpUtils_Connect has non blocking conn
2017.08.18 21:28:31 1: HttpUtils x - in sub got iaddr: ????
2017.08.18 21:28:31 1: HttpUtils x - connect:
2017.08.18 21:28:31 1: HttpUtils x - got a connection set write fn
2017.08.18 21:28:31 1: HttpUtils x - start timer
2017.08.18 21:28:31 1: HttpUtils x - sub done
2017.08.18 21:28:31 4: TelegramBot_UpdatePoll Vh22Bot: - Ende > next polling started
2017.08.18 21:28:31 4: TelegramBot_Callback Vh22Bot: resulted in SUCCESS from Polling
2017.08.18 21:28:31 4: TelegramBot_Callback Vh22Bot: - polling so no retry
2017.08.18 21:28:31 4: TelegramBot_Callback Vh22Bot: - Ende > Control back to FHEM
2017.08.18 21:28:31 1: HttpUtils x - in write fn
2017.08.18 21:28:31 1: HttpUtils x - do connect2 in writeFn
2017.08.18 21:28:31 1: HttpUtils - in connect 2 conn: Yes
2017.08.18 21:28:31 1: HttpUtils_Connect2 is https und has connection but no ssladded
2017.08.18 21:28:31 1: HttpUtils_Connect2 is https SSL there
2017.08.18 21:28:31 1: HttpUtils_Connect2 connection is now blocking
2017.08.18 21:28:31 1: HttpUtils_Connect2 start_ssl
2017.08.18 21:28:31 1: HttpUtils_Connect2 start_ssl done conn: Yes
2017.08.18 21:28:31 1: HttpUtils_Connect2 connection established so start prepare header/content
2017.08.18 21:28:31 2: HttpUtils request header:
GET /xxxxxxxxxxxxxxxxxxxxxxxx/getUpdates?offset=xxxxxxxxx&limit=5&timeout=120 HTTP/1.0
Host: api.telegram.org
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
2017.08.18 21:28:31 1: HttpUtils - connect2 - data transfer after SSL - nonblocking
2017.08.18 21:28:31 1: HttpUtils - connect2 - start timer
2017.08.18 21:28:31 1: HttpUtils - connect2 - nonblocking done
2017.08.18 21:28:31 1: HttpUtils - connect2 - in direct writefn
2017.08.18 21:40:36 1: HttpUtils - connect2 - in direct readfn
2017.08.18 21:40:36 1: <hidden>: HTTP response code 200
2017.08.18 21:40:36 1: HttpUtils <hidden>: Got data, length: 23
2017.08.18 21:40:36 2: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.10.0
Date: Fri, 18 Aug 2017 19:40:36 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2017.08.18 21:40:36 5: TelegramBot_Callback Vh22Bot: called from Polling
2017.08.18 21:40:36 5: TelegramBot_Callback Vh22Bot: data returned :{"ok":true,"result":[]}:
2017.08.18 21:40:36 5: TelegramBot_Deepencode Vh22Bot: encoded a String from :true: to :true:
2017.08.18 21:40:36 5: TelegramBot_Deepencode Vh22Bot: found an ARRAY
2017.08.18 21:40:36 5: TelegramBot_Deepencode Vh22Bot: found a HASH
2017.08.18 21:40:36 5: TelegramBot_Callback Vh22Bot: after encoding
2017.08.18 21:40:36 5: TelegramBot_Callback Vh22Bot: polling returned result? 0
2017.08.18 21:40:36 5: UpdatePoll Vh22Bot: number of results 0
2017.08.18 21:40:36 5: TelegramBot_UpdatePoll Vh22Bot: called
2017.08.18 21:40:36 4: TelegramBot_UpdatePoll Vh22Bot: - Initiate non blocking polling - With callback set
2017.08.18 21:40:36 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 21:40:36 4: TelegramBot_UpdatePoll Vh22Bot: initiate polling with nonblockingGet with 120s
2017.08.18 21:40:36 1: HttpUtils url=<hidden>
2017.08.18 21:40:36 1: HttpUtils_Connect keepalive: No conn: No
2017.08.18 21:40:36 1: HttpUtils_Connect after jump to connect 2
2017.08.18 21:40:36 1: HttpUtils_Connect nonblocking
2017.08.18 21:40:36 1: HttpUtils_Connect has non blocking conn
2017.08.18 21:40:36 1: HttpUtils x - in sub got iaddr: ????
2017.08.18 21:40:36 1: HttpUtils x - connect:
2017.08.18 21:40:36 1: HttpUtils x - got a connection set write fn
2017.08.18 21:40:36 1: HttpUtils x - start timer
2017.08.18 21:40:36 1: HttpUtils x - sub done
2017.08.18 21:40:36 4: TelegramBot_UpdatePoll Vh22Bot: - Ende > next polling started
2017.08.18 21:40:36 4: TelegramBot_Callback Vh22Bot: resulted in SUCCESS from Polling
2017.08.18 21:40:36 4: TelegramBot_Callback Vh22Bot: - polling so no retry
2017.08.18 21:40:36 4: TelegramBot_Callback Vh22Bot: - Ende > Control back to FHEM
2017.08.18 21:40:36 1: HttpUtils x - in write fn
2017.08.18 21:40:36 1: HttpUtils x - do connect2 in writeFn
2017.08.18 21:40:36 1: HttpUtils - in connect 2 conn: Yes
2017.08.18 21:40:36 1: HttpUtils_Connect2 is https und has connection but no ssladded
2017.08.18 21:40:36 1: HttpUtils_Connect2 is https SSL there
2017.08.18 21:40:36 1: HttpUtils_Connect2 connection is now blocking
2017.08.18 21:40:36 1: HttpUtils_Connect2 start_ssl
2017.08.18 21:44:41 1: HttpUtils_Connect2 start_ssl done conn: No
2017.08.18 21:44:41 5: TelegramBot_Callback Vh22Bot: called from Polling
2017.08.18 21:44:41 5: TelegramBot_Callback Vh22Bot: polling returned result? <undef>
2017.08.18 21:44:41 5: Starting notify loop for Vh22Bot, 1 event(s), first is PollingLastError: NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first
2017.08.18 21:44:41 4: TelegramBot_Set Vh22Bot: called
2017.08.18 21:44:41 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 21:44:41 4: TelegramBot_Set Vh22Bot: called
2017.08.18 21:44:41 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 21:44:41 5: End notify loop for Vh22Bot
2017.08.18 21:44:41 5: Starting notify loop for Vh22Bot, 1 event(s), first is PollingErrCount: 8
2017.08.18 21:44:41 4: TelegramBot_Set Vh22Bot: called
2017.08.18 21:44:41 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 21:44:41 4: TelegramBot_Set Vh22Bot: called
2017.08.18 21:44:41 4: TelegramBot_Set Vh22Bot: Processing TelegramBot_Set( ? )
2017.08.18 21:44:41 5: End notify loop for Vh22Bot
2017.08.18 21:44:41 5: TelegramBot_UpdatePoll Vh22Bot: called
2017.08.18 21:44:41 4: TelegramBot_UpdatePoll Vh22Bot: - Initiate non blocking polling - With callback set
2017.08.18 21:44:41 5: TelegramBot_readToken: Read Telegram API token from file
2017.08.18 21:44:41 4: TelegramBot_UpdatePoll Vh22Bot: initiate polling with nonblockingGet with 120s
2017.08.18 21:44:41 1: HttpUtils url=<hidden>
2017.08.18 21:44:41 1: HttpUtils_Connect keepalive: No conn: No
2017.08.18 21:44:41 1: HttpUtils_Connect after jump to connect 2
2017.08.18 21:44:41 1: HttpUtils_Connect nonblocking
2017.08.18 21:44:41 1: HttpUtils_Connect has non blocking conn
2017.08.18 21:44:41 1: HttpUtils x - in sub got iaddr: ????
2017.08.18 21:44:41 1: HttpUtils x - connect:
2017.08.18 21:44:41 1: HttpUtils x - got a connection set write fn
2017.08.18 21:44:41 1: HttpUtils x - start timer
2017.08.18 21:44:41 1: HttpUtils x - sub done
2017.08.18 21:44:41 4: TelegramBot_UpdatePoll Vh22Bot: - Ende > next polling started
2017.08.18 21:44:41 4: TelegramBot_Callback Vh22Bot: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first from Polling
2017.08.18 21:44:41 4: TelegramBot_Callback Vh22Bot: - polling so no retry
2017.08.18 21:44:41 4: TelegramBot_Callback Vh22Bot: - Ende > Control back to FHEM
2017.08.18 21:44:41 1: Perfmon: possible freeze starting at 21:40:37, delay is 244.554
3. Ein paar Ergebnisse aus Wireshark Mitschnitten
- keine Korrelation zwischen Blockade und der IP des Telegram Servers erkennbar, hängt mit allen der 4 IPs mal
- eine Blockade im angehängten Bild zwischen 309s und 354s (pollingTimeout auf 20s eingestellt, daher nur 45s blockiert)
4. Raspbian per apt-get upgrade aktualisiert, keine Änderung
5. Perl IO::SOCKET::SSL ist 2.0020 (CPAN hat 2.0500) -> perl upgrade läuft noch...
Ich habe das nun das pollingTimeout beim TelegramBot erst mal auf 0 gestellt.
Gut nun ist der Bot auf static gegangen - freezes haben aber aufgehört ,
Ich kann aber jede Nachricht per Fhem Oberfläche verschicken (ohne Fehler )- weils das polling fehlt kommt natürlich nichts mehr rein. Kann ich für den Moment aber verschmerzen.
Ich werde später mal meine Logs durcharbeiten um den genauen Zeitpunkt und evtl. die Umstände zu ermitteln ab dem der Fehler auftauchte.
Wenn ich noch was testen soll - Info reicht.
Zitat von: essera am 19 August 2017, 00:53:30
OK ich habe die beiden Dateien getauscht und unter global
attr global sslVersion SSLv3 gesetzt.
Verbose ist auf 4
Nun erhalte ich folgende Fehlermeldung im LOG:
TelegramBot xxxxx PollingLastError: NonBlockingGet: returned : Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed because of handshake problems error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Und danach keine Timeouts? Die Fehlermeldung ist genau das was ich erreichen wollte.
@cawe: Interessante infos, machen das Puzzle aber noch rätselhafter
Bei Dir geht der Aufruf manchmal durch und manchmal kommt es zu den Blockaden und ich vermute ohne eine Änderung am System? Korrekt?
Zu den ssl-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.
Was für eine Plattform (Hw/Betriebssystem/perl) verwendest Du?
Habe mal die bisherigen Infos zu den Plattformen gesammelt
Ich sehe vorwiegend eine Reihe von Debian8/jessie-Plattformen (plus ein macOSX)
@awel: Welche Linuxversion läuft bei Dir?
Perlversionen sind sehr uneinheitlich
Interessant wäre herauszufinden, ob auch wheezy/Debian7 betroffen ist?
Ich betreibe mein System noch auf wheezy und bin nicht betroffen
Ich habe aber auch noch weitere Spekulationen
- Es könnte eine Wechselwirkung zwischen Modulen geben, da wohl die Blockade nicht bei jedem Aufruf auftritt
- Vielleicht gibt es einen Zusammenhang mit DSLLite/Firewall/...?
- oder mit IPV6
Als kurze Vorwarnung: Ich bin ab morgen geschäftlich unterwegs und damit wohl nicht in der Lage irgendetwas zu lösen
Ich habe auf diesen beiden Systemen mit einem aktuellen FHEM keine Probleme:
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
SSLv3
TLSv1.2
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"
NAME="Ubuntu"
VERSION="15.10 (Wily Werewolf)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 15.10"
VERSION_ID="15.10"
SSLv3
TLSv1.2
Brauchst Du noch mehr Daten?
gruß
Uwe
hi
ich habe
Raspberry 2
Jessi
Linux FHEM 4.1.17-v7+ #838 SMP Tue Feb 9 13:15:09 GMT 2016 armv7l GNU/Linux
Perl 5.20.2
Fhem aktuell
Hängt über eine FB (IPV4) an einem DSL (50mbit) Anschluß (DT)
Ich habe keine Probleme mit Telegram!
Gruß Michael
@viegener
Linux-Version auf raspberry: wheezyroot@raspberrypi:~# cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 7 (wheezy)"
NAME="Raspbian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=raspbian
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
An eine Wechselwirkung verschiedener Module nach Updates der Module habe ich auch schon gedacht; irgendwelche Parameter, Attribute, Einstellungen etc. würden nur schwer erklären, warum bei allen Betroffenen der Fehler fast zeitgleich auftrat - wir werden nicht zeitgleich Einstellungen o.ä. geändert haben. Ein grundsätzlicher Fehler auf einem der Telegram-Server scheidet auch aus - das hätten auch Benutzer ohne fhem bemerkt.
Hier eine Liste meiner Module aus fheminfo:ABFALL
CALVIEW
CUL
CUL_HM
Calendar
DOIF
FBAHAHTTP
FBDECT
FB_CALLLIST
FB_CALLMONITOR
FHEMWEB
FRITZBOX
FS20
FileLog
GDS
HMinfo
IT
RESIDENTS
ROOMMATE
SONOS
SONOSPLAYER
STV
SVG
TelegramBot
Twilight
UWZ
Weather
alarmclock
at
autocreate
cmdalias
dummy
eventTypes
holiday
netatmo
notify
readingsGroup
sequence
telnet
weblink
Vielen Dank für Deine Mühen!!!
Kleine Ergänzung:
Ich hänge an einem DSL Lite Anschluss von Unitymedia - also kein "echtes" IPv4.
Anmerkung:
Evtl. sollten wir noch die Unterscheidung machen ob jemand Telegram oder den TelegramBot nutzt.
Ich nutze nur den TelegramBot!!
@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?
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
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
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
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
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
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..
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
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
Kann man nicht diese Funktion dafür nutzen: https://core.telegram.org/method/messages.deleteHistory
Gesendet von iPad mit Tapatalk Pro
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
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
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 : ****
Das hatte ich auch.
Gesendet von iPad mit Tapatalk Pro
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.....
Telegram verhindert alle Bot zu Bot Kommunikationen.
Direkt ist es dann nicht möglich, @IFTTT Bor und FHEM Bot miteinander kommunizieren zu lassen. Irgendwelcher hat es mit Tasker auf einem Handy in der Mitte versucht. Ich weiss nicht, ob er es geschaft hat. Such mal im Forum.
Zitat von: amenomade am 05 September 2017, 12:17:34
Telegram verhindert alle Bot zu Bot Kommunikationen.
Direkt ist es dann nicht möglich, @IFTTT Bor und FHEM Bot miteinander kommunizieren zu lassen.
so etwas hatte ich befürchtet- vielen dank.
Zitat von: mrbreil am 03 September 2017, 15:44:16
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 : ****
Eine Nachricht, die jemand anders gesendet hat (und deren id steht in msgid) kann meines Wissens nicht verändert werden. Nur Nachrichten die der Bot versendet hat. Deren Id steht in
sentMsgId. Diese Id muss man sich dann merken - nach erfolgreichem Versenden
Ja, und an wem!
msgEdit <msgid> [ @<peer1> ] <text>
Man kann die Nachricht aber nur einmal ändern!
Wozu nutzt ihr das?
LG
Marlen
Zitat von: Marlen am 06 September 2017, 21:24:03
Man kann die Nachricht aber nur einmal ändern!
Wozu nutzt ihr das?
Nur einmal? Ich sende mehrfach Grafiken und wollte eigentlich immer die vorletzte Grafik durch die letzte/nächste ersetzen. Das geht dann also nicht? (Kann man den Chat anderweitig leeren? Der läuft einfach über.)
Ja, hab es vorhin versucht, da ging es jedenfalls nur einmal, ob es bei Grafiken überhaupt geht, weiß ich nicht!
Du meinst, vom bot aus den gesamten Chatverlauf auf dem Handy löschen und dann eben die neuen Grafiken schicken.....glaub das geht nicht!
Hab das selbe Problem....die Chats laufen über!
LG
Marlen
Aber es geht ja händisch zu löschen. Das muss doch auch per Befehl irgendwie gehen. Verdammig.
Gesendet von iPhone mit Tapatalk Pro
Zitat von: andies am 06 September 2017, 21:45:26
Aber es geht ja händisch zu löschen. Das muss doch auch per Befehl irgendwie gehen. Verdammig.
Der Bot unterliegt bestimmten Einschränkungen und solange das API nicht erweitert wird sehe ich beim Löschen keine Lösung. Eine Nachricht lässt sich aber mehrfach verändern - so macht das auch der Dialog bei Tbotlist.
(der Link zu deletehistory bezieht sich auf das allgemeine API nicht auf das Bot-API)
Ist eine Grafik in diesem Sinne eine "Nachricht"? Danke für den Hinweis mit dem Unterschied in den API, das habe ich nicht bemerkt.
Gesendet von iPhone mit Tapatalk Pro
Zitat von: andies am 06 September 2017, 21:51:05
Ist eine Grafik in diesem Sinne eine "Nachricht"? Danke für den Hinweis mit dem Unterschied in den API, das habe ich nicht bemerkt.
Leider können nur Texte geändert werden (Bildunterschriften wärenauch möglich aber werden in meinem Modul nicht unterstützt) - Bilder selbst nicht,
Allerdings gibt es einen Call deleteMessage der vor einiger Zeit hinzugekommen ist. Ich baue dafür eine neue Methode ein. Damit sollte es möglich sein eigene Nachrichten zu löschen (bis zu 48h)
Es gibt in github eine neue Version mit dem set-Command msgDelete
Dadurch kann man alte nachrichten des Bots löschen, zum Beispiel so
set telegramBot msgDelete 37564
Löscht die Nachricht mit der Id 37564 aus der kommunikation mit dem defaultpeer (es kann natürlich auch ein anderer peer angegeben werden, wenn die Nachricht an jemand anderes versandt wurde). Die Id erhält man aus dem sentMsgId-Reading beim Versand der Nachricht
Kann man dann die Nachricht auch löschen, wenn sie an eine Gruppe gesendet wurde?
LG
Marlen
Ja das würde mich auch interessieren. Außerdem soll der Bot nicht seine sondern die Nachricht eines anderen löschen, damit zB. ein Pin Code aus dem Verlauf verschwindet.
Zitat von: mrbreil am 07 September 2017, 12:23:54
Ja das würde mich auch interessieren. Außerdem soll der Bot nicht seine sondern die Nachricht eines anderen löschen, damit zB. ein Pin Code aus dem Verlauf verschwindet.
Wenn der Bot Nachrichten von jemand anderem als dem Bot manipulieren oder löschen könnte, wäre das fatal. Das wird nie funktionieren. Du würdest ja auch nicht wollen, dass ich deine Nachrichten bearbeiten kann und Telegram weiß ja nicht, dass es für dich okay ist, wenn der Bot das macht.
PIN Eingabe könntest du über das Inline-Keyboard realisieren. Da weiß dann nur der Bot, was du gedrückt hast.
Bisher hat in Gruppen alles funktioniert, was im Direktchat funktioniert. Ich denke, das wird beim Löschen nicht anders sein
Bezüglich msgDelete: Ich habe mal ein paar Versuche gemacht:
- Ja man kann auch Nachrichten in Gruppen löschen (habe nur normale Gruppen probiert, Supergruppen vermutlich ebenfalls)
- Ja man kann auch Nachrichten von anderen Sendern in Gruppen löschen (!) - Dazu muss der Bot aber explizit im Telegramclient zum Admin gemacht werden
ZitatJa man kann auch Nachrichten von anderen Sendern in Gruppen löschen (!) - Dazu muss der Bot aber explizit im Telegramclient zum Admin gemacht werden
Ahhhhaaaa!!! Und wie macht man ihn dann zum Admin?
Und was kann man dann löschen?
-alles?
-die letzten 10?
-oder explizit mit der Id?
LG
Marlen
@Marlen: Zum Admin macht man den Benutzer im Telegramclient. Löschen kann man über die explizite msgID der Nachricht, allerdings beschränkt telegram das wohl auf die letzten 48h - laut Dokumentation von Telegram, das steht aber oben auch schon
Wann wird die Version von Github per Fhem update verteilt?
Vielen Dank für deine Arbeit.
Gruß Christian
Zitat von: viegener am 08 September 2017, 00:02:56
Löschen kann man über die explizite msgID der Nachricht
Funktioniert, Danke. Das eröffnet ja neue Möglichkeiten.
Bekommt man eigentlich die IDs der vorherigen Nachrichten irgendwie raus oder kann man nur die letzte Nachricht löschen, da diese ID noch in den Readings steht...?
Gruß
Uwe
Zitat von: mrbreil am 08 September 2017, 11:21:40
Wann wird die Version von Github per Fhem update verteilt?
Vielen Dank für deine Arbeit.
Gruß Christian
Ich warte üblicherweise etwas, um Rückmeldungen der Leute abzuwarten, die die neue Funktion ausprobieren (so eine Art Betatest für Arme). Das ist auch zur Risikovermeidung gedacht, da inzwischen doch einige das Modul nutzen und es schon Überraschungen mit verschiedenen Plattformen/Perl-versionen/etc gab. Wenn es keine Probleme gibt würde ich das nächste Woche ins normale Update stellen.
Hallo zusammen,
ich benötige einmal Unterstützung:
Ich lasse mir das TV Programm um 20:05 zusenden. Das Funktioniert auch soweit, allerdings habe ich ein Problem beim Reading der ARD / Das Erste.
Zitatset teleBot message ARD:\n[mod_TV_Programme:Das Erste] \n[mod_TV_Programme:Das Erste_next_time] [mod_TV_Programme:Das Erste_next]\n\n
ZDF:\n[mod_TV_Programme:ZDF]\n[mod_TV_Programme:ZDF_next_time] [mod_TV_Programme:ZDF_next]\n\n
WDR:\n[mod_TV_Programme:WDR]\n[mod_TV_Programme:WDR_next_time] [mod_TV_Programme:WDR_next]\n\n
RTL:\n[mod_TV_Programme:RTL]\n[mod_TV_Programme:RTL_next_time] [mod_TV_Programme:RTL_next]\n\n
RTL2:\n[mod_TV_Programme:RTL2]\n[mod_TV_Programme:RTL2_next_time] [mod_TV_Programme:RTL2_next]\n\n
VOX:\n[mod_TV_Programme:VOX]\n[mod_TV_Programme:VOX_next_time] [mod_TV_Programme:VOX_next]\n\n
Pro7:\n[mod_TV_Programme:Pro7]\n[mod_TV_Programme:Pro7_next_time] [mod_TV_Programme:Pro7_next]\n\n
SAT.1:\n[mod_TV_Programme:Pro7]\n[mod_TV_Programme:Pro7_next_time] [mod_TV_Programme:Pro7_next]\n\n
N24:\n[mod_TV_Programme:N24]\n[mod_TV_Programme:N24_next_time] [mod_TV_Programme:N24_next]\n\n
NTV:\n[mod_TV_Programme:NTV]\n[mod_TV_Programme:NTV_next_time] [mod_TV_Programme:NTV_next]\n\n
Zitatset teleBot message ARD:\n[mod_TV_Programme:Das Erste] \n[mod_TV_Programme:Das Erste_next_time] [mod_TV_Programme:Das Erste_next]\n\n
Ich habe bereits versucht das Leerzeichen durch "%" zu ersetzen, ohne Erfolg. Jemand einen Tipp für mich?
Ouch ein Leerzeichen im Namen eines Readings ist definitiv ein Problem und sollte eigentlich auch nicht vorkommen. Also wäre es da am besten, das Modul entsprechend zu korrigieren - Es gibt dazu auch einen Thread.
Für Deinen Fall als Lösung wäre es nur möglich hier auf perl auszuweichen, also so etwas wie:
{( ReadingsVal("mod_TV_Programme","Das Erste",""))}
zu verwenden
Danke.
Ich habe dann doch den Namen des Reading geändert.
Habe gerade die neue Version mit msgDelete ins SVN eingechecked, kommt morgen per update.
Hallo zusammen,
gibt es schon ein Update / weitere Ahnung bzgl. den Freezes? Bin auch mit einem relativ frisch aufgesetzten System ohne irgendwelchen Schnickschnack und von den Freezes betroffen sobald pollingTimeout gesetzt wird. Schon einen neuen Bot aufgesetzt, gleiches Ergebnis.
System: Ubuntu 16.04.3 LTS @ Intel NUC
Perl v5.22.1
Nichts bzgl. DNS oder SSL in der global eingestellt.
Danke und VG!
EDIT: Nach weiterer Bastelei habe ich jetzt mal die PRESENCE lan-pings raus geworfen und das fhem.save noch mal gelöscht. Der Bot funktioniert wieder, was es von beiden war.. gute Frage ;)
@jpp: Wenn Du ein paar Nachrichten weiter oben schaust wirst Du feststellen, dass bei anderen das problem mit den polling problemen bei telegram nach ein paar tagen verschwunden sind. Ursache ist unbekannt.
Hallo,
ich lasse mir jeden Abend um kurz nach 20:00 das Fernsehprogramm zusenden:
Zitat([20:05])
(set teleBot message ARD:\n[mod_TV_Programme:ARD] \n[mod_TV_Programme:ARD_next_time] [mod_TV_Programme:ARD_next]\n\n
ZDF:\n[mod_TV_Programme:ZDF]\n[mod_TV_Programme:ZDF_next_time] [mod_TV_Programme:ZDF_next]\n\n
WDR:\n[mod_TV_Programme:WDR]\n[mod_TV_Programme:WDR_next_time] [mod_TV_Programme:WDR_next]\n\n
RTL:\n[mod_TV_Programme:RTL]\n[mod_TV_Programme:RTL_next_time] [mod_TV_Programme:RTL_next]\n\n
RTL2:\n[mod_TV_Programme:RTL2]\n[mod_TV_Programme:RTL2_next_time] [mod_TV_Programme:RTL2_next]\n\n
VOX:\n[mod_TV_Programme:VOX]\n[mod_TV_Programme:VOX_next_time] [mod_TV_Programme:VOX_next]\n\n
Pro7:\n[mod_TV_Programme:Pro7]\n[mod_TV_Programme:Pro7_next_time] [mod_TV_Programme:Pro7_next]\n\n
SAT.1:\n[mod_TV_Programme:SAT1]\n[mod_TV_Programme:SAT1_next_time] [mod_TV_Programme:SAT1_next]\n\n
N24:\n[mod_TV_Programme:N24]\n[mod_TV_Programme:N24_next_time] [mod_TV_Programme:N24_next]\n\n
NTV:\n[mod_TV_Programme:NTV]\n[mod_TV_Programme:NTV_next_time] [mod_TV_Programme:NTV_next]\n\n
)
Jetzt habe ich das Problem, wenn im Titel (RTL_next) ein Sonderzeichen enthalten ist, z.b: Weil "Berlin Tag & Nacht " läuft, die Nachricht nach dem Sonderzeichen mit & abgeschnitten wird.
Frage, wie muss ich das Attribut "RTL_next" etc. hinterlegen, damit die Nachricht vollständig bleibt.
Danke.
Zitat von: bjoernbo am 16 September 2017, 11:00:03
Hallo,
ich lasse mir jeden Abend um kurz nach 20:00 das Fernsehprogramm zusenden:
Jetzt habe ich das Problem, wenn im Titel (RTL_next) ein Sonderzeichen enthalten ist, z.b: Weil "Berlin Tag & Nacht " läuft, die Nachricht nach dem Sonderzeichen mit & abgeschnitten wird.
Frage, wie muss ich das Attribut "RTL_next" etc. hinterlegen, damit die Nachricht vollständig bleibt.
Danke.
Ich habe jetzt in Deinem Befehl kein & gefunden - was hat der Code-Ausschnitt mit dem Problem zu tun?
(Achso und bitte für Code - Code-tags und nicht Zitat verwenden)
Zu Deinem Problem - ich vermute in Deinem Reading steht
&?
Ein Semikolon ist ein Befehlstrenner in FHEM, damit wird der Befehl abgeschnitten bevor der Bot ihn in die Hände bekommt. Also einfach vor dem Ausführen die ; verdoppeln.
Nein, in dem Reading steht zum Beispiel "Law & Order" oder "Berlin Tag & Nacht"
Die Nachricht wird dann mit & abgeschnitten.
zum besserem Verständnis
Zitat von: bjoernbo am 16 September 2017, 11:42:04
Nein, in dem Reading steht zum Beispiel "Law & Order" oder "Berlin Tag & Nacht"
Die Nachricht wird dann mit & abgeschnitten.
Das mit dem abgeschnitten hatte ich schon verstanden ;)
Das Problem liegt ja vor dem Telegrambot in FHEM, denn das abschneiden macht nicht Telegram und nicht das Botmodul nach meinem Verständnis sondern passiert bereits davor.
Machst Du mal ein list von dem mod_TV_Programme device und schaust was da in dem Reading steht?
Also
list mod_TV_Programme
BIst Du sicher dass das im reading steht?
Zitat von: bjoernbo am 16 September 2017, 11:42:04
Nein, in dem Reading steht zum Beispiel "Law & Order" oder "Berlin Tag & Nacht"
Die Nachricht wird dann mit & abgeschnitten.
Das ist kein Telegram Problem..Viegener hat schon recht,wenn er sagt,dass im Reading ein ; vorkommt.So zumindest bei mir. Da es nicht viele Umsetzung für das TV Programm gibt,gehe ich davon aus,das wir sie selbe Lösung haben.
Schau mal bitte füt heute Abend 20:15 in das VOX Reading..
Bei mir steht da
VOXPT_Next
Law & Order: Special Victims Unit
Ruft bei mir ebenfalls das Identische Problem hervor.
Wir haben das sogar hier im Zheard mal besprochen,aber keine Lösung gefunden..
Grüße
Ich weis nicht ob ich in den über 100 Seiten es überlesen habe,
aber wie bekomme ich die Beschrfitung (/cmd1) von den Tasten weg.
Möchte das nur "Relais1 ein" als Tastenbescchriftung sichtbar ist.
Kann mir wer kurz auf die Sprünge helfen?
Danke und LG
Zeig mal dein favorites Attribute
/[Relais1 ein] = set Relais1 on;/[Relais1 aus] = set Relais1 off;/[Relais2 ein] = set Relais2 on;/[Relais2 aus] = set Relais2 off
So wie in der wiki beschrieben
Und Du hast wahrscheinlich cmdFavorites = "cmd" ? Dann sind die Favoriten so numeriert /cmd1 /cmd2 usw. Die kannst Du m.W. nicht weg kriegen.
Zitat von: mrfloppy am 16 September 2017, 15:27:45
Ich weis nicht ob ich in den über 100 Seiten es überlesen habe,
aber wie bekomme ich die Beschrfitung (/cmd1) von den Tasten weg.
Möchte das nur "Relais1 ein" als Tastenbescchriftung sichtbar ist.
Kann mir wer kurz auf die Sprünge helfen?
Danke und LG
Bisher geht das nicht, ich habe aber gerade in github eine Version eingechecked in der das möglich ist.
Dazu muss die Beschreibung des Favorites mit einem führenden Minuszeichen angegeben werden:
Also z.B.
[-Relais1 ein]
ZitatBisher geht das nicht, ich habe aber gerade in github eine Version eingechecked in der das möglich ist.
Dazu muss die Beschreibung des Favorites mit einem führenden Minuszeichen angegeben werden:
Also z.B.
Code: [Auswählen]
[-Relais1 ein]
Danke im Inline Keyboard funktioniert es so.
Mag ned lästig sein würde das im normalen Keyboard auch irgendwie funktionieren?
Danke
Zitat von: mrfloppy am 17 September 2017, 13:13:26
Danke im Inline Keyboard funktioniert es so.
Mag ned lästig sein würde das im normalen Keyboard auch irgendwie funktionieren?
Danke
Leider geht das so nur mit den inline keyboards.
Das Problem ist, dass bei normalen Keyboards genau der Text der auf dem keyboard steht als Nachricht gesendet wird. Damit muss auf der Tastatur etwas erscheinen, was ich im Botmodul als den Favoriten erkennen kann (bei den inlines kann ich pro Taste einen Code hinterlegen, der das Identifizieren des Favoriten erlaubt).
Die beiden Mechanismen werden zwar beide unterstützt aber das normale Keyboard ist aus meiner Sicht eher ein Auslaufmodell.
Hi,
folgender Fall:
Auf RPi1 ist Telegram Bot installiert und funktioniert einwandfrei. Gibt es eine Möglichkeit, über diesen Bot dann Variablen/Dummys auf einer zweiten RPi zu steuern? Beide RPi's mit FHEM und im selben Netzwerk.
Danke vorab!
Grüße
Zitat von: Humidor am 18 September 2017, 20:30:21
Hi,
folgender Fall:
Auf RPi1 ist Telegram Bot installiert und funktioniert einwandfrei. Gibt es eine Möglichkeit, über diesen Bot dann Variablen/Dummys auf einer zweiten RPi zu steuern? Beide RPi's mit FHEM und im selben Netzwerk.
Danke vorab!
Grüße
Hat zwar nicht direkt was mit TelegramBot zu tun, aber du kannst Nachrichten, die du mit dem Bot empfängst, über RFHEM (musst du mal hier im Forum nach suchen) an deinen 2ten RPi übertragen und dann darauf reagieren.
Grüße Marcel
Zitat von: Humidor am 18 September 2017, 20:30:21
Hi,
folgender Fall:
Auf RPi1 ist Telegram Bot installiert und funktioniert einwandfrei. Gibt es eine Möglichkeit, über diesen Bot dann Variablen/Dummys auf einer zweiten RPi zu steuern? Beide RPi's mit FHEM und im selben Netzwerk.
Danke vorab!
Grüße
Was spricht gegen FHEM2FHEM?
Hallo,
ich hab mal eine Frage zwischendurch.
Ist es möglich 2 TelegramBot's zu definieren?
Ich glaube mich erinnern zu könne, das ich das schon mal versuch habe, aber da hat da Konflikten geführt, so dass keine mehr gingen.
Oder kann man alternativ irgendwie per http Befehl ein Nachricht verschicken?
z.B.: https://api.telegram.org/botxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=123456789&text=Hello
LG
Marlen
Zitat von: Marlen am 22 September 2017, 07:45:46
Hallo,
ich hab mal eine Frage zwischendurch.
Ist es möglich 2 TelegramBot's zu definieren?
Ich glaube mich erinnern zu könne, das ich das schon mal versuch habe, aber da hat da Konflikten geführt, so dass keine mehr gingen.
Oder kann man alternativ irgendwie per http Befehl ein Nachricht verschicken?
z.B.: https://api.telegram.org/botxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=123456789&text=Hello
LG
Marlen
Du kannst mehrere Bots parallel anlegen, es gfibt dabei im Botmodul keine Probleme.
Zitatisher geht das nicht, ich habe aber gerade in github eine Version eingechecked in der das möglich ist.
Dazu muss die Beschreibung des Favorites mit einem führenden Minuszeichen angegeben werden:
Also z.B.
Code: [Auswählen]
[-Relais1 ein]
Kannst du das offiziell einchecken sonst schreit Fhem immer beim Update , Weis ich kann es auch ausnehmen.
Aber das es ja funktioniert wie gewollt kann man es ja auch offiziell machen.
Danke LG
Zitat von: mrfloppy am 23 September 2017, 08:54:30
Kannst du das offiziell einchecken sonst schreit Fhem immer beim Update , Weis ich kann es auch ausnehmen.
Aber das es ja funktioniert wie gewollt kann man es ja auch offiziell machen.
Schon passiert - es gibt halt noch ein paar weiter Änderungen die inzwischen dazugekommen sind - diese machen aber bisher auch keine Probleme.
Aber Frage, wie oft machst Du denn ein update, dass das nach einer Woche ein Problem darstellt?
Gibt es nun eine möglichkeit mitgesendete Bilder als VOrschau anzuzeigen in CHrome oder WIn/Linux ? Und Android Statusbar beim runterziehen wie Pushbullet?
Zitat von: ChrisW am 24 September 2017, 21:59:39
Gibt es nun eine möglichkeit mitgesendete Bilder als VOrschau anzuzeigen in CHrome oder WIn/Linux ? Und Android Statusbar beim runterziehen wie Pushbullet?
Ich muss zugeben ich verstehe nur Bahnhof. Kannst Du die Frage mal etwas erklärne?
Wie könnte ich denn wohl ein
set myTelegramBot queryInline (15:00) Uhrzeit
senden?
: wird ja als Trennzeichen für text und data verwendet. Wäre es viel Aufwand das vielleicht auf :: zu ändern?
Zitat von: igami am 28 September 2017, 11:06:19
Wie könnte ich denn wohl ein
set myTelegramBot queryInline (15:00) Uhrzeit
senden?
: wird ja als Trennzeichen für text und data verwendet. Wäre es viel Aufwand das vielleicht auf :: zu ändern?
Der Aufwand hält sich in Grenzen, aber damit würden alle anderen Verwender von queryInline gezwungen sein den Code zu ändern.
Ich verstehe aber nicht, warum die Uhrzeit in Klammern stehen muss oder sonst eine leichte Veränderung geht?
Zitat von: viegener am 28 September 2017, 22:09:31
Der Aufwand hält sich in Grenzen, aber damit würden alle anderen Verwender von queryInline gezwungen sein den Code zu ändern.
Ich verstehe aber nicht, warum die Uhrzeit in Klammern stehen muss oder sonst eine leichte Veränderung geht?
Das war ein zu stark vereinfachtes Beispiel. Ich benutze Telegram um z.B. meine Waschmaschine zu programmieren. Dafür sende ich mir ein Keyboard mit 24 Zeilen und 4 Spalten, also Uhrzeit im 15 Minuten Takt. Noch nutze ich dafür die normalen Keyboards, würde das aber gerne auf die InlineKeyboards umstellen und habe dabei festgestellt, dass ich mir eben keine Uhrzeiten per inline Keyboard senden kann.
Wie wäre es mit einem Attribut, sagen wir mal inlineMsgDataSeperator, mit dem man das Trennzeichen festlegen kann? Default steht es auf : und kann von jedem Nutzer eingestellt werden.
Oder, wenn man den : einfach maskieren könnte, damit er nicht als Trennzeichen gewertet wird.
Noch etwas: Gibt es eine einfache Möglichkeit um die letzte Nachricht zu editieren? Bei queryEditInline muss ja msgId und peer angegeben werden und es muss noch darauf geachtet werden, dass die Nachricht nicht älter als 48 h ist. Ein neuer set "tryQueryEditInline" der die letzte msgId zu dem peer automatisch sucht und prüft ob diese im angegebenen Zeitraum ist wäre cool 8)
Zitat von: igami am 29 September 2017, 08:17:09
Das war ein zu stark vereinfachtes Beispiel. Ich benutze Telegram um z.B. meine Waschmaschine zu programmieren. Dafür sende ich mir ein Keyboard mit 24 Zeilen und 4 Spalten, also Uhrzeit im 15 Minuten Takt. Noch nutze ich dafür die normalen Keyboards, würde das aber gerne auf die InlineKeyboards umstellen und habe dabei festgestellt, dass ich mir eben keine Uhrzeiten per inline Keyboard senden kann.
Wie wäre es mit einem Attribut, sagen wir mal inlineMsgDataSeperator, mit dem man das Trennzeichen festlegen kann? Default steht es auf : und kann von jedem Nutzer eingestellt werden.
Oder, wenn man den : einfach maskieren könnte, damit er nicht als Trennzeichen gewertet wird.
Noch etwas: Gibt es eine einfache Möglichkeit um die letzte Nachricht zu editieren? Bei queryEditInline muss ja msgId und peer angegeben werden und es muss noch darauf geachtet werden, dass die Nachricht nicht älter als 48 h ist. Ein neuer set "tryQueryEditInline" der die letzte msgId zu dem peer automatisch sucht und prüft ob diese im angegebenen Zeitraum ist wäre cool 8)
Ist aus meienr Sicht gar nicht nötig, denn bei inlineButtons sollte (kann) man ja hinter dem Doppelpunkt die Daten mitgeben, die von Telegram zurückgegeben werden bei Betätigen des Knopfes.
Versuch doch einfach mal
set myTelegramBot queryInline (15:00:1500) Uhrzeit
Dann hast Du einen Button auf dem 15:00 steht (nur der letzte Doppelpunkt wird zur Abtrennung verwendet)
Zu dem anderen Punkt - Ja ich kann eine Routine einbauen, die die letzte gesendete Message verändert.
Allerdings ist wohl bei vielen das Szenario da, dass man ja nicht weiss, ob inzwischen von irgendeinem notify eine Warnung versendet wurde und dann die Warnung überschrieben wird.
Vielleicht braucht man eher so etwas wie ein queryDialog (zuqueryInline) - bei dem dann die msgId festgehalten wird
und alle folgende queryEditInline ohne msgId beziehen sich dann auf diese msgId
Das mit den 48 hrs gilt meines Wissens nach für delete.
Zitat von: viegener am 29 September 2017, 09:06:09
Ist aus meienr Sicht gar nicht nötig, denn bei inlineButtons sollte (kann) man ja hinter dem Doppelpunkt die Daten mitgeben, die von Telegram zurückgegeben werden bei Betätigen des Knopfes.
Versuch doch einfach mal
set myTelegramBot queryInline (15:00:1500) Uhrzeit
Dann hast Du einen Button auf dem 15:00 steht (nur der letzte Doppelpunkt wird zur Abtrennung verwendet)
Funktioniert selbstverständlich, nur muss ich dann die Nachricht wieder umformatieren um eine Uhrzeit zu erhalten und das wollte ich vermeiden ;)
Zitat von: viegener am 29 September 2017, 09:06:09
Zu dem anderen Punkt - Ja ich kann eine Routine einbauen, die die letzte gesendete Message verändert.
Allerdings ist wohl bei vielen das Szenario da, dass man ja nicht weiss, ob inzwischen von irgendeinem notify eine Warnung versendet wurde und dann die Warnung überschrieben wird.
Vielleicht braucht man eher so etwas wie ein queryDialog (zuqueryInline) - bei dem dann die msgId festgehalten wird
und alle folgende queryEditInline ohne msgId beziehen sich dann auf diese msgId
Das mit den 48 hrs gilt meines Wissens nach für delete.
Ich schreibe gerade ein msgDialog modul, welches mit dem msg Befel arbeitet, da steht das auf meiner Liste, auch wenn das dann nur Telegram spezifisch ist (was ich ausschließlich nutze), das Modul aber auch andere Messaging Dienste wie Jabber und Whatsapp unterstützt.
Da ich meine ganzen Dialoge, die vorher auf DOIF Basis waren nun umschreibe ist mir noch etwas aufgefallten. Meine Dialoge stammen alle aus der Zeit bevor man Keyboards per set versenden konnte. Da habe ich dann auf die Sub zurückgegriffen. Hier z.B. um mir meine Zählerstände zu schicken:
({my @meter = devspec2array("subType=meter:FILTER=disable!=1");;
$_ =
(split(": ", AttrVal($_, "alias", $_)))[1]
. "\n" . InternalVal($_, "STATE", "")
. " (" . (split(" ", ReadingsTimestamp($_, "state", "")))[0] . ")"
for(@meter);;
@meter = sort(@meter);;
TelegramBot_SendKeyboard(
"TelegramBot" ## TelegramBot device
, "[TelegramBot:replyId]" ## recipient
, "Zählerstände" ## msg
, @meter, "abbrechen" ## keyboards
);;
}
)
Ich möchte da jetzt nicht näher drauf eingehen, nur eine Sache: Es war möglich ein "\n" im Keyboard zu haben. Mit dem set Befehl wird ein \n im Keyboard jedoch nicht ausgewertet. Vielleicht kannst du da ja noch mal gucken? ;)
Zitat von: viegener am 29 September 2017, 09:06:09
Zu dem anderen Punkt - Ja ich kann eine Routine einbauen, die die letzte gesendete Message verändert.
Allerdings ist wohl bei vielen das Szenario da, dass man ja nicht weiss, ob inzwischen von irgendeinem notify eine Warnung versendet wurde und dann die Warnung überschrieben wird.
Vielleicht braucht man eher so etwas wie ein queryDialog (zuqueryInline) - bei dem dann die msgId festgehalten wird
und alle folgende queryEditInline ohne msgId beziehen sich dann auf diese msgId
Das mit den 48 hrs gilt meines Wissens nach für delete.
Es hat mich einfach nicht losgelassen: msgDialog: Instant Messaging als FHEM Interface (https://forum.fhem.de/index.php/topic,77297.0.html)
Zitat von: igami am 29 September 2017, 09:50:49
Ich möchte da jetzt nicht näher drauf eingehen, nur eine Sache: Es war möglich ein "\n" im Keyboard zu haben. Mit dem set Befehl wird ein \n im Keyboard jedoch nicht ausgewertet. Vielleicht kannst du da ja noch mal gucken? ;)
Kannst Du mit der obigen Routine wirklich eine zweizeilige taste im telegram-Keyboard erzeugen?
Ich bin damit gescheitert und habe verschiedene Optionen ausprobiert
Zitat von: viegener am 03 Oktober 2017, 02:00:04
Kannst Du mit der obigen Routine wirklich eine zweizeilige taste im telegram-Keyboard erzeugen?
Ich bin damit gescheitert und habe verschiedene Optionen ausprobiert
Einfach mal folgenden Code ausführen :)
{
my ($TelegramBot) = devspec2array("TYPE=TelegramBot");;
my $peer = AttrVal($TelegramBot, "defaultPeer", "");;
my $msg = "Mehrzeilige Keyboards für Alle!";;
my $hash = $defs{$TelegramBot};;
my (@rows, @keys);;
push(@rows, "Zeile 1");;
push(@rows, "Zeile 2\nZeile 3");;
for (@rows){
my @columns = split("\\|", $_);;
push(@keys, \@columns);;
}
my $jsonkb = TelegramBot_MakeKeyboard($hash, 1, 1, @keys);;
TelegramBot_SendIt($hash, $peer, $msg, $jsonkb, 0);;
$jsonkb = TelegramBot_MakeKeyboard($hash, 1, 0, @keys);;
TelegramBot_SendIt($hash, $peer, $msg, $jsonkb, 0);;
return;;
}
Zitat von: igami am 03 Oktober 2017, 09:48:41
Einfach mal folgenden Code ausführen :)
Sorry - ja und?
Auf meinem Android sieht es anders aus ???
@igami: Achso und auf iOS fehlt der Text Zeile 3 sogar komplett...
Testest Du auf Android? - auf einem alten Nexus geht es wohl
Also leider kann ich das wohl nicht unterstützen, denn auf iOS geht es gar nicht im web wird es ignoriert und nur auf Android scheint es zu gehen
Ich hätte nicht gedacht, dass es bei den Clients solche Unterschiede gibt. Dann ist es wohl besser das raus zu lassen. Ist auch hier (https://github.com/telegramdesktop/tdesktop/issues/2271) beschrieben.
Zitat von: igami am 03 Oktober 2017, 12:55:43
Ich hätte nicht gedacht, dass es bei den Clients solche Unterschiede gibt. Dann ist es wohl besser das raus zu lassen. Ist auch hier (https://github.com/telegramdesktop/tdesktop/issues/2271) beschrieben.
Ja allerdings ist das Verhalten unter iOS noch bedenklicher, denn der Text nach dem newline fehlt einfach...
Also erstmal vertagen bis Telegram dafür eine Lösung bereitstellt.
Hallo zusammen,
ich hab mal angefangen nun mein Bot und auch das Menü anzupassen.
Ich würde gerne nun auf Inline umsteigen, jedoch finde ich da keine gute Anleitung.
Gibt es da zum Thema Inline eine Anleitung?
Ich bin auch über die Favoriten Inline gestolpert.
Dort hab ich jedoch das Problem das ich als Antwort "-" bekomme.
Nachricht in Telegram mit "cmdReturnEmptyResult = 1":
Wohnung:
TelegramBot FHEM - Befehl: set Wohnzimmer.Schranklicht toggle: - Ergebnis:
OK
Nachricht in Telegram mit "cmdReturnEmptyResult = 0":
Wohnung:
-
RAW für TelegramBot:
defmod TelegramBot TelegramBot
attr TelegramBot allowUnknownContacts 0
attr TelegramBot cmdFavorites /S
attr TelegramBot cmdKeyword fhem
attr TelegramBot cmdRestrictedPeer 13*****14 19*****43 -19*****43
attr TelegramBot cmdReturnEmptyResult 0
attr TelegramBot disable 0
attr TelegramBot favorites /[-Fernseher an/aus] = set Wohnzimmer.TV.Steckdose toggle;;\
/[-Schranklicht an/aus] = set Wohnzimmer.Schranklicht toggle;;\
/[-Nachtlicht 3 Min] = set Schlafzimmer.Nachtlicht on-for-timer 180;;\
/[-Nachtlicht an/aus] = set Schlafzimmer.Nachtlicht toggle;;\
/[-Waschmaschine an/aus] = set Kueche.Waschmaschine toggle;;\
/[-Waschmaschine Timer] = set Waschmaschine.Timer 1;;\
/[-Laserdrucker an/aus] = set Steckdose.Laserdrucker toggle
attr TelegramBot favorites2Col 1
attr TelegramBot favoritesInline 1
attr TelegramBot pollingTimeout 120
attr TelegramBot utf8Special 1
@Flipper92 - das mit dem - ist momentan der einzige Weg mit inline keyboards (quasi eine leere Nachricht zu simulieren).
Ich könnte hier noch eine Variante einbauen, bei der die Nachricht gelöscht wird, aber momentan bleibt noch dieser rest übrig.
Zitat von: viegener am 03 Oktober 2017, 19:01:58
@Flipper92 - das mit dem - ist momentan der einzige Weg mit inline keyboards (quasi eine leere Nachricht zu simulieren).
Ich könnte hier noch eine Variante einbauen, bei der die Nachricht gelöscht wird, aber momentan bleibt noch dieser rest übrig.
Wenn es gelöscht wird, dann klappt mir die Favoritenliste dennoch zusammen oder?
Da ich manchmal mehr als eine Aktion in den Favs durchführen möchte ist das aktuell noch nicht so toll für mich.
Zur Not geht es halt wieder zur Tastatur. Bin ja schon froh das es überhaupt geht :-)
Zitat von: Flipper92 am 03 Oktober 2017, 19:53:01
Wenn es gelöscht wird, dann klappt mir die Favoritenliste dennoch zusammen oder?
Da ich manchmal mehr als eine Aktion in den Favs durchführen möchte ist das aktuell noch nicht so toll für mich.
Zur Not geht es halt wieder zur Tastatur. Bin ja schon froh das es überhaupt geht :-)
Ja, wenn die Nachricht gelöscht würde, gibt es keine Favoritenliste mehr, aber ein einfaches anklicken des vorherigen favoritenauswahlbefehls führt wieder zur Tastatur
Hallo Viegener,
folgendes Problem:
ich habe einen Doif mit dem ich mir ein Menü für meinen Staubsauger ausgeben lasse.
Das def sieht so aus:
(["^TelegramBot$:^queryData: Roberta.Start$"])
(set Roberta start)
DOELSEIF
(["^TelegramBot$:^queryData: Roberta.Stopp$"])
(set Roberta stop)
DOELSEIF
(["^TelegramBot$:^queryData: Roberta.Laden$"])
(set Roberta charge)
DOELSEIF
(["^TelegramBot$:^queryData: Roberta.Status$"])
(set TelegramBot msg @#Roberta Hier ein paar Infos : \nBatterie Level = [Roberta:batteryLevel]% \nState = [Roberta:state] \nLetzte Reinigung = [Roberta:history_0])
DOELSEIF
([Roberta:state] eq "Docked")
(set TelegramBot msg @#Roberta Letzte Reinigung =\n[Roberta:history_0]\nBattery Level = [Roberta:batteryLevel]%\nIch lade mich jetzt wieder auf)
DOELSEIF
([Roberta:state] eq "Cleaning")
(set TelegramBot msg @#Roberta Ich fahre jetzt los, und melde mich wenn ich fertig bin)
DOELSEIF
([Roberta:error] ne "none")
(set TelegramBot queryInline @#Roberta (Roberta Start) (Roberta Stopp) (Roberta Laden) (Roberta Status) Ich habe einen Fehler. Er lautet [Roberta:error_code] Hier mögliche Kommandos)
DOELSEIF
(["^TelegramBot$:^msgText: M$"] and ["^TelegramBot$:^msgChat: #Roberta$"])
(set TelegramBot queryInline @#Roberta (Roberta Start) (Roberta Stopp) (Roberta Laden) (Roberta Status) (Roberta Saugstufe) Hier das Menü für Roberta)
DOELSEIF
([Haus:state] eq "absent")(set Roberta start)
DOELSEIF
(["^TelegramBot$:^queryData: Roberta.Saugstufe$"])
(set TelegramBot queryInline @#Roberta (90|80|70|60|50) (40|30|20|10|0) Mögliche Saugstufen)
DOELSEIF
([TelegramBot:"^queryData:..*$"])
{
my $var = ReadingsVal("TelegramBot", "msgChat", "");
my $var1 = ReadingsNum("TelegramBot", "queryData", "");
if($var eq "#Roberta" && $var1 <= 100){
fhem "set Roberta fan_power $var1";}
}
Wenn nun dieser Teil eintrifft:
(["^TelegramBot$:^queryData: Roberta.Saugstufe$"])
(set TelegramBot queryInline @#Roberta (90|80|70|60|50) (40|30|20|10|0) Mögliche Saugstufen)
und ich nun die Auswahl treffe (sei es 90 oder 80 etc.)
erhalte ich im Event-Monitor nur
2017-10-06 22:07:49 readingsProxy TelegramSensor 20
2017-10-06 22:07:49 readingsProxy TelegramSensor2 20
2017-10-06 22:07:49 TelegramBot TelegramBot queryID: 673649127870307661
2017-10-06 22:07:49 TelegramBot TelegramBot queryPeer: Stephan
2017-10-06 22:07:49 TelegramBot TelegramBot queryPeerId: 156846160
2017-10-06 22:07:49 TelegramBot TelegramBot queryData: 20
2017-10-06 22:07:49 TelegramBot TelegramBot queryReplyMsgId: 3730
Mir fehlt da das triggern von
2017-10-06 22:08:48 TelegramBot TelegramBot msgChat: #Roberta
um die letzte Bedingung zu erfüllen.
Siehst du da einen Denkfehler meinerseits, oder ist das so gewollt?
Grüße
@Esjay: Die Antworten auf queryInline buttons sind im Sinne von telegram keine wirklich messages, deshalb werden auch andere Daten übertragen. Um die Antwort eindeutig identifizieren zu können ist der data-Teil gedacht. Den könntest Du ja entsprechend eindeutig wählen.
Deshalb gibt es auch einen komplett getrennten set von readings für die queryInline-Antworten
Die nicht-inline keyboards verhalten sich da anders und senden normale Messages, allerdings entsprechen diese Nachrichten immer dem Text auf denKeyboardbuttons.
Zitat von: viegener am 06 Oktober 2017, 23:10:55
@Esjay: Die Antworten auf queryInline buttons sind im Sinne von telegram keine wirklich messages, deshalb werden auch andere Daten übertragen. Um die Antwort eindeutig identifizieren zu können ist der data-Teil gedacht. Den könntest Du ja entsprechend eindeutig wählen.
Deshalb gibt es auch einen komplett getrennten set von readings für die queryInline-Antworten
Die nicht-inline keyboards verhalten sich da anders und senden normale Messages, allerdings entsprechen diese Nachrichten immer dem Text auf denKeyboardbuttons.
Dank dir für die Erklärung zu so später Stunde.
Grüße
Hallo,
bei mir läuft der TelegramBot mittlerweile und benachrichtigt mich z.B. auch über eine fertige Waschmaschine.
Jetzt würde ich mir noch gerne die Mülltermine zuschicken lassen. Allerdings habe ich folgendes Problem:
In der 99_myUtils.pm habe ich zum Test folgende Funktion:
sub Abfall_telegram(){
fhem("set telegram message @42xxxxxxx Test");
}
Über
define test at *22:46 { Abfall_telegram() }
will ich mir eine Test-Nachricht schicken lassen, was aber zu folgender Ausgabe im log führt:
2017.10.21 22:46:00 3: set telegram message Test : TelegramBot_Set: Command message, without explicit peer requires defaultPeer being set
2017.10.21 22:46:00 3: test: TelegramBot_Set: Command message, without explicit peer requires defaultPeer being set
Allerdings gebe ich ja über die PeerId einen expliziten Empfänger an - oder verstehe ich etwas falsch? Der Befehl set telegram message @42xxxxxxx Test
direkt in FHEM eingegeben verschickt die Nachricht korrekt.
Könnt ihr mir weiterhelfen?
Danke und viele Grüße
@blenni: Gefühlt wurde diese Frage wohl schon 1000-mal beantwortet, aber hier trotzdem nochmal in kurzform:
@ hat eine Spezialfunktion in perl, deshalb entweder den Text in einfache Anführungszeichen oder mit \ escapen.
Hallo,
ich versuche vergeblich TelegramBot einzurichten.
Was habe ich bisher getan:
1. Auf dem Handy Telegram installiert, eine neuen bot angelegt. Einen Token habe ich erhalten.
2. In fhem das TelegramBot-Device mit dem neuen Token angelegt.
Hier tritt nun das Problem auf. Der Token wird nicht übernommen. Ich bin davon ausgegangen, dass ich den Token falsch eingetragen habe. Auch nach mehrmaliger Kontrolle durch 4 Augen wird er nicht übernommen. Ich habe dann den bot wieder gelöscht und einen neuen angelegt. Doch mit dem neuen Token funktioniert es ebenfalls nicht. Ich habe leider keinen ähnlichen Fall gefunden.
Hat jemand eine Idee wo das Problem liegt bzw. was ich falsch gemacht habe.
Gruß
Apollon
Was heißt nicht übernommen?
Was steht im Log?
Gruß, Joachim
Im log steht: 2017.10.24 09:36:11 3: TelegramBot_Undef Telegram: called
Mehr steht nicht im log zu Telegram.
"Nicht übernommen" heißt, dass das Reading Token nicht erscheint und Def nach der Seitenaktualisierung wieder leer ist.
Ein wenig mehr Log vorher/nachher wäre evtl. nicht verkehrt...
Ebenso die Verwendung von code-Tags ('#' im "Menü") für Postings von Logs/lists etc.
Stelle doch mal Log auf verbose 5 (global oder nur beim Telegram)...
Gruß, Joachim
Bis vor wenigen Minuten stand nichts weiter im Log. Nun sieht urplötzlich das Device (Internals und Readings) ganz anders aus, obwohl ich seit Stunden nicht mehr geändert habe (außer fhem-Neustarts). Im Log geht jetzt die Post ab. Es erscheint auch das Reading msgText mit der letzten Nachricht. Im Listing sehe ich nun auch den Token.
Ich habe keine Ahnung was nun passiert ist. Ob nun alles in Ordnung ist, kann ich noch nicht sagen.
Ich werde jetzt versuchen, das Device so einzustellen, dass ich auf meinem Handy Pushnachrichten bekomme.
Vielen Dank für die Hilfestellung.
Gruß
Apollon
Zitat"Nicht übernommen" heißt, dass das Reading Token nicht erscheint und Def nach der Seitenaktualisierung wieder leer ist.
Das ist aber normal.
Wie ich gerade schon geschrieben habe, sahen bis vor Kurzem die Internals und Readings ganz anders aus. Ich habe natürlich vorher im Netz nach einer Lösung gesucht und da sahen die Internals und Readings eben anders aus.
@Apollon: Zur Erklärung, das authtoken wird übernommen, aber NICHT im device gespeichert, sondern versteckt, wie auch für viele anderen devices, damit es nicht unabsichtlich in einem list hier öffentlich gepostet wird und auch nicht einfach einsehbar (stichwort uniqueid).
der Bot empfängt Nachrichten erst wenn pollingtimeout gesetzt ist (und natürlich etwas gesendet wird)
In fhemweb werden NEUE Readings nicht automatisch aktualisiert, sondern erst nach einem refresh
@viegener
Danke für die Info.
Aber wenn ich nun ein list Telegram eingebe, wird der Token kompl. angezeigt.
Das Senden von Befehlen funktioniert. Aber dafür möchte ich Telegram eigentlich nicht nutzen. Ich habe pollingTimeout wieder auf 0 gesetzt.
@Apollon: Ja Du hast recht, das Token steckt leider in den URLs, die innerhalb von FHEM übergeben werden (HTTPUtils) - z.B. in den http-headern etc. Momentan ist das also immer noch mit Vorsicht zu posten. Es sollte aber nicht in der Detailansicht von FHEMWeb angezeigt werden?
Wenn Du nichts über Telegram empfangen willst, kann es Sinn machen pollingTimeout auf 0 zu setzen, allerdings brauchst Du alleine um Kontakte zu erhalten mindestens einmal eine empfangene Nachricht vom Benutzer. Ohne Kontakte kannst Du den Benutzern auch keine Nachrichten senden. Es gibt aber natürlich andere Möglichkeiten den weiteren Zugriff etc zu beschränken.
Ich werde Telegram nur mit fhem nutzen. Wer hat schon Telegram!
Nachrichten erhalte ich von Telegram. Die Pushnachrichten funktionieren einwandfrei, so wie ich mir das vorgestellt habe. Was ich noch einrichten muss, ist das Handy meiner Frau, damit sie auch die Nachrichten erhält.
Zitat von: Apollon am 24 Oktober 2017, 15:37:41
Wer hat schon Telegram!
Ich habe nur noch 2 Kontakte mit denen ich regelmäßig über WhatsApp kommuniziere. Die Telegram Kontaktliste wird jeden Tag voller.
Wie hast du das denn geschaft?
Off-Topic on
Zitat von: Apollon am 24 Oktober 2017, 15:37:41
Wer hat schon Telegram!
Viele viele Menschen, die die Verbindung von Fratzenbuch und WhatsApp kritisch sehen.
Off-Topic off
Zitat von: Apollon am 24 Oktober 2017, 16:22:36
Wie hast du das denn geschaft?
Das geht ganz von alleine. Denkende Menschen wechseln irgendwann.
Besteht die Möglichkeit sich per Telegram einen Plot (SVG) als Bild zusenden zu lassen?
Ja: https://wiki.fhem.de/wiki/TelegramBot#Versand_von_SVG-Plots
Super! Klappt problemlos. Toll.
Hallo,
ich möchte eine Quittung auf einen ausgeführten Befehl senden:
Telegram:msgText.* {
if ($EVTPART1 eq 'Licht') {
if ($EVENT =~ 'an') {
fhem("set Wz_Wohnzimmer on");
fhem("set WZ_Fensterlicht on");
fhem("set Telegram message @Vorname_Name Licht an");
}
Leider kommt da nur die Fehlermeldung:
ZitatGlobal symbol "@Vorname_Name" requires explicit package name at (eval 314903) line 6.
Was mache ich da falsch?
Zitat von: DD am 29 Oktober 2017, 09:44:15
Leider kommt da nur die Fehlermeldung:
Was mache ich da falsch?
Das Du nicht mit der Fehlermeldung mal im Forum suchst
requires explicit package nameDas ist ein Standardfehler, @ und andere Zeichen haben in perl eine Spezialbedeutung und am einfachsten setzt Du den String in einfach Anführungszeichen (oder escapest es). Aber wie gesagt das findet sich auch zuhauf als Erklärung in diesem Thread...
Danke!
Für alle die hier auch noch mal suchen, das ist die Lösung:
\@.....
Telegram:msgText.* {
if ($EVTPART1 eq 'Licht') {
if ($EVENT =~ 'an') {
fhem("set Wz_Wohnzimmer on");
fhem("set WZ_Fensterlicht on");
fhem("set Telegram message \@Vorname_Name Licht an");
}
Hi,
auch auf die Gefahr dass das hier schon einmal besprochen wurde (ich habe nichts gefunden), stelle ich die Frage hier noch mal:
Wie kann ich die Antwort auf eine Telegramm Anfrage an den Absender zurück senden?
Der Absender wird ja als "msgChat:" ausgegeben.
Gruß
Tobi
Zitat von: DD am 29 Oktober 2017, 13:05:55
Hi,
auch auf die Gefahr dass das hier schon einmal besprochen wurde (ich habe nichts gefunden), stelle ich die Frage hier noch mal:
Wie kann ich die Antwort auf eine Telegramm Anfrage an den Absender zurück senden?
Der Absender wird ja als "msgChat:" ausgegeben.
Gruß
Tobi
Das kommt ein bisschen darauf an was Du genau willst - wenn ich die Frage zumindest richtig verstanden habe
a) Du willst die Antwort genau an Benutzer @x senden, der Deinem Bot eine nachricht gesendet hat auf die Du reagierst dann verwendest Du für die Antwort den Inhalt von Reading
msgPeerId - Antowrt landet immer im persönlichen Chat des Benutzers mit dem Bot
b) Du willst die Antwort an den Chat zurücksenden, wenn der Benutzer @x die Anfrage im Chat gesendet hat, dann verwendest Du das reading
msgChatId.
Das Senden der Nachricht erfolgt dann z.B. aus perl mit:
fhem('set telegrambot @'.$replyid." <Deine Nachricht> ");
Wenn in $replyid die gespeicherte chat oder peerid steht
...ID ist günstiger, da damit das Problem gleichnamiger Benutzer umgangen wird
Grundsätzlich gibt es noch mehr Varianten
Im Prinzip ist aber die Frage, was Du machen willst und warum favoriten etc nicht helfen, denn hier musst Du Dich selbst um die Sicherheit kümmern!
Hi,
a) passt.
In einem notify habe ich verschiedene Statusmeldungen, Lichtsteuerungen, etc. hinterlegt. Wer die nutzt, soll die Antwort erhalten.
Ich muss aber gestehen dass ich wohl etwas noch nicht verstanden habe.
In den Readings sehe ich zum Beispiel den aktuellen Chat Partner "sentMsgPeer". Du schreibst ich soll ".$replyid." nutzen. Muss ich diesen erst irgendwo beschreiben?
Tobi
Zitat von: DD am 29 Oktober 2017, 13:51:41
Hi,
a) passt.
In einem notify habe ich verschiedene Statusmeldungen, Lichtsteuerungen, etc. hinterlegt. Wer die nutzt, soll die Antwort erhalten.
Ich muss aber gestehen dass ich wohl etwas noch nicht verstanden habe.
In den Readings sehe ich zum Beispiel den aktuellen Chat Partner "sentMsgPeer". Du schreibst ich soll ".$replyid." nutzen. Muss ich diesen erst irgendwo beschreiben?
Tobi
/quote]
Nein nicht beschreiben, aber schon irgendwo ablegen.
Da Du nicht schreibst wie Du antworten willst, hatte ich angenommen, dass Du irgendwo eine perl-Routine (FHEM basiert auf perl) hast, die die Antwort senden soll und die gestartet wird, wenn eine bestimmte Nachricht empfangen wird.
In dieser perl-Routine würdest Du den Empfänger in der perl-Variable $replyid ablegen. Das war kein vollständiger Code!
Wie gesagt ohne Informationen ist den schwierig zu helfen, denn aus DOIF und notify geht es wieder anders, aber ohne Hintergrund klappt die Antowrt nicht
o.k.
Im notify habe ich folgenden Code zur Zeit drin stehen.
Damit geht der Status immer an den selben:
Telegram:msgText.* {
if ($EVTPART1 eq 'xLicht') {
if ($EVENT =~ 'an') {
fhem("set WZ_Fensterlicht on");
fhem("set Telegram message \@Name_Vorname Fenster Licht ist an");
}
elsif ($EVENT =~ 'aus') {
fhem("set WZ_Fensterlicht off");
fhem("set Telegram message \@Name_Vorname Fenster Licht ist aus");
}
}
Nun möchte ich "\@Name_Vorname " so ersetzen dass immer der letzte Absender die Antwort erhält
Ich möchte an dieser Stelle noch Mal für das msgDialog Modul werben
@DD: Verwende entweder msgDialog oder Favoriten im TelegramBot, da bekommst Du das auch sicher hin, denn sonst kann jeder bei Dir das Licht oder sonstiges einschalten.
Wenn Du das partout nicht willst, dann solltest Du in Deinem Code einfach ReadingsVal verwenden.
In Deinem Code also:
Telegram:msgText.* {
if ($EVTPART1 eq 'xLicht') {
my $replyID = '\@'.ReadingVal("Telegram", "msgPeerId ", <deine defaultID>);
if ($EVENT =~ 'an') {
fhem("set WZ_Fensterlicht on");
fhem("set Telegram message ".$replyID." Fenster Licht ist an");
}
elsif ($EVENT =~ 'aus') {
fhem("set WZ_Fensterlicht off");
fhem("set Telegram message ".$replyID." Fenster Licht ist aus");
}
}
Hey, Super
Danke!
Tobi
Zitat von: DD am 29 Oktober 2017, 16:45:43
Hey, Super
Danke!
Tobi
Gern geschehen, aber da Du Dich bisher dazu nicht geäussert hast - weisst Du was Du da tust? Wenn das nicht abgesichert ist, kann bei Dir jeder von aussen schalten!!! Und es gibt in Telegram genügend Leute die alle Bots ausprobieren!
Ich habe das Gefühl, Du bist Dir nicht im klaren darüber, dass Du gerade aussen einen Lichtschalter anbringst, der von jedem betätigt werden kann...
Doch, bin ich.
Ich bin im Moment auch nur am experimentieren.
Ich mache zum Schluss auch alles wieder zu! :)
Noch mal eine Frage:
Ich möchte eine Kameraaufnahme über notify versenden.
Das Bild wird aufgenommen wenn die Klingel betätigt wird - das funktioniert!
Nun soll der Versand erfolgen:
K_Klingel:sensor:.closed
{fhem("set Telegram message \@Vorname_Name Jemand hat an der Haustüre geklingelt");; \
fhem("set Telegram message \@Vorname_Name sendImage /opt/fhem/www/images/Kamera_Hof_snapshot.jpg");;
}
Leider wird nun nicht das Bild verschickt sondern der Pfad:
ZitatNachricht:
sendImage /opt/fhem/www/images/Kamera_Hof_snapshot.jpg
Was habe ich vergessen?
@DD Du versuchst 2 Befehle auf einmal zu machen message und sendimage sind getrennte Befehle
ich habe es auch schon in der Komandozeile bzw. ohne die erste Textnachricht versucht. Es kommt immer nur der Link
Oh je - wie gesagt es sind zwei Befehle / sendImage ist ein eigener Befehl / message wäre ein anderer
fhem("set Telegram sendImage \@Vorname_Name /opt/fhem/www/images/Kamera_Hof_snapshot.jpg")
Super, Danke!
ZitatTelegram:msgText.* {
if ($EVTPART1 eq 'xLicht') {
my $replyID = '\@'.ReadingVal("Telegram", "msgPeerId ", <deine defaultID>);
if ($EVENT =~ 'an') {
fhem("set WZ_Fensterlicht on");
fhem("set Telegram message ".$replyID." Fenster Licht ist an");
}
elsif ($EVENT =~ 'aus') {
fhem("set WZ_Fensterlicht off");
fhem("set Telegram message ".$replyID." Fenster Licht ist aus");
}
}
Hi,
ich will das bei mir auch gerade mal umstellen. Was ist die "defaultID"?
Ich habe die offset_id versucht. Die ist es wohl nicht. Ansonsten bleiben nur die Absender ID'n. Aber die sind doch fix.
Hallo Johannes,
schau gerade ins Log weil ich OWX NG versucht hatte.
Viel mir nun eine Meldung vom TelegramBot auf:
ZitatPERL WARNING: Use of uninitialized value $minusdesc in string eq at ./FHEM/50_TelegramBot.pm line 1022, <> line 53.
Ist das bekannt? Steht immer wieder im Log.
Gruss Gerd
Zitat von: TobiasR am 30 Oktober 2017, 18:35:43
Hi,
ich will das bei mir auch gerade mal umstellen. Was ist die "defaultID"?
Ich habe die offset_id versucht. Die ist es wohl nicht. Ansonsten bleiben nur die Absender ID'n. Aber die sind doch fix.
Ist quasi "egal" was du dort einträgst ;)
Es ist der "Ersatzwert" falls "msgPeerId" nicht gelesen werden kann...
In dem Fall ginge die Antwort eben an die defaultID...
Siehe ReadingsVal...
Gruß, Joachim
Aber ich erhalte eine Fehlermeldung im Log:
TelegramBot Telegram sentMsgResult: NonBlockingGet: returned FAILED peer not found :@Mein_Name:
Muss ich vielleicht noch etwas freischalten?
Hat zwar nichts mit dem Fehler zu tun (nehme ich an) aber der Befehl heißt:
ReadingsVal (statt ReadingVal)
Was steht denn im Reading msgPeerId ?
Steht @Main_Name denn als gültiger Peer beim Telegram?
Ich glaube unter Contacts (mag mich aber täuschen, arbeite nur mit dem defaultPeer, unterhalte mich nur mit mir ;) ).
Gruß, Joachim
Ja, das mit dem Tippfehler hatte ich schon berichtigt.
Unter den Kontakten ist Mein_Name vorhanden.
Er identifiziert ihn ja auch über die ID
Was hast du in der Abfrage ReadingsVal nun als <deine defaultID> eingetragen?
Die msgPeerId ist ja nur eine Nummer (zumindest bei mir)...
fhem("set Telegram message ".$replyID." Fenster Licht ist an");
(so hab ich es grad getestet und geht nicht EDIT: geht auch, habe nur falsch getestet ;) )
müsste so auch gehen:
fhem("set Telegram message $replyID Fenster Licht ist an");
(so hab ich es grad getestet und geht)
Gruß, Joachim
nein, bei mir leider nicht.
Er identifiziert über "msgPeerId" den Namen. Und der steht dann mit einem @ als Fehler im Log
TelegramBot Telegram sentMsgResult: NonBlockingGet: returned FAILED peer not found :@Mein_Name:
Ich habe beide Schreibweisen versucht. Das Ergebnis ist immer das gleiche
Was steht im Reading msgPeerId?
Was hast du bei <deine defaultID> eingetragen?
Gruß, Joachim
ZitatWas steht im Reading msgPeerId?
Dort steht eine 9 Stellige Zahl. - Mein Absender
ZitatWas hast du bei <deine defaultID> eingetragen?
Zum Testen habe ich da einfach mal ein xxx eingetragen.
Da dies nicht angezeigt wird und in der Log Meldung mein Name steht, schließe ich daraus dass der über die 9 Stellige Nummer gezogen wird
Also ich weiß nicht was bei dir nicht funktioniert.
Bei mir kommt bei der Abfrage: ReadingsVal("MeinBot", "msgPeerId", "n.a.") die Nummer zurück (also nat. das was im Reading steht) daraus wird dann "\@9-stelligeNummer" und damit funktioniert es...
Warum bei dir (wie auch immer) irgendwas mit dem Namen kommt ist mir ein Rätsel.
Und eigentlich sollte auch der Name funktionieren allerdings mit einem weiteren @...
...laut commandRef:
Zitat
Each peer given needs to be always prefixed with a '@'. Peers can be specified as contact ids, full names (with underscore instead of space), usernames (prefixed with another @) or chat names (also known as groups in telegram groups must be prefixed with #)
Evtl. mal statt '\@' ein '\@\@' oder auch mal das '\@' ganz weg lassen...
...wobei wie gesagt es eigentlich schon so passen müsste...
Außer der Name wäre ein chat name, dann eben '#' als Prefix...
Gruß, Joachim
Das war die Richtige Lösung: '\@\@'
Besten Dank!
Tobias
Bitte gerne!
Bleibt aber irgendwie (zumindest für mich) eigenartig...
Viel Spaß, Joachim
Zitat von: Maista am 30 Oktober 2017, 19:14:13
Hallo Johannes,
schau gerade ins Log weil ich OWX NG versucht hatte.
Viel mir nun eine Meldung vom TelegramBot auf:
Ist das bekannt? Steht immer wieder im Log.
Gruss Gerd
Ja das ist bekannt und in der aktuellen github-Version auch gelöst
Zitat von: TobiasR am 30 Oktober 2017, 23:12:57
Das war die Richtige Lösung: '\@\@'
Besten Dank!
Tobias
Sorry wenn bei Dir mit doppeltem \@ geht, dann hast Du wohl nicht das Reading msgPeerId sondern msgPeer in Deinem Code ? Korrekt?
Das solltest Du ändern, denn damit verwendest Du einen Namen, der nicht unbedingt eindeutig ist.
Aber nochmals der Kommentar von oben, warum verwendest Du keine Favoriten, damit sind genau solche Befehle einfach konfigurierbar, ohne dass man gleich ein Sicherheitsloch aufreisst.
Hi,
ehrlich gesagt verstehe ich den Zusammenhang zwischen den Favoriten (Vereinfachen von Befehlen) und meinem Ziel, dem Absender eine Nachricht zu senden, nicht.
Natürlich kann ich einen Favoriten für '\@\@'.ReadingVal("Telegram", "msgPeerId ", <deine defaultID>) mit /Absender anlegen.
Aber was hat das dann mit dem schließen eines Sicherheitsloch zu tun?
Tobi
In dem Code, zumindest der um den es hier eigentlich ging, wurde ja ein Befehl in FHEM ausgeführt basierend auf einer Nachricht von aussen. Das ist aber genau die Domäne der Favoriten.
Die Sicherheitslücken sind:
- Im Bot werden konfigurierbar nur spezielle peers zugelassen, die Kommandos ausführen können
- Dabei wird auch peerids verwendet und nicht Namen
Aber das ist hier im Thread bereits mehrfach angesprochen worden und ich kann nur Empfehlungen geben, das Risiko kann ich nicht reduzieren.
Hallo viegener,
der Thread ist mittlerweile 115 Seiten lang. Die alle zu lesen ist schier unmöglich!
Ich werde aber mal auf die Suche gehen und deine Hinweise umsetzen.
Beste Grüße
Tobi
Hallo,
auch wenn das vielleicht gerade nicht zum Thema passt könnt ihr mir ja eventuell doch helfen ;D
Ich programmiere derzeit einen Telegram-Chatbot für die Firma in der ich derzeit Praktikum für mein Fachabitur mache.
Das Ziel ist es bei einem ausgelösten Alarm demjenigen dem die Sensoren gehören eine Nachricht zu schicken, dass der Alarm ausgelöst wurde.
Ich habe bereits einen /aktivieren Befehl der einen zufällig generierten Token an die Email des Users schickt und einen /register Befehl der nach Eingabe die Email des Nutzers verlangt. Leider speichert er nicht die Mail die ich dem Bot schicke sondern das /register als Variable in die Spalte E-Mail.
Hier der Code dazu:
<?php
// Error handling
/**
* Error handler, passes flow over the exception logger with new ErrorException.
*
* @param $num
* @param $str
* @param $file
* @param $line
* @param null $context
*/
http_response_code(200);
function log_error( $num, $str, $file, $line, $context = null ) {
log_exception( new ErrorException( $str, 0, $num, $file, $line ) );
}
/**
* Uncaught exception handler.
* @param \Exception $e
*/
function log_exception( $e ) {
// setup notifier
$API_KEY = '417276917:AAH0Yy_y7RVWP46lZriNf_WxVa6bt4S9yk8'; // Replace 'XXXXXXXXXX' with your bot's API token
$DEV_ID = '439425041'; // Replace 'XXXXXXXXXX' with your Telegram user ID (use /whoami command)
// get incomming message
$incoming = file_get_contents('php://input');
// if message exist convert it into array
$incoming = !empty($incoming) ? json_decode(file_get_contents('php://input'), true) : false ;
// developer notification message text
$message = get_class( $e ) . " - <b>{$e->getMessage()}</b>;".PHP_EOL."File: <b>{$e->getFile()}</b>; Line: <b>{$e->getLine()}</b>; Time: <b>".date("H:i:s / d.m.Y")."</b>;".PHP_EOL."<b>Incoming message:</b><pre>".(!empty($incoming)?var_export($incoming, true).'</pre>':'</pre>'.PHP_EOL.'<b>Trace:</b><pre>'.$e->getTraceAsString().'</pre>');
// developer notification message settings
$fields_string = '';
$url = 'https://api.telegram.org/bot'.$API_KEY.'/sendMessage';
$fields = [
'chat_id' => urlencode($DEV_ID),
'parse_mode' => urlencode('HTML'),
'text' => urlencode(''.$message)
];
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
// Uncomment following line and change path to store errors log in custom file
// file_put_contents( __DIR__ .'/custom_errors.log', ($result?'Notified: '.var_export($result, true).PHP_EOL:'Not notified: '.var_export($result, true).PHP_EOL).$message . PHP_EOL, FILE_APPEND );
// Sending 200 response code
header('X-PHP-Response-Code: 200', true, 200);
exit();
}
/**
* Checks for a fatal error, work around for set_error_handler not working on fatal errors.
*/
function check_for_fatal()
{
$error = error_get_last();
if ( $error["type"] == E_ERROR )
log_error( $error["type"], $error["message"], $error["file"], $error["line"] );
}
register_shutdown_function( "check_for_fatal" );
set_error_handler( "log_error" );
set_exception_handler( "log_exception" );
ini_set( "display_errors", "off" );
error_reporting( E_ALL );
$botToken = "417276917:AAH0Yy_y7RVWP46lZriNf_WxVa6bt4S9yk8";
$website = "https://api.telegram.org/bot".$botToken;
function crypto_rand_secure($min, $max)
{
$range = $max - $min;
if ($range < 1) return $min; // not so random...
$log = ceil(log($range, 2));
$bytes = (int) ($log / 8) + 1; // length in bytes
$bits = (int) $log + 1; // length in bits
$filter = (int) (1 << $bits) - 1; // set all lower bits to 1
do {
$rnd = hexdec(bin2hex(openssl_random_pseudo_bytes($bytes)));
$rnd = $rnd & $filter; // discard irrelevant bits
} while ($rnd > $range);
return $min + $rnd;
}
function getToken($length)
{
$token = "";
$codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$codeAlphabet.= "abcdefghijklmnopqrstuvwxyz";
$codeAlphabet.= "0123456789";
$max = strlen($codeAlphabet); // edited
for ($i=0; $i < $length; $i++) {
$token .= $codeAlphabet[crypto_rand_secure(0, $max-1)];
}
return $token;
}
$connection = mysqli_connect ('localhost','id3057414_niklas','DerAdmin2017!','id3057414_testuser','3306');
if(!$connection){
die('Verbindung zur Datenbank konnte nicht hergestellt werden!' .mysqli_error());
}
echo 'Erfolgreich Verbunden';
$auswahl=mysqli_select_db($connection,"id3057414_testuser");
if(!$auswahl)
{
die('Zugriff auf die Datenbank nicht möglich! Existiert sie wirklich?');
}
$update = file_get_contents("php://input");
$update = json_decode($update, TRUE);
$chatID = $update["message"]["chat"]["id"];;
$text = $update["message"]["text"];
$lesen = "SELECT * FROM Kundenalarm";
if($text=="/register")
{
http_response_code(200);
sleep(3);
$name = file_get_contents("php://input");
$name = json_decode($name, TRUE);
$name = $name["message"]["from"]["first_name"];
$aufnahme = mysqli_query($connection,"INSERT INTO Kundenalarm (Name,Kennung,GeraeteID,Alarm,EMail,Aktiviert,Token) VALUES ('$name','$chatID','','','','0','')");
if(isset($name))
{
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=Gib deine Email ein!");
http_response_code(200);
sleep(10);
$email = file_get_contents("php://input");
$email = json_decode($email, TRUE);
$Email = $email["message"]["text"];
http_response_code(200);
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=$Email");
$datenbank= mysqli_query($connection,"INSERT INTO Kundenalarm (Name,Kennung,GeraeteID,Alarm,EMail,Aktiviert,Token) VALUES ('$name','$chatID','','','','0','')");
if(!$aufnahme||!$datenbank)
{
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=Dein Name wurde nicht in die Datenbank aufgenommen !");
}
else
{
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=Dein Name wurde nun in die Datenbank aufgenommen!");
}
}
}
if($text=="/aktivieren")
{
$atoken=getToken(5);
$name = file_get_contents("php://input");
$name = json_decode($name, TRUE);
$name = $name["message"]["from"]["first_name"];
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=$atoken");
$result = mysqli_query($connection,"SELECT EMail FROM Kundenalarm WHERE Kennung = '$chatID'");
$zeile = mysqli_fetch_object($result);
$empfaenger= $zeile->EMail;
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=$empfaenger");
mail($empfaenger,"Aktivierungstoken Kadsoft","$atoken","Von KadsoftBot generiert!");
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=Email gesendet!");
$mysqlsafe = mysqli_query($connection,"INSERT INTO Kundenalarm (Name,Kennung,GeraeteID,Alarm,EMail,Aktiviert,Token) VALUES ('$name','$chatID','','','','0','$atoken')");
if(!$mysqlsafe)
{
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=Datenbankaufnahme gescheitert!");
}
}
mysqli_query($connection,"SET NAMES 'utf8'");
$resultat = mysqli_query($connection,$lesen)
or die ("Anfrage Fehlgeschlagen");
print_r($text);
print_r($chatID);
if($text=="Hallo"||$text=="Hi")
{
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=Hallo schön dich hier zu sehen!");
}
if($text=="Wie ist das Wetter?")
{
file_get_contents($website."/sendmessage?chat_id=".$chatID."&text=Heute ist es bewölkt!");
}
?>
Ich würde mich über eine schnelle und hilfreiche Antwort freuen und bedanke mich bereits im Vorraus
Mit freundlichen Grüßen
Niklas
Hallo,
ich benötige auch einmal eure Hilfe.
Bei folgender Def.
Zitat
([Haustuerklingel] eq "on") ({my $var = "/volume1/surveillance/".(ReadingsVal("Cam_Haustuer","LastSnapFilename",""));; set telebot sendImage $var})
bekomme ich folgende Fehlermeldung:
Zitat
Bild_Haustuer_Telebot: {my $var = "/volume1/surveillance/".(ReadingsVal("Cam_Haustuer","LastSnapFilename",""));; set telebot sendImage $var}: Can't locate object method "sendImage" via package "/volume1/surveillance/Haustuer-20171031-1232435757.jpg" (perhaps you forgot to load "/volume1/surveillance/Haustuer-20171031-1232435757.jpg"?) at (eval 15666) line 1.
Kann mir jemand weiterhelfen?
Danke.
Matthias
Zitat von: math78 am 01 November 2017, 09:47:47
Hallo,
ich benötige auch einmal eure Hilfe.
Bei folgender Def.
Zitat
([Haustuerklingel] eq "on") ({my $var = "/volume1/surveillance/".(ReadingsVal("Cam_Haustuer","LastSnapFilename",""));; set telebot sendImage $var})
bekomme ich folgende Fehlermeldung:
Zitat
Bild_Haustuer_Telebot: {my $var = "/volume1/surveillance/".(ReadingsVal("Cam_Haustuer","LastSnapFilename",""));; set telebot sendImage $var}: Can't locate object method "sendImage" via package "/volume1/surveillance/Haustuer-20171031-1232435757.jpg" (perhaps you forgot to load "/volume1/surveillance/Haustuer-20171031-1232435757.jpg"?) at (eval 15666) line 1.
Kann mir jemand weiterhelfen?
Danke.
Matthias
Das könnte/sollte so klappen:
([Haustuerklingel] eq "on") (set telebot sendImage /volume1/surveillance/[Cam_Haustuer:LastSnapFilename])
Gruß
Dan
Danke - hat funktioniert ;)
Zitat von: Baja197 am 01 November 2017, 09:46:32
auch wenn das vielleicht gerade nicht zum Thema passt könnt ihr mir ja eventuell doch helfen ;D
Ich würde mich über eine schnelle und hilfreiche Antwort freuen und bedanke mich bereits im Vorraus
Jetzt kann ich nicht sagen, ob Du Dich über meine Antwort freust, bei der Anfrage nach schnell und hilfreich und Ja Du bist hier völlig offtopic, denn hier geht es NICHT um telegrambot-Programmierung sondern Nutzung in FHEM.
Ich habe Deinen Code leider nicht verstanden (bin aber auch kein PHP-Programmierer) - Vielleicht versuchst Du es in einem PHP-Forum=
Ich habe Deine Erklärung auch nicht verstanden, da hier munter Telegram-Chats und Emails genutzt werden ist mir der Sinn auch völlig unklar. Es finden sich leider keine Kommentare, die weiterhelfen können ausser in offensichtlich kopiertem Code.
Wenn Du Dein Fachabitur machst würde ich annehmen, es gibt einen Betreuer, den man auch fragen kann?
Sorry, wenn das nicht weiterhilft, aber ohne etwas mehr Erklärung und Kommentierung kann ich Dir hier wohl nicht helfen, ich habe ja nicht mal eine Stelle gefunden, wo die Emailadresse in der Datenbank landen könnte...
Guten Morgen,
Ich hatte die Speicherung nur Testweise geschrieben und da ich die Variable Email ausgeben lasse habe ich das erstmal wieder raus genommen ...
Mein Betreuer hat zwar in PHP programmiert kennt sich aber mit Telegram nicht aus .... welche Informationen brauchst du denn?
Also mit /register erstellt der Bot einen Datensatz in der Mysql Datenbank der zur Registrierung des Kunden dient.
Mit /aktivieren soll der Bot dem User einen zufällig generierten Aktivierungstoken senden den der User innerhalb von 10 Minuten eingeben muss damit er aktiviert ist
Am Ende soll der Bot sobald ein Signal von einem Alarmsensor an die Datenbank übermittelt wird (0 ist dabei Alarm aus und 1 an) dem Kunden dem dieser Sensor zugeordnet ist bei Alarm eine Nachricht schicken, dass der Alarm ausgelöst wurde
Dafür gibt es schon eine Vorgefertigte Datenbank die ich aber zu Testzwecken im Moment nicht verwenden soll
Einen Screen vom Chat und von der DB schicke ich dir sobald ich auf der Arbeit bin
Zitat von: Baja197 am 02 November 2017, 06:13:23
Also mit /register erstellt der Bot einen Datensatz in der Mysql Datenbank der zur Registrierung des Kunden dient.
Mit /aktivieren soll der Bot dem User einen zufällig generierten Aktivierungstoken senden den der User innerhalb von 10 Minuten eingeben muss damit er aktiviert ist
Am Ende soll der Bot sobald ein Signal von einem Alarmsensor an die Datenbank übermittelt wird (0 ist dabei Alarm aus und 1 an) dem Kunden dem dieser Sensor zugeordnet ist bei Alarm eine Nachricht schicken, dass der Alarm ausgelöst wurde
Sorry die Teilinfos helfen mir hier nur begrenzt.
- Es wäre für das Verständnis gut, wenn Du beschreibst, wie das PHP-Skript überhaupt läuft, also wie wird es überhaupt eingebunden läuft es in einem Apache-Webserver und wie wird es gestartet?
- Ist das ein callback des telegramBot-APIs? --> Wenn scheint jegliche Überprüfung auf Existenz von Feldern im Code zu fehlen (message ist z.B. ein optionaler Parameter)
- Wie gesagt Kommentare, was bestimmte Teile tun sollen wären hilfreich
- Was funktioniert denn überhaupt?
- Funktionsdefinitionen und Code der immer ausgeführt wird scheinen mir munter durcheinander zu sein, das macht es schwer lesbar
- Wenn Der Benutzer auf register mit einer Emailadresse antworten muss, dann ist das ja eine separate Nachricht vom telegram server, die als getrennter update kommt, ich vermute mal mit sleep(10) kannst Du das nicht abhandeln
Also wenn ich die Punkte von oben bedenke, habe ich den Eindruck, dass Dein Code konzeptionell nicht funktionieren kann, aber vielleicht irre ich mich da. Einen funktionierenden Code zu erstellen kann ich aber für Dich nicht leisten aber es gibt funktionierende PHP-TelegramBot-Code ich denke das wäre ein besserer Start, z.B. hier:
https://github.com/php-telegram-bot/core (https://github.com/php-telegram-bot/core)
Also er speichert das was er soll in die Datenbank ... ne Email hatte ich auch schon bekommen mit dem Token. Allerdings nur nach manuellem Eintragen der Mail in die Datenbank.
Verbunden ist der Bot über nen Webhook auf einem Webspace mit https
Sorry für die Unübersichtlichkeit ist mein zweites Projekt in PHP habe vorher die Firmen-Intranet-Seite zusammen geschustert.
Ich schicke mir das ganze jetzt nachhause und strukturiere es heute Abend.
Warum bitte lernst du vor solchen Projekten nicht php und stellst deine Fragen dann in einem php und/oder Entwickler-Forum?
Hi Experten,
arbeite gerade an meinen Button für Telegram.
Bisher finde ich die inline Button sehr schick. Zumindest besser als [/....]!
Nun zur Frage: Kann mann ICONS in einer angenehmen Größe versenden via Bot???
Wenn ich es mit den ICONS aus dem ./FHEM..... Path versuche kommen die immer zu groß am Handy an.
VG Denny
Update:
Hat sich erledigt. Habe herausgefunden wie man dem Button ein Symbol mit übergibt und Inhalten dieses Symbol auch hinzufügt.
Hallo zusammen,
ich hoffe die Frage wurde nicht schon zu oft gestellt, aber ich habe nichts dazu gefunden.
Ich möchte eine DOIF definition per telegram ändern. Das klappt auch grundsätzlich. Aber wenn ich an meinen telegram bot z.b. folgendes schicke
modify DI_HeizungsAUTOMATIK ([Gasverbrauch:Brenner_status] == 1)
(setreading HeizungsSteuerung differenzTempErweitert {([HeizungsSteuerung:differenzTemp]+5)})
dann werden die Readings Abfragen anscheinend direkt ausgewertet und das DOIF so erstellt:
modify DI_HeizungsAUTOMATIK (0 == 1)
(setreading HeizungsSteuerung differenzTempErweitert 12)
Damit macht das DOIF ja keinen Sinn.
Muss ich noch etwas beachten, damit die Abfragen auch in die DOIF Definition eingehen?
Vielen Dank
Evtl. die [ mit \ escapen?
Zitat von: rohlande am 03 November 2017, 00:03:17
Hat sich erledigt. Habe herausgefunden wie man dem Button ein Symbol mit übergibt und Inhalten dieses Symbol auch hinzufügt.
Kannst du das mal kurz beschreiben?
Entschuldigung. Wollte es nicht vorenthalten.
Ist eigentlich ganz einfach. Ich verwende im jeweiligen String die "Emoji" welche ich zuvor an meinen Bot gesendet habe vom Handy aus.
Dann habe ich diese einfach mit ins notify eingebunden.
define teleBot1_INFOS_ntfy notify teleBot1:queryData.*❓INFOS set teleBot1 queryInline (❓FRITZBox|📶ESPEasy) (🖥GATEWAY|📲AMAD|📡MQTT) (⛽️SPRITT-PREISE|📺TV-PROGRAMM) (HAUPTMENÜ) Wähle eine Gruppe aus! Die gewählte Gruppe gibt Dir Infos zum Status zurück!
siehe Bilder!
Danke!
Gesendet von iPad mit Tapatalk Pro
Zitat von: amenomade am 03 November 2017, 15:57:22
Evtl. die [ mit \ escapen?
Hey,
wenn ich es so schreibe
\[HeizungsSteuerung:differenzTemp\]
wandelt er es zwar nicht mehr um, aber das DOIF modul hat dann einen error beim Auslösen
Can't find string terminator "'" anywhere before EOF at (eval 546510) line 1.
Hab ich noch was vergessen?
Zitat von: nean00 am 03 November 2017, 21:53:02
Hey,
wenn ich es so schreibe \[HeizungsSteuerung:differenzTemp\]
wandelt er es zwar nicht mehr um, aber das DOIF modul hat dann einen error beim Auslösen Can't find string terminator "'" anywhere before EOF at (eval 546510) line 1.
Hab ich noch was vergessen?
Ich bin zwar immer noch nicht sicher ob das wirklich geht, es könnte sein, dass Du auf perl-Funktionen ausweichen musst (ReadingsVal).
Um jetzt aber zu verstehen was mit der Escapten-Version schief gegangen ist wäre es wichtig ein list vom angelegten DOIF-Device zu sehen
Danke noch an eure Antworten viegener und amenomade.
Hier das list des DOIF:
TelegramBot FHEM - Befehl:list DI_DI: - Ergebnis:
Internals:
CFGFN
DEF ([+00:01]) (set telegram message \[HeizungsSteuerung:differenzTemp\])
NAME DI_DI
NR 4509
NTFY_ORDER 50-DI_DI
STATE cmd_1
TYPE DOIF
Readings:
2017-11-03 20:52:35 cmd 1
2017-11-03 20:52:35 cmd_event set_cmd_1
2017-11-03 20:52:35 cmd_nr 1
2017-11-03 20:52:35 error Can't find string terminator "'" anywhere before EOF at (eval 544403) line 1.
2017-11-03 20:52:35 state cmd_1
2017-11-03 20:52:22 timer_01_c01 03.11.2017 20:53:22
Condition:
0 DOIF_time_once($hash,0,$wday)
Days:
Devices:
Do:
0:
0 set telegram message \[HeizungsSteuerung:differenzTemp\]
Helper:
globalinit 1
last_timer 1
sleeptimer -1
Itimer:
Localtime:
0 1509738802
Realtime:
0 20:53:22
Regexp:
All:
State:
State:
Time:
0 +00:01
Timecond:
0 0
Timer:
0 0
Timers:
0 0
Triggertime:
1509738802:
localtime 1509738802
Hash:
Attributes:
do always
Wenn ich es mit ReadingsVal definiere habe ich aber das selbe Problem, dass er direkt den abgefragten Wert in die Definition reinschreibt:
modify DI_DI ([+00:01]) (set telegram message {(ReadingsVal("HeizungsSteuerung","differenzTemp",0))})
Antwort: TelegramBot FHEM - Befehl:modify DI_DI ([+00:01]) (set telegram message 6): - Ergebnis:
OK
Ich war mir anfangs nicht sicher, ob Telegram es nur in der Antwort direkt umgewandelt hat. Aber ich bekomme in diesem Beispiel immer die "6" geschickt, auch wenn ich das Reading "differenzTemp" manuell ändere zwischendurch. Eine list Abfrage bestätigt es auch, dass es hardcoded ist.
Falls ihr noch mehr Ideen habt, gerne her damit.
@nean00: Vielleicht nähere ich mich dem Problem doch erstnochmal von der Seite was Du genau machen willst?
Also willst Du wirklich den Befehl in telegram zusammentippen und ändern oder sind es wenige Varianten?
- Bei letzterem könntest Du eine vordefiniertes Makro in FHEM hinterlegen und dann per telegram nur den trigger senden, der das Makro auslöst
Es sieht halt so aus, als ob escapen nicht geht und perl Readingsval würde nur gehen, wenn Du den Teil auch dynamisch zusammensetzt. Ohne das jetzt ausprobiert zu haben wäre das vermutlich so ähnlich:
{( fhem( "modify DI_HeizungsAUTOMATIK (".chr(91)."Gasverbrauch:Brenner_status".chr(93)." == 1)
(setreading HeizungsSteuerung differenzTempErweitert ".chr(123)."(".chr(91)."HeizungsSteuerung:differenzTemp".chr(93)."+5))".chr(125)." )}
hej viegener,
vielen Dank für deine Mühe und die super Antwort, denn so klappt es tatsächlich und darauf wäre ich wohl nicht gekommen.
In deinem Code fehlte zwar eine Klammer, aber ein bisschen Arbeit muss ich ja auch selber machen ::)
So funktioniert es:
{( fhem( "modify DI_HeizungsAUTOMATIK (".chr(91)."Gasverbrauch:Brenner_status".chr(93)." == 1)
(setreading HeizungsSteuerung differenzTempErweitert ".chr(123)."(".chr(91)."HeizungsSteuerung:differenzTemp".chr(93)."+5)".chr(125).")") )}
Zum Hintergrund: Ich bin momentan längere Zeit nicht zu Hause und habe keinen HTTP Zugriff auf mein FHEM, nur über telegram. Mir ist gestern ein Fehler in meiner HeizungsSteuerung aufgefallen und ich wollte die DOIF Funktion anpassen. Danach ging aber gar nichts mehr. Ist ja auch klar wenn die ganzen dynamischen Abfragen weg sind. Daher war es mir erstmal nur wichtig es wieder gerade biegen zu können.
Ich kann mit deiner Lösung also erstmal gut leben. Es ist zwar etwas aufwändiger zu programmieren, aber es ist auch nur für den Notfall gedacht.
Also besten Dank nochmal!
Hallo Zusammen,
ich benutze seit kurze Zeit das Telegram um informiert zu werden, ob die Alarmanlage scharf bzw. unscharf geschaltet wurde. Zum aktivieren der Anlage benutze ich ein HM-RC-Sec4-3.
Soweit funktioniert alles, jedoch erhalte ich auf meinem iPhone immer 5 Meldungen hintereinander.
Wenn der Alarm ausgelöst wird kommt nur eine Nachricht.
2017-11-04 19:01:32 CUL_HM FB_****_light Short
2017-11-04 19:01:32 TelegramBot Telegram message @**** Alarm AN !
2017-11-04 19:01:32 TelegramBot Telegram message @**** Alarm AN !
2017-11-04 19:01:32 TelegramBot Telegram message @**** Alarm AN !
2017-11-04 19:01:32 TelegramBot Telegram message @**** Alarm AN !
2017-11-04 19:01:32 CUL_HM FB_****_light Short 1_16 (to myHmUART)
2017-11-04 19:01:32 CUL_HM FB_****_light trigDst_583460: noConfig
2017-11-04 19:01:32 CUL_HM FB_****_light trigger: Short_16
2017-11-04 19:01:32 CUL_HM FB_****_light trigger_cnt: 16
2017-11-04 19:01:32 TelegramBot Telegram sentMsgResult: SUCCESS
2017-11-04 19:01:32 TelegramBot Telegram sentMsgId: 461
2017-11-04 19:01:32 TelegramBot Telegram sentMsgPeerId: 123456789
2017-11-04 19:01:32 TelegramBot Telegram sentMsgResult: SUCCESS
2017-11-04 19:01:32 TelegramBot Telegram sentMsgId: 462
2017-11-04 19:01:32 TelegramBot Telegram sentMsgPeerId: 123456789
2017-11-04 19:01:32 TelegramBot Telegram sentMsgResult: SUCCESS
2017-11-04 19:01:32 TelegramBot Telegram sentMsgId: 463
2017-11-04 19:01:32 TelegramBot Telegram sentMsgPeerId: 123456789
2017-11-04 19:01:33 TelegramBot Telegram sentMsgResult: SUCCESS
2017-11-04 19:01:33 TelegramBot Telegram sentMsgId: 464
2017-11-04 19:01:33 TelegramBot Telegram sentMsgPeerId: 123456789
2017-11-04 19:01:33 TelegramBot Telegram sentMsgResult: SUCCESS
2017-11-04 19:01:33 TelegramBot Telegram sentMsgId: 465
2017-11-04 19:01:33 TelegramBot Telegram sentMsgPeerId: 123456789
Config
define notify_fhem_reload notify FB_****.*_light.* set Telegram message @**** Alarm AN !
Woran kann es liegen?
Liegt an deine Regex
FB_****.*_light.*
reagiert auf alle folgende Events:
2017-11-04 19:01:32 CUL_HM FB_****_light Short
2017-11-04 19:01:32 CUL_HM FB_****_light Short 1_16 (to myHmUART)
2017-11-04 19:01:32 CUL_HM FB_****_light trigDst_583460: noConfig
2017-11-04 19:01:32 CUL_HM FB_****_light trigger: Short_16
2017-11-04 19:01:32 CUL_HM FB_****_light trigger_cnt: 16
Jedes mal wird eine Nachricht geschickt.
Hi,
@Rohlande: gibts irgendwo ne Beschreibung, wie man die Schaltflächen in Telegram so hinbekommt? Ich hab bisher in Telegram nur meine testweise gesetzten Kurzbefehle über die Inlinie Tastaur und die beiden Buttons sind riesig und nicht schön.
gruß
Markus
Zitat von: rohlande am 03 November 2017, 20:04:55
Entschuldigung. Wollte es nicht vorenthalten.
Ist eigentlich ganz einfach. Ich verwende im jeweiligen String die "Emoji" welche ich zuvor an meinen Bot gesendet habe vom Handy aus.
Dann habe ich diese einfach mit ins notify eingebunden.
define teleBot1_INFOS_ntfy notify teleBot1:queryData.*❓INFOS set teleBot1 queryInline (❓FRITZBox|📶ESPEasy) (🖥GATEWAY|📲AMAD|📡MQTT) (⛽️SPRITT-PREISE|📺TV-PROGRAMM) (HAUPTMENÜ) Wähle eine Gruppe aus! Die gewählte Gruppe gibt Dir Infos zum Status zurück!
siehe Bilder!
@Kent: Eine Beschreibung zu den "queryInline" zu den Button, habe ich hier im Forum zusammen gesucht.
Ich verwende die "/cmd...." Struktur nicht. Das ist mir zu statisch. Gleichfalls gibt es keine Möglichkeit Untermenüs zu verwenden. Die gesamten Button Struktur des Systems besteht in dem doch recht aufwendigen "notify".
Somit die Frage: Möchtestb Du das mit "notify" , "sub" oder auch über Modul "MsgDialog" abbilden?
Ich werde versuchen es in Zukunft evtl. mit dem Modul "MsgDialog" von user igami abzubilden.
Das ist sehr flexibel aber nach meiner Auffassung nocht etwas aufwändiger als "notify".
Wenn Du magst schicke ich Dir meine "notify" Umsetzung.
VG Denny.
Hi Denny,
danke für die schnelle Antwort.
Deine Umsetzung mit "notify" würde ich gern mal sichten um das für meine Anforderungen anzupassen.
Bitte schick mir die mal. :-)
Danke Dir
@Kent: hast eine PM.
VG Denny
Habe einen DOIF Dialog gebaut und möchte sentMsgText im Log protokollieren.
Da sentMsgText ein Internal ist, habe ich ein userReading erstellt.
usrsentMsg:sentMsgResult (InternalVal("TeleBot","sentMsgText",""))
sentMsgResult wird getriggert: laut Event Monitor bzw. Tmestamp, aber
mein usrsentMsg nicht, sollte durch sentMsgResult getriggert werden.
sentMsgResult gibt es als Internal und als Reading.
{InternalVal("TeleBot","sentMsgText", "")} funktioniert in der commandzeile.
Wo ist mein Denkfehler?
Edit: da fehlt doch was .* oder so
gelöst: usrsentMsg:sentMsgResult.* {InternalVal("TeleBot","sentMsgText","");;}
Hi,
ich habe in der 99_myUtils.pm eine Funktion "getip" geschrieben.
Mit "doit { getip ;;}" kann ich diese auch erfolgreich aufrufen.
Ich scheitere jedoch daran das auf einen Shortcut zu legen.
Mit den geschweiften Klammern klappt es jedenfalls nicht:
TelegramBot FHEM - Befehl:{ getip ;}: - Ergebnis:
Unknown command {, try help.
Unknown command }, try help.
Kann mir da jemand 'nen Tipp geben?
Vielen Dank vorab!
8)lli
cmdalias
Zitat von: marvin78 am 07 November 2017, 17:03:50
cmdalias
Kannte ich noch nicht. Besten Dank marvin78!
Zitat von: FHEMtastic am 07 November 2017, 17:03:20
Hi,
ich habe in der 99_myUtils.pm eine Funktion "getip" geschrieben.
Mit "doit { getip ;;}" kann ich diese auch erfolgreich aufrufen.
Ich scheitere jedoch daran das auf einen Shortcut zu legen.
Mit den geschweiften Klammern klappt es jedenfalls nicht:
TelegramBot FHEM - Befehl:{ getip ;}: - Ergebnis:
Unknown command {, try help.
Unknown command }, try help.
Kann mir da jemand 'nen Tipp geben?
Lass doch mal das Semikolon weg, dann sollte es auch ohne cmdalias gehen
Zitat von: viegener am 07 November 2017, 23:04:52
Lass doch mal das Semikolon weg, dann sollte es auch ohne cmdalias gehen
Natürlich. Und doch ist cmdalias schöner.
Zitat von: marvin78 am 08 November 2017, 10:45:07
Natürlich. Und doch ist cmdalias schöner.
Aber klar, ich würde nie über Schönheit streiten ;)
Hi Denny,
kannst Du uns deine notify Umsetzung hier posten?
Ich nutze im Moment die Lösung von tiroso (https://forum.fhem.de/index.php?topic=51425.90) aber so ganz glücklich bin ich damit nicht.
Vielen Dank, Sven
ja natürlich.
Ich habe es in verschiedene "Notify" gepackt.
Es beginnt mit "/start" für die Initialisierung der Inline Button.
Dann folgen immer die Notify für das jeweilige Menü die wiederum gefolgt von den Untermenüs für die Abfrage der Devices / Readings / etc... den eigentlichen Code enthalten.
Ich habe den Code angehängt, da es sonst die Ansicht sprengt.
Viel Spass dabei. Es ist noch nicht alles drin was ich benötige.
Aber ich kann schon meine Kameras steuern / Bilder abrufen / Plots abrufen / etc.....
Die Steuerung der Heizung kommt als nächstes. Es wird ja kälter.. :-)
Wenn Fragen sind einfach melden!
VG Denny
@Denny,Sven: Kennt ihr schon msgDialog (http://commandref.fhem.de/#msgDialog)?
@igami: habe es nur überflogen. Ich werde umstellen sobald ich zeit finde.
Danke das Du mich daran erinnerst! :-)
VG denny
Hallo zusammen,
ich habe seit mehreren Wochen immer mal Perl Warnings im Log.
2017.11.11 16:48:58 1: PERL WARNING: Use of uninitialized value $minusdesc in string eq at ./FHEM/50_TelegramBot.pm line 1022, <$fh> line 1612.
2017.11.11 16:48:58 1: stacktrace:
2017.11.11 16:48:58 1: main::__ANON__ called by ./FHEM/50_TelegramBot.pm (1022)
2017.11.11 16:48:58 1: main::TelegramBot_SplitFavoriteDef called by ./FHEM/50_TelegramBot.pm (830)
2017.11.11 16:48:58 1: main::TelegramBot_Attr called by fhem.pl (3497)
2017.11.11 16:48:58 1: main::CallFn called by fhem.pl (2804)
2017.11.11 16:48:58 1: main::CommandAttr called by fhem.pl (1182)
2017.11.11 16:48:58 1: main::AnalyzeCommand called by fhem.pl (1035)
2017.11.11 16:48:58 1: main::AnalyzeCommandChain called by fhem.pl (1317)
2017.11.11 16:48:58 1: main::CommandInclude called by fhem.pl (544)
Sind diese Warnings bekannt?
Gruß,
Fixel
Zitat von: Fixel2012 am 11 November 2017, 16:55:03
Hallo zusammen,
ich habe seit mehreren Wochen immer mal Perl Warnings im Log.
Sind diese Warnings bekannt?
Gruß,
Fixel
Ja sind bekannt und in github auch schon seit einiger Zeit gelöst, ich hatte es nur bisher nichts ins SVN geladen, da ich selber bei mir kein Update machen konnte und so nicht gegen die aktuelle FHEM-Version testen.
Da Du aber jetzt schon der zweite bist, der sich meldet habe ich es ins SVN geladen - kommt also morgen per update
Zitat von: viegener am 11 November 2017, 17:05:18
Ja sind bekannt und in github auch schon seit einiger Zeit gelöst, ich hatte es nur bisher nichts ins SVN geladen, da ich selber bei mir kein Update machen konnte und so nicht gegen die aktuelle FHEM-Version testen.
Da Du aber jetzt schon der zweite bist, der sich meldet habe ich es ins SVN geladen - kommt also morgen per update
Super, Danke dir!
Werde gleich morgen Updaten und mich melden, falls Probleme auftreten :)
Huhu,
ich nutze den Bot und habe mir mit "favorites" ein kleines Menü erstellt.
Jetzt habe ich im Chatbot von IFTTT gesehen das dieser das Menü der verfügbaren "/"-Befehle bereits ebenfalls per Button neben dem Schreibfenster anbieten (siehe Screens)
Wie kann ich das realisieren?
Zitat von: accessburn am 17 November 2017, 07:51:07
Huhu,
ich nutze den Bot und habe mir mit "favorites" ein kleines Menü erstellt.
Jetzt habe ich im Chatbot von IFTTT gesehen das dieser das Menü der verfügbaren "/"-Befehle bereits ebenfalls per Button neben dem Schreibfenster anbieten (siehe Screens)
Wie kann ich das realisieren?
Hast du dir mal das Modul von Igami angesehen? https://forum.fhem.de/index.php/topic,77297.0.html
Ich weiß, das ist nicht die Antwort die du dir erhofft hast, aber vll ist es ja etwas für dich.
Zitat von: accessburn am 17 November 2017, 07:51:07
ich nutze den Bot und habe mir mit "favorites" ein kleines Menü erstellt.
Jetzt habe ich im Chatbot von IFTTT gesehen das dieser das Menü der verfügbaren "/"-Befehle bereits ebenfalls per Button neben dem Schreibfenster anbieten (siehe Screens)
Wie kann ich das realisieren?
Das Menu, das angezeigt wird, wenn man einen Schrägstrich eingibt, lässt sich über den Botfather anpassen. Ob der /-button automatisch erscheint, wenn keine andere Tastatur da ist, weiss ich nicht
Okay, will er irgendwie nicht. Kein plan... Egal :P
Hallo,
seit heute früh spuckt er beim Versenden von Diagrammen ein:
Reached max retries (ret: Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 2140.
) for msg 87031690 : �PNG
aus.
Hat noch jemand den Fehler?
Gesendet wurde bisher mit:
cmdSend { plotAsPng('SVG_FileLog_*****') }
Grüße
Achim
Passiert das dauerhaft oder ist das nur heute morgen passiert?
Die Meldung deutet daraufhin, dass statt einer Antwort vom Telegram-Server eine Fehelrseite angezeigt wurde. (html ....). Das kommt wohl bei Überlastung der Telegramserver gelegentlich vor. Also vermute ich erstmal noch eine vorübergehende Fehlersituation bei Telegram, wenn das sonstige Senden weiter/wieder funktioniert.
Ahhh, nun geht's wieder ;-)
Das Problem wird leider häufiger. Es ist aktuell eher Zufall, wenn das Senden eines Bildes mal funktioniert.
Zitat von: marvin78 am 22 November 2017, 21:04:04
Das Problem wird leider häufiger. Es ist aktuell eher Zufall, wenn das Senden eines Bildes mal funktioniert.
Wenn das auch anderen so geht, würde ich eine Testversion bauen, damit ich das HTML, was zurückgeschickt wird mir genauer anschauen kann. Es gibt heute morgen vor 9 Uhr auch mehr Meldungen über Telegramprobleme, aber auch nicht so viele, dass es ein wirklicher Ausfall war.
Als kurzfristige Lösung kann man auch den Wert für retry erhöhen.
Hallo,
ich versende regelmäßig ein Foto meiner Hofkamera wenn jemand klingelt. Habe bisher keine Problem damit!
Tobias
jemand einen Tipp wie ich eine Uhrzeit mit einfügen kann in der message ?
Bekomem öfters ein Status und ich möchte gern erkennen.
Zitat von: ChrisW am 23 November 2017, 12:51:34
jemand einen Tipp wie ich eine Uhrzeit mit einfügen kann in der message ?
Bekomem öfters ein Status und ich möchte gern erkennen.
Im Client erscheint normalerweise eine Uhrzeit bei jeder Message, das reicht nicht?
Wenn Du einen Zeitstempel ala logfile einfügen willst, kannst Du einfach die entsprechenden Zeilen aus dem Log3-Call in eine myutils-Routine überführen und dann beim Erzeugen der Message einfügen:
sub getTimestamp() {
my ($seconds, $microseconds) = gettimeofday();
my @t = localtime($seconds);
return sprintf("%04d.%02d.%02d %02d:%02d:%02d",
$t[5]+1900,$t[4]+1,$t[3], $t[2],$t[1],$t[0]);
}
Ohne das jetzt getestet zu haben, alternativ kannst Du natürlich auch z.B. ReadingsTimestamp(...) verwenden um den Zeitstempel eines bestimmten Readings mitzusenden
ohh das klingt jetzt Kompliziert.
Ich denke das mit dem reading wird nicht so einfach da ich es für die Alarmanlage nutzen will.
Hab gedacht ein $date einfach dazwischen würde klappen hm
Füge einen Zeitstempel so hinzu
msg Hz-Status {(substr(TimeNow(),5,11))} oder
{fhem("set Telexxxxx message $hms \nWC-Fenster: $EVTPART1");;}
Danke das {(substr(TimeNow(),5,11))} funktioniert super. Noch ein Tipp wie ich das datum richtig drehe ? :D Hab gerade mal geschaut bei TimeNow wenig gefunden und substr ganz schon Kompliziert :D
Vor allen die Sekunden sind Intressant also 00:00:00 das Format reicht schon aus. Mir geht es da eher bei der Alarmauslösung und Anwesenhetssteuerung besser die Zeiten zu sehen wann was passiert ist. Ohne das Log durchzuwühlen.
Zitat von: viegener am 22 November 2017, 21:30:56
Wenn das auch anderen so geht,
Auch von mir kurze Rückmeldung - Nein. Ich versende täglich mehrere Bilder ohne Probleme.
Gruß
Uwe
Zitat von: UweH am 24 November 2017, 18:33:17
Auch von mir kurze Rückmeldung - Nein. Ich versende täglich mehrere Bilder ohne Probleme.
dito - sprich, keine Probleme beim Bildversand!
Peter
Jemand eine Push möglichkeit für Chrome zufällig ? Mit Bildervorschau im Popup ?
@ChrisW schau mal in der commandref $mday, $month
Hallo zusammen,
Ich hab jetzt gesucht aber nichts passendes gefunden.
Ich würde gern nachdem ich eine inline abfrage gemacht habe, danach wieder die Favoriten senden.
Ich meine damit ohne die Liste der Favoriten anzufordern, sondern nur das, was der Bot auf die Anfrage antwortet.
gibt es da eine Möglichkeit?
Hintergrund:
im Moment mache ich eine Abfrage, diese bleibt dann aber im speicher und ich kann dann nicht einfach die Favoriten wieder auswählen und muss dann vorher nochmal diese abfragen. Ich würde aber gern eine Abfrage machen mit zum beispiel ja/nein und wenn der bot antwortet gleich danach die Favoriten wieder in diese Auswahlliste bringen.
Zitat von: AmunRe am 01 Dezember 2017, 16:20:30
Ich würde gern nachdem ich eine inline abfrage gemacht habe, danach wieder die Favoriten senden.
Ich meine damit ohne die Liste der Favoriten anzufordern, sondern nur das, was der Bot auf die Anfrage antwortet.
gibt es da eine Möglichkeit?
Bisher nicht, aber die Version in github enthält dafür jetzt einen set Befehl "favoritesMenu"
set Befehl "favoritesMenu"
wie anwenden?
lg
Wolfgang
Zitat von: wthiess am 01 Dezember 2017, 21:23:42
set Befehl "favoritesMenu"
wie anwenden?
lg
Wolfgang
ich weiss nicht ob ich die Frage verstehe
set <deintbotname> favoritesMenu
oder
set <deintbotname> favoritesMenu @irgendeinpeer
Habe einen Code der wohl Pushbulled nutzt schaut so aus:
my $pushcmd="PushInfo('$devtype','$devname ist $immer $devstate');;";
Wie Realisiere ich das per Telegram das ich da die Variablen übergeben kann ?
Code ist in der 99_myUtils.pm
Danke
Zitat von: ChrisW am 03 Dezember 2017, 22:01:03
Habe einen Code der wohl Pushbulled nutzt schaut so aus:
my $pushcmd="PushInfo('$devtype','$devname ist $immer $devstate');;";
Wie Realisiere ich das per Telegram das ich da die Variablen übergeben kann ?
Code ist in der 99_myUtils.pm
Danke
Ein bisschen mehr Infos wären schon hilfreich, denn was sollden danach in $pushcmd stehen?
Der Code aus Deinem Beispiel wird jedenfalls den Inhalt der Variablen wohl nicht ausgeben, denn durch einfach Anführungszeichen wird genau das in perl verhindert
Mit Telegram eine Nachricht versenden geht so wie überall beschrieben:
fhem("set <dentbot> msg $devname ist $immer $devstate");
Danke so genau weiss ich das nicht hier hab ich den code her:
https://forum.fhem.de/index.php/topic,36504.msg287778/topicseen.html#msg287778
Zitat von: ChrisW am 03 Dezember 2017, 22:39:13
Danke so genau weiss ich das nicht hier hab ich den code her:
https://forum.fhem.de/index.php/topic,36504.msg287778/topicseen.html#msg287778
Sorry auch damit kann ich jetzt nicht viel anfangen, denn ich würde jetzt ungerne den ganzen verlinkten Thread durchlesen der wesentliche Teil steht aber doch bereits da:
ZitatHinweis: Die in der winOpenStart enthaltene Funktion "PushInfo()" muss natürlich durch eine eigene Push oder E-Mail-Funktion ersetzt werden. Im einfachsten Fall und zum Testen kann man hier auch einfach mal einen Log-Eintrag mittels Log3() erzeugen.
(Ein Beispiel dazu gibt's inzwischen ein paar Posts weiter unten in diesem Thread.)
Das ist doch was ich oben geschrieben habe, ansonsten würde ich vielleicht eher im verlinkten Thread mal nachfragen.
Okay hab dort eine Antwort bekommen :
sub PushInfo($$) {
my ($msgsubj,$msgtext) = @_;
Log3(undef,1,"winOpenMessage: $msgsubj - $msgtext");
}
Das kann ich nutzen mal sehen ob es so klappt:
sub PushInfo($$) {
my ($msgsubj,$msgtext) = @_;
Log3(undef,1,"winOpenMessage: $msgsubj - $msgtext");
fhem("set teleBot message winOpenMessage: $msgsubj - $msgtext");
}
Hi,
da ich dazu nix finden konnte:
wie kann ich über das Modul stille Nahrichten versenden? In der API ist das enthalten, hab aber soweit nix dazu in der Doku gefunden...leider :-(
Zitat von: Astrofreak85 am 05 Dezember 2017, 16:40:48
Hi,
da ich dazu nix finden konnte:
wie kann ich über das Modul stille Nahrichten versenden? In der API ist das enthalten, hab aber soweit nix dazu in der Doku gefunden...leider :-(
Bisher wird das vom Bot nicht unterstützt
Zitat von: Astrofreak85 am 05 Dezember 2017, 16:40:48
In der API ist das enthalten, hab aber soweit nix dazu in der Doku gefunden...leider :-(
Es gibt zwei APIs, ich habe das auch verwechselt. Du musst in der API des Bot nachschauen, steht das da auch? Denn nur dann kann man das überhaupt erstellen.
Ja inzwischen ist es im Bot-API nachgezogen worden, ich kann das mal auf meine Todoliste setzen.
Es würde dann wohl einen neuen set-Befehl geben, da ich nicht weitere komplexe Optionen einführen möchte.
So etwas wie:
set <bot> silentmsg ...
Hi,
bitte helft mir - ich checks nicht!
Möchte bei Telegram Empfang den Text auswerten aber nur für bekannte IDs.
Mit Notify - wo ich nur den Text auswerte, funktioniert die Sache.
Mit DOIF, wo ich den Text und noch die ID abfragen muss, komm ich nicht weiter
Wie muss ich das anstellen?
Dank euch!
Zitat von: dinkel75 am 06 Dezember 2017, 22:02:52
Hi,
bitte helft mir - ich checks nicht!
Möchte bei Telegram Empfang den Text auswerten aber nur für bekannte IDs.
Mit Notify - wo ich nur den Text auswerte, funktioniert die Sache.
Mit DOIF, wo ich den Text und noch die ID abfragen muss, komm ich nicht weiter
Wie muss ich das anstellen?
Dank euch!
Zuerst wären ein wenig mehr informationen nötig.Was genau möchtest du denn machen?einen Dialog anlegen?Wäre da vll das msgDialog Modul das was du suchst/möchtest?
Was hast du bisher an code?
Wenn du code postest,nutz bitte code Tags..Ist das raute symbol über dem :-X smiley ..
Grüße
EDIT: OK hat sich erledigt. Jetzt weiß ich wofür der privacy mode da ist... ::)
Hi, erst mal Danke für das Modul funktioniert wunderbar, nur bekomme leider keine Reaktion wenn ich über eine Gruppe eine Nachricht schreibe.
Ich habe den Bot in die Gruppe aufgenommen und von FHEM eine Nachricht an die Gruppe gesendet. Klappt einwandfrei. Nur wenn ich jetzt in der Gruppe was schreibe Ändern sich die msg* Readings nicht. Auch in der Log steht nichts.
Attributes:
cmdKeyword Cmd.
cmdRespondChat 1
cmdRestrictedPeer ##### ######
pollingTimeout 120
room System
In cmdRestrictedPeer habe ich alle Möglichkeiten ausprbiert. ID mit und ohne minus, mit # mit @# nur den Namen immer das gleiche keine Reaktion vom Modul. Hab ich ein Attribut vergessen oder was muss ich beachten?
Vielen Dank im Vorraus
Zitat von: Esjay am 06 Dezember 2017, 22:53:51
Zuerst wären ein wenig mehr informationen nötig.Was genau möchtest du denn machen?einen Dialog anlegen?Wäre da vll das msgDialog Modul das was du suchst/möchtest?
Was hast du bisher an code?
Wenn du code postest,nutz bitte code Tags..Ist das raute symbol über dem :-X smiley ..
Grüße
Hi,
möchte nur einfachen Schaltbefehl ausführen, wenn Nachricht mit Text übereinstimmt.
Im meinem Haus hab ich KNX Server mit GSM Modul. Meine Familie kann da über einfache Texte Aktionen ausführen.
"zusperren" sperrt die Eingangstür z.b.
Das Command System im Telegram funktioniert zwar auch, aber ich hätts halt gern über Text von berechtigten Benutzern gelöst.
Zitat von: dinkel75 am 07 Dezember 2017, 03:55:41
Hi,
möchte nur einfachen Schaltbefehl ausführen, wenn Nachricht mit Text übereinstimmt.
Im meinem Haus hab ich KNX Server mit GSM Modul. Meine Familie kann da über einfache Texte Aktionen ausführen.
"zusperren" sperrt die Eingangstür z.b.
Das Command System im Telegram funktioniert zwar auch, aber ich hätts halt gern über Text von berechtigten Benutzern gelöst.
Hier schon mal geschaut:
https://forum.fhem.de/index.php/topic,51425.0.html
Da kannst du ja prüfen/festlegen msgPeerID wer was darf...
Oder das hier:
https://forum.fhem.de/index.php/topic,78031.msg699623.html#msg699623
Habe ich mir aber leider noch nicht ansehen können, daher weiß ich nicht was man da bzgl. User/Berechtigungen machen kann...
Gruß, Joachim
DANKE!
msgDialog ist ais chat bot entstanden. Berechtigungen werden über ROOMMATE gesetzt.
moin zusammen,
mein Telegram Bot unter FHEM verursacht über den Tag hin sehr viel Traffic.
Über Wireshark habe ich gesehen das die FHEM Instanz sich jede Sekunde mit der Telegram API verbindet über die IP 149.154.167.197:443.
Ich dachte es liegt an der poll timeout Einstellung, die steht aber auf 360 bei mir.
Kann mir jemand sagen was da jede Sekunde passiert und wie ich das reduzieren kann?
Danke schonmal.
@magix99: Gibt es Einträge im Log?
Wenn nicht setze doch mal verbose hoch und schaue, was da für Zugriffe passieren?
Hi,
das Log mit Verbose 5 sagt leider auch nicht viel aus.
z.b.
2017.12.08 12:47:37 5: TelegramBot_Callback Telegram: called from Polling
2017.12.08 12:47:37 5: TelegramBot_Callback Telegram: data returned :{"ok":true,"result":[]}:
2017.12.08 12:47:37 5: TelegramBot_Deepencode Telegram: found an ARRAY
2017.12.08 12:47:37 5: TelegramBot_Deepencode Telegram: encoded a String from :1: to :1:
2017.12.08 12:47:37 5: TelegramBot_Deepencode Telegram: found a HASH
2017.12.08 12:47:37 5: TelegramBot_Callback Telegram: after encoding
2017.12.08 12:47:37 5: TelegramBot_Callback Telegram: polling returned result? 0
2017.12.08 12:47:37 5: UpdatePoll Telegram: number of results 0
2017.12.08 12:47:37 5: TelegramBot_UpdatePoll Telegram: called
2017.12.08 12:47:37 5: TelegramBot_UpdatePoll Telegram: - Initiate non blocking polling - With callback set
2017.12.08 12:47:37 5: TelegramBot_readToken: Read Telegram API token from file
2017.12.08 12:47:37 4: TelegramBot_UpdatePoll Telegram: initiate polling with nonblockingGet with 600s
2017.12.08 12:47:37 5: HttpUtils url=<hidden>
2017.12.08 12:47:37 5: IP: api.telegram.org -> 149.154.167.197
2017.12.08 12:47:37 5: TelegramBot_UpdatePoll Telegram: - Ende > next polling started
2017.12.08 12:47:37 4: TelegramBot_Callback Telegram: resulted in SUCCESS from Polling
2017.12.08 12:47:37 5: TelegramBot_Callback Telegram: - Ende > Control back to FHEM
2017.12.08 12:47:37 5: HttpUtils request header:
GET /botxxxxxxxxxxx:AAFibpGspDLB4yBsGvPC7k3GP5xxxxxxxxx/getUpdates?offset=0&limit=5&timeout=600 HTTP/1.0
Host: api.telegram.org
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Zitat von: magix99 am 08 Dezember 2017, 16:27:40
Hi,
das Log mit Verbose 5 sagt leider auch nicht viel aus.
z.b.
Eine einzelne Sekunde aus dem Log sagt wirklich nicht viel, es müssten schon ein paar mehr Sekunden sein, das hier ist ja ein völlig normaler Ablauf
Sorry, der Logauszug ist tatsächlich der übersichtshalber nur eine Sekunde.
Der ganze Telegram Bereich im Log wiederholt sich immer wieder ohne Änderungen.
Mal x Mal pro Minute, manchmal aber auch nur 1 Mal pro Minute.
Wie oft sollte denn normal sein, das FHEM mit der Telegram API kommuniziert?
Vielleicht schätze ich das ganze zu dramatisch ein ;)
Zitat von: magix99 am 09 Dezember 2017, 23:36:12
Sorry, der Logauszug ist tatsächlich der übersichtshalber nur eine Sekunde.
Der ganze Telegram Bereich im Log wiederholt sich immer wieder ohne Änderungen.
Mal x Mal pro Minute, manchmal aber auch nur 1 Mal pro Minute.
Wie oft sollte denn normal sein, das FHEM mit der Telegram API kommuniziert?
Vielleicht schätze ich das ganze zu dramatisch ein ;)
Es ging beim Log ja nicht um Übersichtlichkeit. Das was im Log steht ist ein normeler Ablauf am Ende eines longpolls. Deine Frage zu beantworten wie oft normal ist hängt ja offensichtlich davon ab, wieviele Nachrichten bei Deinem Bot vorbeikommen oder gesendet werden.
Ohne Informationen kann ich Dir nicht helfen
Hi,
das mit der "übersichtshalber" war nicht böse gemeint, ich dachte mir nur das ich nicht das ganze Log posten bräuchte wenn sich der Telegram Bereich nicht verändert immer wiederholt.
Mein Bot macht eigentlich nix ausser für die Waschmaschine & Trocker mir Nachrichten auf das Handy zu schicken, also völlig unterbeschäftigt ;)
Das wenn Nachrichten verschickt werden, die Verbindung gepollt wird als ohne Kommunikation ist schon klar, nur wieviel Pools sind denn vertretbar/normal wenn nichts passiert am Bot?
Zitat von: magix99 am 10 Dezember 2017, 00:36:33
Hi,
das mit der "übersichtshalber" war nicht böse gemeint, ich dachte mir nur das ich nicht das ganze Log posten bräuchte wenn sich der Telegram Bereich nicht verändert immer wiederholt.
Mein Bot macht eigentlich nix ausser für die Waschmaschine & Trocker mir Nachrichten auf das Handy zu schicken, also völlig unterbeschäftigt ;)
Das wenn Nachrichten verschickt werden, die Verbindung gepollt wird als ohne Kommunikation ist schon klar, nur wieviel Pools sind denn vertretbar/normal wenn nichts passiert am Bot?
Ich mache nochmal einen Versuch zu helfen, auch wenn es schwierig ist:
- Ein einziger polling-Lauf zu einer Zeit ist normal
- Wenn es mehrere parallele gibt oder diese vorher abbrechen, findet sich vielleicht ein Hinweis im log, dazu kann ich mit einer Sekunde nichts anfangen
- Ein list des devices anzufügen wäre auch immer hilfreich
Danke für deine Mühe.
Das Thema hat sich erst mal erledigt, ich habe das Modul Heute Nacht deinstalliert und versuche mich gerade mal an einer anderen Benachrichtigungsart.
Zitat von: magix99 am 10 Dezember 2017, 13:01:24
Danke für deine Mühe.
Das Thema hat sich erst mal erledigt, ich habe das Modul Heute Nacht deinstalliert und versuche mich gerade mal an einer anderen Benachrichtigungsart.
Na ja so geht es auch - ;D
Ich weiss zwar nicht was das Problem war, vielleicht hätte es ja jemandem anderen geholfen das zu analysieren
Hallo zusammen,
ich benutzte seit einiger Zeit den Telegrambot und soweit klappt auch alles. Ich versuche gerade Tasker mit dem telegrambot zusammen zu bringen. Da beide einen bot benuzten, hatte ich die Idee das ganze über einen Telegram Kanal abzuwickeln. Beide Bots sind als admin im Kanal. Ich kann mit beiden Bots in den Kanal schreiben. Aber nicht mit Fhem mitlesen...
Der Kanal ist als Contact definiert,
Wie bewege ich Fhem dazu auf diesen Kanal zu pollen?
Danke und Gruß
jeti
@jeti: War schon ein paarmal in diesem Thread und steht auch an verschiedenen Stellen: Ein Bot kann keine Nachrichten von einem Bot empfangen - Sorry
Danke für die schnelle Antwort! ich dachte, dass ich dieses Problem mit dem Kanal umgehen kann...
@jeti: Leider gibt es meines Wissens nach keine Möglichkeit das direkt zu umgehen, solange der Bot der Sender ist, filtert Telegram die Nachrichten bei anderen Bots heraus. Hintergrund ist verständlicherweise, dass das sich endlos aufschaukeln könnte - Das Ergebnis des einen Bots ist dann immer die Anfrage an den anderen und umgekehrt...
Zitat von: viegener am 06 Dezember 2017, 10:25:56
So etwas wie:
set <bot> silentmsg ...
Das wäre klasse und absolut Hilfreich, dann bimmelt das Handy nurnoch bei wirklich wichtigen Sachen aber die Meldungen die ich zusätzlich haben will kommen trotzdem an :)
Neue Version 2.7 im SVN mit dem set command silentmsg zum Senden einer Nachricht ohne notification - ansonsten Syntax wie bei msg
Geht das auch mit images? So was wie silentimage?
Noch eine Frage zu msg. Ich scheitere an Befehlen der Form
set TelegramBot silentmsg {ReadingsVal("device", "reading", "default")}
und kriege statt des Readings den Quellcode. Das dagegen klappt
set TelegramBot silentmsg [AusloesendesDevice:Reading]
dabei kann aber "AusloesendesDevice" nur das Gerät (bei mir DOIF) sein, das dann den genannten set-Befehl aufruft. Kann ich Perl-Code bei msg angeben?
Zitat von: andies am 23 Dezember 2017, 11:08:32
Noch eine Frage zu msg. Ich scheitere an Befehlen der Form
set TelegramBot silentmsg {ReadingsVal("device", "reading", "default")}
und kriege statt des Readings den Quellcode. Das dagegen klappt
set TelegramBot silentmsg [AusloesendesDevice:Reading]
dabei kann aber "AusloesendesDevice" nur das Gerät (bei mir DOIF) sein, das dann den genannten set-Befehl aufruft. Kann ich Perl-Code bei msg angeben?
Halb FHEM-Code, halb Perl-Code geht nicht.
Dann so:
{fhem "set TelegramBot silentmsg ".ReadingsVal("device", "reading", "default")}
Gruß
Dan
Danke!
Gesendet vom iPhone mit Tapatalk Pro
Zitat von: andies am 23 Dezember 2017, 10:58:54
Geht das auch mit images? So was wie silentimage?
Ich habe mal im Quelltext geschaut, sollte klappen. Zwei Ideen:
Zitat
- 615 return "TelegramBot_Set: Command $cmd, addiitonal parameter specified" if ( int(@args) >= 1 );
+615 return "TelegramBot_Set: Command $cmd, additional parameter specified" if ( int(@args) >= 1 );
und die API sagt, dass disable_notification sowohl für https://core.telegram.org/bots/api#sendmessage als auch https://core.telegram.org/bots/api#sendphoto verwendbar ist. Wäre das dann so denkbar
Zitat
226 "sendImage" => "textField",
227 "sendPhoto" => "textField",
+228 "silentsendImage" => "textField",
und weiter vermutlich hier?
Zitat
-520 if ( ($cmd eq 'sendPhoto') || ($cmd eq 'sendImage') || ($cmd eq 'image') ) {
+520 if ( ($cmd eq 'sendPhoto') || ($cmd eq 'sendImage') || ($cmd eq 'silentsendImage') || ($cmd eq 'image') ) {
+521 if ($cmd eq 'silentsendImage') {
+522 $options .= " -silent- ";
+523 }
Ich traue mich nur nicht das auszuprobieren, weil ich entfernt auf mein FHEM zugreife und wenn das nicht klappt, habe ich den GAU.
Zitat von: andies am 23 Dezember 2017, 10:58:54
Geht das auch mit images? So was wie silentimage?
das wäre natürlich auch geil zumal ich viele images rausschicke :)
Zitat von: andies am 23 Dezember 2017, 10:58:54
Geht das auch mit images? So was wie silentimage?
Ja, prinzipiell sollte das erweiterbar sein und da ich mir schon dachte, dass das noch gebracuth wird, habe ich das ja generisch gebaut. Ich kann das bei Gelegenheit nachrüsten.
Zitat von: andies am 23 Dezember 2017, 11:08:32
Noch eine Frage zu msg. Ich scheitere an Befehlen der Form
set TelegramBot silentmsg {ReadingsVal("device", "reading", "default")}
und kriege statt des Readings den Quellcode. Das dagegen klappt
set TelegramBot silentmsg [AusloesendesDevice:Reading]
dabei kann aber "AusloesendesDevice" nur das Gerät (bei mir DOIF) sein, das dann den genannten set-Befehl aufruft. Kann ich Perl-Code bei msg angeben?
Wenn Du perl-Ausdrücke innerhalb eines set_befehls verwenden willst, müssen diesen in {( ... )} stehen. Also:
set TelegramBot silentmsg {( ReadingsVal("device", "reading", "default") )}
Das hat aber nichts mit telegram zu tun sondern ist generell bei set so:
https://fhem.de/commandref.html#set (https://fhem.de/commandref.html#set)
Zitat von: andies am 23 Dezember 2017, 13:23:13
Ich habe mal im Quelltext geschaut, sollte klappen. Zwei Ideen
Klappt, wenn man noch einen weiteren Eintrag macht:
+476 if( ($cmd eq 'message') || ($cmd eq 'queryInline') || ($cmd eq 'queryEditInline') || ($cmd eq 'queryAnswer') || ($cmd eq 'msg') || ($cmd eq '_msg') || ($cmd eq 'reply') || ($cmd eq 'msgEdit') || ($cmd eq 'msgForceReply') || ($cmd eq 'silentmsg') || ($cmd eq 'silentsendImage') || ($cmd =~ /^send.*/ ) ) {
Wobei das viegener sicherlich eleganter lösen wird, mit den regex habe ich es nicht so...
Zitat von: andies am 26 Dezember 2017, 19:23:57
Klappt, wenn man noch einen weiteren Eintrag macht:
+476 if( ($cmd eq 'message') || ($cmd eq 'queryInline') || ($cmd eq 'queryEditInline') || ($cmd eq 'queryAnswer') || ($cmd eq 'msg') || ($cmd eq '_msg') || ($cmd eq 'reply') || ($cmd eq 'msgEdit') || ($cmd eq 'msgForceReply') || ($cmd eq 'silentmsg') || ($cmd eq 'silentsendImage') || ($cmd =~ /^send.*/ ) ) {
Wobei das viegener sicherlich eleganter lösen wird, mit den regex habe ich es nicht so...
In github findet sich schon eine Version mit einem set-Befehl
silentImage , ich konnte diese aber noch nicht wirklich testen, deshalb ist sie noch nicht in svn
Ich bekomme seit heute den Fehler beim Senden von FHEM an meinen Bot.
FAILED peer not found :User_Name:
list:
Internals:
FAILS 0
NAME Telegram
NR 439
OLD_POLLING 79
POLLING 79
SNAME Telegram
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me 275143847:FHEM:@botname_bot
offset_id 275238788
sentLastResult NonBlockingGet: returned FAILED peer not found :User_Name:
sentMsgId
sentMsgOptions
sentMsgPeer
sentMsgPeerId
sentMsgResult NonBlockingGet: returned FAILED peer not found :User_Name:
AliasCmds:
Contacts:
265897026 265897026:name:
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 17
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 78
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset 275238788
path /bot2755646847:AAFnJbFdfdklsfjlkdsfkvcdkfölsfzAuhzt7GYs/getUpdates?offset=2755646847&limit=5&timeout=180
protocol https
redirects 0
timeout 365
url https://api.telegram.org/bot2755646847:AAFnJbFjEB-WDSuHWtUmt3m7czAuhzt7GYs/getUpdates?offset=2755646847&limit=5&timeout=180
hash:
sslargs:
READINGS:
2018-01-08 14:52:19 Contacts 265897026:name:
2018-01-08 00:00:18 PollingErrCount 0
2018-01-06 12:05:04 PollingLastError NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-01-08 19:50:14 msgChat name
2018-01-08 19:50:14 msgChatId 265897026
2018-01-08 19:50:14 msgFileId
2018-01-08 19:50:14 msgId 3726
2018-01-08 19:50:14 msgPeer name
2018-01-08 19:50:14 msgPeerId 265897026
2018-01-08 19:50:14 msgReplyMsgId
2018-01-08 19:50:14 msgText Test
2018-01-08 19:50:14 prevMsgChat name
2018-01-08 19:50:14 prevMsgFileId
2018-01-08 19:50:14 prevMsgId 3725
2018-01-08 19:50:14 prevMsgPeer name
2018-01-08 19:50:14 prevMsgPeerId 265897026
2018-01-08 19:50:14 prevMsgReplyMsgId
2018-01-08 19:50:14 prevMsgText Test
2018-01-08 19:58:36 sentMsgId
2018-01-08 19:58:36 sentMsgPeerId
2018-01-08 19:58:36 sentMsgResult NonBlockingGet: returned FAILED peer not found :User_Name:
inlinechats:
sentQueue:
Attributes:
allowUnknownContacts 0
cmdFavorites /cmd
cmdKeyword FHEM
cmdRestrictedPeer 265897026
defaultPeer User_Name
pollingTimeout 180
room Gateway
Kann es sein, dass Du Deine Kontakte (Reading Contacts) verloren hast?
Da steht nur noch ein Account drin - der user an den Du senden willst sollte einfach nochmal eine Nachricht an den Bot senden
Ich habe von der App nochmal eine Nachricht an FHEM geschickt. Das Reading contacts verändert sich nicht.
Mir ist eben aufgefallen die letzte Aktualsierung des Readings war zu dem Zeitpunkt, als ich einen Link von der App an FHEM gesendet habe.
@TWART016: Sorry, Du musst vorher noch das ATtribut allowUnknownContacts auf 1 setzen, damit Kontakte angelegt werden
Zitat von: TWART016 am 08 Januar 2018, 21:14:16
Ich habe von der App nochmal eine Nachricht an FHEM geschickt. Das Reading contacts verändert sich nicht.
Mir ist eben aufgefallen die letzte Aktualsierung des Readings war zu dem Zeitpunkt, als ich einen Link von der App an FHEM gesendet habe.
Du solltest das Attribut allowUnknownContacts wieder auf 1 setzen. Da der Kontakt nicht bekannt ist, wird er durch das Attribut ignoriert.
Grüße Jörg
Hatte ich zwischenzeitlich schon gemacht, gleiches Verhalten.
@TWART016: Also nochmal im Detail:
1 allowUnknownContacts auf 1 setzen
2 Von dem Benutzer, der in Contacts fehlt (also User_Name) in Telegram eine Nachticht an den Bot senden
3 Nachdem die Nachricht beim Bot angekommen ist - überprüfen des Contacts reading - Name sollte enthalten sein
4 allowUnknownContacts auf 0 setzen
5 Save in fhem durchführen
6 Nun sollte ein Versenden an User_Name wieder möglich sein
Wenn das mit genau den Schritten nicht funktioniert - brauche ich mehr Infos:
- Was passiert beim senden von Benutzer User_Name and TelegramBot - kommt die Nachricht an?
- Gibt es Logeinträge
- Verboselevel erhöhen und log hier posten
Hallo viegener,
jetzt geht es. Ich hatte vor vielen Wochen meinen Benutzernamen in Telegram geändert. Mir war nicht klar, dass die beiden Punkte zusammenhängen.
Bis jetzt hat es auch funktioniert, da ich nur von FHEM aus gesendet habe. Erst nachdem ich vor ein paar Tagen vom Bot an FHEM senden wollte, hat die andere Richtung nicht mehr funktioniert.
Vielen Dank für die Hilfe.
Gruß
TWART016
Hallo Leute, habe mir heute das Modul geladen. Auf ersten Blick TOP!
Aber leider funktioniert das Senden von FHEM an mein Handy nicht.
Wenn ich
set teleBot message Hallo
oder
set teleBot send Hallo
eingebe, kommt folgende Meldung:
TelegramBot_Set: Command message, without explicit peer requires defaultPeer being set
aber die PeerID habe ich gesetzt!?
hier mal die list:
Internals:
FAILS 0
NAME teleBot
NR 134
OLD_POLLING 9
POLLING 9
SNAME teleBot
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me 468937656:Fhem:@Fhem_Ue_Bot
Contacts:
367287505 367287505:Torsten:@Torsten_Ue
HU_DO_PARAMS:
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
hideurl 1
method GET
timeout 30
url
HU_UPD_PARAMS:
FD 17
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 3
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset 0
path /bot468937656:AAFXg66F0KAHxC5Kz0Budoxxxx_xxxx_xxxx/getUpdates?offset=0&limit=5&timeout=120
protocol https
redirects 0
timeout 245
url https://api.telegram.org/bot468937656:AAFXg66F0KAHxC5Kz0Budoxxxx_xxxx_xxxx/getUpdates?offset=0&limit=5&timeout=120
hash:
sslargs:
READINGS:
2018-01-10 11:19:25 Contacts 367287505:Torsten:@Torsten_Ue
2018-01-10 12:38:21 PollingErrCount 1
2018-01-10 12:38:21 PollingLastError NonBlockingGet timed out on read from <hidden> after 245s
2018-01-10 12:28:27 msgChat Torsten
2018-01-10 12:28:27 msgChatId 367287505
2018-01-10 12:28:27 msgFileId
2018-01-10 12:28:27 msgId 16
2018-01-10 12:28:27 msgPeer Torsten
2018-01-10 12:28:27 msgPeerId 367287505
2018-01-10 12:28:27 msgReplyMsgId
2018-01-10 12:28:27 msgText Hh
2018-01-10 12:28:27 prevMsgChat Torsten
2018-01-10 12:28:27 prevMsgFileId
2018-01-10 12:28:27 prevMsgId 15
2018-01-10 12:28:27 prevMsgPeer Torsten
2018-01-10 12:28:27 prevMsgPeerId 367287505
2018-01-10 12:28:27 prevMsgReplyMsgId
2018-01-10 12:28:27 prevMsgText Hh
inlinechats:
Attributes:
pollingTimeout 120
room System
Das Senden vom Handy zu Fhem funktioniert ohne Probleme.
Hoffe mir kann da jemand weiterhelfen.
EDIT:
Habe gerade noch folgendes im Event Monitor gefunden:
2018-01-10 12:56:49 TelegramBot teleBot PollingLastError: NonBlockingGet timed out on read from after 245s
2018-01-10 12:56:49 TelegramBot teleBot PollingErrCount: 6
@Torsten_MG
du musst entweder das Attribut "defautltPeer" setzen, oder im send command den Kontakt angeben.
danke Fixel!!
Funktioniert jetzt!
Es kann natürlich an mir liegen und daran, dass ich es nicht finde: Gibt es eine Möglichkeit, die nicht nutzbaren eingehenden Nachrichten z.B. mit Notify zu erkennen? Nicht nutzbar meint keine Befehle, Favoriten usw. Irgendwo muss der Rest doch übrig bleiben, wäre schön, wenn das ein Reading oder eine globale Variable oder so etwas wäre...
Zitat von: Nocard am 11 Januar 2018, 17:35:55
Es kann natürlich an mir liegen und daran, dass ich es nicht finde: Gibt es eine Möglichkeit, die nicht nutzbaren eingehenden Nachrichten z.B. mit Notify zu erkennen? Nicht nutzbar meint keine Befehle, Favoriten usw. Irgendwo muss der Rest doch übrig bleiben, wäre schön, wenn das ein Reading oder eine globale Variable oder so etwas wäre...
Vielleicht missverstehe ich das, aber es gibt ja Readings in denen die Nachrichten auflaufen -
msgText - findet sich auch dokumentiert in der commandref
Ja, aber ich kann nicht erkennen, ob der Text durch das Modul weiter verarbeitet wurde. Es geht also um nicht genutzte Nachrichten. Nachdem die verschiedenen Möglichkeiten im Skript erfolglos abgearbeitet wurden, müsste eine "normale Nachricht" irgendwo übrig bleiben, oder wenigstens der Hinweis zur Auswertung, dass der Telegrambot die Nachricht nicht verwenden könnte.
Zur Erklärung: der TBot_List benutzt das in der Funktion handleUnsolicited. Wenn ich allerdings längere Texte oder Texte mit Kommata verwerten will, taugt die Speicherung als Postit nicht wirklich, zumal postme nur in den Readings also im fhem.save soeichert. Nicht besonders performant und sicher, möchte ich meinen.
@Nocard: So wie Du Dir das wünscht, gibt es das bisher nicht. Habe mal nachgeschaut, so einfach wäre das auch nicht, weil es keine zentrale Stelle gibt, an der Nachrichten insbesondere (wenn TBot_List ins Spiel kommt) "abgearbeitet" werden. Insbesondere weil das update der Readings gemacht wird, bevor Kommandos interpretiert werden. Kannst Du etwas genauer sagen, wie für Dich der use case aussieht, dass Du das benötigst?
Die Bemerkung zu readings und performanz und Sicherheit verstehe ich nicht.
Einfaches Szenario: Notizen zentral und einfach vom Handy aus ablegen. Ein Notizmodul, dass z.B. mit Notes-Funktionen diverser Anbieter (Evernote usw.) könnte das Szenario beliebig erweitern. Wenn ich nun einen Gedanken habe, möchte ich mich nicht mit Bedienungsschritten ablenken lassen.
Im Falle von kurzen Stichworten ist die Lösung über Postme super. Will ich aber Formulierungen über 200 Wörter und evtl. mit Markdown ablegen, denke ich, dass die Speicherung in der fhem.save das System auf Dauer etwas überfordern könnte, zumindest auf einem einfachen Gerät wie einer Null-Himbeere. Kann ich aber nicht wirklich einschätzen...
Und hier mal q&d eine Idee per DOIF Definition:
([ZeroPi_bot:msgText] and [ZeroPi_bot:sentMsgResult:sec] > 21)
(set Pushover1 msg [ZeroPi_bot:msgText])
@Nocard: Momentan wäre mein Vorschlag, dass Du selber aus den empfangenen Nachrichten die mit /... herauszufiltern, denn die Notizen sind doch vermutlich keine die mit / anfangen.
Also meine fhem.save ist fast 500k gross, da spielen 200 Worte mehr oder weniger eigentlich keine grosse Rolle...
Mmmh - das DOIF verstehe ich nicht, über telegram kommen die Nachrichten rein und dann per pushover weiter, was hat das mit Deiner Notizenverwaltung zu tun?
Hallo, ich hätte da mal ein Hinweis zu dem Modul.
Und zwar habe ich mit queryInline herumexperimentiert und da ist mir bei einem queryAnswer aufgefallen, dass wenn ich defaultPeer nicht gesetzt habe er folgende Fehlermeldung ausgibt.
Zitatn_telbot_query return value: TelegramBot_Set: Command queryAnswer, without explicit peer requires defaultPeer being set
set telbot queryAnswer @name ID text hat aber auch nicht funktioniert. Das bedeutet man muss auf jedenfall defaultPeer setzen? Macht irgendwie kein Sinn. Oder hab ich was übersehen.
Gruß
Top Modul. Vielen Dank für deine Mühe!
Zitat von: Phill am 28 Januar 2018, 21:55:34
Hallo, ich hätte da mal ein Hinweis zu dem Modul.
Und zwar habe ich mit queryInline herumexperimentiert und da ist mir bei einem queryAnswer aufgefallen, dass wenn ich defaultPeer nicht gesetzt habe er folgende Fehlermeldung ausgibt.set telbot queryAnswer @name ID text hat aber auch nicht funktioniert. Das bedeutet man muss auf jedenfall defaultPeer setzen? Macht irgendwie kein Sinn. Oder hab ich was übersehen.
Gruß
Ja - Stimmt- ohne defaultPeer kommt diese Fehlermeldung - das muss ich anpassen
Wenn defaultPeer gesetzt ist sollte es aber gehen - Achtung eine queryAnswer ist mit der queryId nur wenige Sekunden (!) möglich
Zitat von: DarkT am 29 Januar 2018, 16:51:58
Top Modul. Vielen Dank für deine Mühe!
Danke! Gern geschehen!
Bei der Gelegenheit vielleicht warst du ja noch nicht dran, hätte ich da noch einen Featurewunsch. :)
Es gibt ja silentmsg, aber nicht silentqueryInline, wäre das möglich? Oder vielleicht könnte man es ja über ein Attribut komplett auf silent umschalten.
Gruß und Danke für die Arbeit.
Ich bekomme leider folgende Fehler, wenn ich über das Modul etwas verschicken will:
NonBlockingGet timed out on read from <hidden> after 365s
Im Log steht:
TelegramBot_readToken: Error: No API token in file
Kann mir einer sagen was ich machen muss?
hier noch ein list des Device. Bot und Kontakte habe ich durch xxx ersetzt:
Internals:
FAILS 0
NAME FWStatus
NR 21
OLD_POLLING 82
POLLING 82
SNAME FWStatus
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me xxxxx:Fxxxxxx_bot:@Fxxxxxxx_bot
offset_id xxxxx
AliasCmds:
Contacts:
xxxxxxx xxxxxxx:Dennis:
xxxxxxxx xxxxxxx:Stephie:
HU_DO_PARAMS:
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
hideurl 1
method GET
timeout 30
url
HU_UPD_PARAMS:
FD 10
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 2
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset xxxxx
path /botxxxxxxxxxxxx/getUpdates?offset=xxxxxxx&limit=5&timeout=180
protocol https
redirects 0
timeout 365
url https://api.telegram.org/botxxxxxxxxxxx/getUpdates?offset=xxxxxxxxx&limit=5&timeout=180
hash:
sslargs:
READINGS:
2018-01-28 23:17:27 Contacts xxxxxxx:Stephie: xxxxxxxx:Dennis:
2018-01-30 17:01:18 PollingErrCount 8
2018-01-30 17:01:18 PollingLastError NonBlockingGet timed out on read from <hidden> after 365s
2018-01-24 22:54:16 StoredCommands FHEM set Broedel Anwesenheit 1
FHEM set Broedel Anwesenheit 0
2018-01-30 16:07:34 msgChat Dennis
2018-01-30 16:07:34 msgChatId xxxxxxx
2018-01-30 16:07:34 msgFileId
2018-01-30 16:07:34 msgId 38
2018-01-30 16:07:34 msgPeer Dennis
2018-01-30 16:07:34 msgPeerId xxxxxxxx
2018-01-30 16:07:34 msgReplyMsgId
2018-01-30 16:07:34 msgText Test
2018-01-30 16:07:34 prevMsgChat Stephie
2018-01-30 16:07:34 prevMsgFileId
2018-01-30 16:07:34 prevMsgId 37
2018-01-30 16:07:34 prevMsgPeer Stephie
2018-01-30 16:07:34 prevMsgPeerId xxxxxxxx
2018-01-30 16:07:34 prevMsgReplyMsgId
2018-01-30 16:07:34 prevMsgText /start
2018-01-24 23:14:46 sentMsgId 31
2018-01-24 23:14:46 sentMsgPeerId xxxxxxxx
2018-01-24 23:14:46 sentMsgResult SUCCESS
inlinechats:
Attributes:
allowUnknownContacts 0
cmdKeyword FHEM
defaultPeer xxxxxxx
pollingTimeout 180
room Messenger
Nachrichten an den Bot kommen an.
Danke
Gruss
Dennis
Zitat von: Phill am 30 Januar 2018, 16:51:38
Bei der Gelegenheit vielleicht warst du ja noch nicht dran, hätte ich da noch einen Featurewunsch. :)
Es gibt ja silentmsg, aber nicht silentqueryInline, wäre das möglich? Oder vielleicht könnte man es ja über ein Attribut komplett auf silent umschalten.
Gruß und Danke für die Arbeit.
Ja kommt mit der nächsten Version - sind gerade ein paar Umstellungen in Arbeit, die ich noch etwas testen möchte
(Befehl silentInline - das mit dem Attribut habe ich erstmal nicht gemacht, da es Problem geben könnte, wenn Nachrichten verspätet gesendet werden und versucht das Attribut dynamisch zu verändern)
Ich habe mal och Verbose auf 5 gesetzt und folgendes im Log dann:
2018.01.30 22:43:23 4: TelegramBot_Set FWStatus: called
2018.01.30 22:43:23 4: TelegramBot_Set FWStatus: Processing TelegramBot_Set( ? )
2018.01.30 22:43:23 4: TelegramBot_Set FWStatus: called
2018.01.30 22:43:23 4: TelegramBot_Set FWStatus: Processing TelegramBot_Set( ? )
2018.01.30 22:43:23 5: TelegramBot_Get FWStatus: called
2018.01.30 22:43:23 5: TelegramBot_Get FWStatus: Processing TelegramBot_Get( ? )
2018.01.30 22:43:40 5: TelegramBot_Callback FWStatus: called from Polling
2018.01.30 22:43:40 5: TelegramBot_Callback FWStatus: data returned :{"ok":true,"result":[]}:
2018.01.30 22:43:40 5: TelegramBot_Deepencode FWStatus: found an ARRAY
2018.01.30 22:43:40 5: TelegramBot_Deepencode FWStatus: encoded a String from :1: to :1:
2018.01.30 22:43:40 5: TelegramBot_Deepencode FWStatus: found a HASH
2018.01.30 22:43:40 5: TelegramBot_Callback FWStatus: after encoding
2018.01.30 22:43:40 5: TelegramBot_Callback FWStatus: polling returned result? 0
2018.01.30 22:43:40 5: UpdatePoll FWStatus: number of results 0
2018.01.30 22:43:40 5: TelegramBot_UpdatePoll FWStatus: called
2018.01.30 22:43:40 5: TelegramBot_UpdatePoll FWStatus: - Initiate non blocking polling - With callback set
2018.01.30 22:43:40 5: TelegramBot_readToken: Read Telegram API token from file
2018.01.30 22:43:40 4: TelegramBot_UpdatePoll FWStatus: initiate polling with nonblockingGet with 20s
2018.01.30 22:43:40 5: TelegramBot_UpdatePoll FWStatus: - Ende > next polling started
2018.01.30 22:43:40 4: TelegramBot_Callback FWStatus: resulted in SUCCESS from Polling
2018.01.30 22:43:40 5: TelegramBot_Callback FWStatus: - Ende > Control back to FHEM
2018.01.30 22:43:41 5: TelegramBot_Callback FWStatus: called from Polling
2018.01.30 22:43:41 5: TelegramBot_Callback FWStatus: polling returned result? <undef>
2018.01.30 22:43:41 5: TelegramBot_UpdatePoll FWStatus: called
2018.01.30 22:43:41 5: TelegramBot_UpdatePoll FWStatus: - Initiate non blocking polling - With callback set
2018.01.30 22:43:41 5: TelegramBot_readToken: Read Telegram API token from file
2018.01.30 22:43:41 4: TelegramBot_UpdatePoll FWStatus: initiate polling with nonblockingGet with 20s
2018.01.30 22:43:41 5: TelegramBot_UpdatePoll FWStatus: - Ende > next polling started
2018.01.30 22:43:41 4: TelegramBot_Callback FWStatus: resulted in NonBlockingGet timed out on read from <hidden> after 45s from Polling
2018.01.30 22:43:41 5: TelegramBot_Callback FWStatus: - Ende > Control back to FHEM
@dennis_n: Der logauszug zu verbose 5 enthält keine Fehlermeldungen (aber auch kein Nachrichten senden) - das Empfangen scheint kein Problem zu haben.
Kannst Du einen Logauszug machen, wenn ein Sendebefehl ansteht?
Hast Du mal versucht utf8Special (attribut am bot) zu setzen?
"Ungeeignete Inhalte": Apple wirft Messenger Telegram raus.
Siehe hier: https://www.heise.de/mac-and-i/meldung/Ungeeignete-Inhalte-Apple-wirft-Messenger-Telegram-raus-3958529.html
Gesendet von iPad mit Tapatalk
Grüße Jörg
Zitat von: JoWiemann am 01 Februar 2018, 15:56:10
"Ungeeignete Inhalte": Apple wirft Messenger Telegram raus.
Zitat[Update 1.02.2018 18:35 Uhr] Telegram und Telegram X lassen sich inzwischen wieder über den App Store beziehen. Ob und welche "Schutzfunktionen" integriert wurden, bleibt unklar – ebenso wie der genaue Grund für das vorübergehende Verschwinden des Messengers.
Hallo zusammen,
wie kann ich denn eine ReadingGroup per Telegramm verschicken?
Hat dazu jemand eine Idee?
Gruß
Jonas
Hi @viegener,
mein Problem hat sich erledigt. Es war ne Fehlkonfiguration des Devices. Sorry für die Panik.
Aber mal noch ne andere Frage: Bei Pushover hatte ich die Möglichkeit bestimmte Töne bei der Pushbenachrichtigung mit anzugeben. Gibt es das bei Telegram auch?
Also kann ich beispielsweise die Standard-Töne einer Pushbenachrichtigung des iPhone umgehen und einen eigenen Ton mitsenden?
Danke
Gruss
Dennis
Zitat von: dennis_n am 02 Februar 2018, 15:02:00
Aber mal noch ne andere Frage: Bei Pushover hatte ich die Möglichkeit bestimmte Töne bei der Pushbenachrichtigung mit anzugeben. Gibt es das bei Telegram auch?
Also kann ich beispielsweise die Standard-Töne einer Pushbenachrichtigung des iPhone umgehen und einen eigenen Ton mitsenden?
Ich kenne leider nur die Möglichkeit Stumm / Benachrichtigung und Sounddatei (die wird aber nicht direkt abgespielt)
Hallo,
habe gerade angefangen die geniale Möglichkeit von silentmsg zu nutzen. Gibt es das auf für das Senden von Plots? also für cmdSend?
Grüße
Stephan
Lies mal https://forum.fhem.de/index.php/topic,38328.msg737109.html#msg737109 und davor.
Danke, kannst du dann SilentCMD analog SilentImage auch noch einbauen? Das wäre echt klasse.
Komisch übrigens: hab Silentmsg vorhin erfolgreich getestet und meine doifs danach umgebaut und nu bekomme ich auf dem iphone plötzlich wieder Notifications ...
Ich glaub ich höre auf für heute:-)
hab mal die neue Telegram-Version aus dem github drauf gemacht und bekomme jetzt folgende Fehlermeldungen:
Bad Request: chat_id is empty
im Log steht davor folgendes:
PERL WARNING: Argument "Empfänger-Name" isn't numeric in numeric eq (==) at ./FHEM/50_TelegramBot.pm line 1696.
ich sende mit @ und dann Empfänger-Name ab. Das hat bisher auch immer funktioniert
Zitat von: StephanFHEM am 04 Februar 2018, 15:23:44
hab mal die neue Telegram-Version aus dem github drauf gemacht und bekomme jetzt folgende Fehlermeldungen:
Bad Request: chat_id is empty
im Log steht davor folgendes:
PERL WARNING: Argument "Empfänger-Name" isn't numeric in numeric eq (==) at ./FHEM/50_TelegramBot.pm line 1696.
ich sende mit @ und dann Empfänger-Name ab. Das hat bisher auch immer funktioniert
Welches Kommando - liefert diese Fehler?
ich habe mal in github eine neue Version hochgeladen - die enthält einige Fixes und auch jetzt den Befehl cmdSentSilent
Das Kommando war ein einfaches:
set TelegramBot message @MeinTelegramName Test 123
@StephanFHEM: Kannst Du die letzte Version aus github mal verwenden, DU musst irgendeinen Zwischenstand erwischt haben, den ich eingechecked habe, bevor die Umbauten fertig waren.
hab ich gemacht... er sagt immer noch das chat_id empty ist...
im log steht:
2018.02.04 18:36:54 3: TelegramBot_Callback TelegramBot: resulted in Callback returned error :Bad Request: chat_id is empty: from SendIt
davor steht im Log noch folgendes:
2018.02.04 18:36:01 1: PERL WARNING: Argument "MeinTelegramNameM-^_" isn't numeric in numeric eq (==) at ./FHEM/50_TelegramBot.pm line 1704
Zitat von: StephanFHEM am 04 Februar 2018, 18:39:07
hab ich gemacht... er sagt immer noch das chat_id empty ist...
im log steht:
2018.02.04 18:36:54 3: TelegramBot_Callback TelegramBot: resulted in Callback returned error :Bad Request: chat_id is empty: from SendIt
davor steht im Log noch folgendes:
2018.02.04 18:36:01 1: PERL WARNING: Argument "MeinTelegramNameM-^_" isn't numeric in numeric eq (==) at ./FHEM/50_TelegramBot.pm line 1704
Du hast absolut recht - ich verwende grundsätzlich nur account-ids (Zahlen) - deshalb ist mir das durchgerutscht
Probiers nochmal mit der neuesten Version
geht jetzt soweit ich sehen kann ohne Fehler. cmdSendSilent funktioniert auch so wie es soll.
Vielen Dank!
langsam bekomme ich Puls:-)
nachdem alles super geklappt summt mein Handy jetzt wieder fleißig rum bei silentmsg.... das beste: es sind per DOIF definitiv genau die selben Befehle die ich absetze wie gestern Nachmittag .. nur das es da noch wie gewollt funktioniert hat.
Es kann ja quasi nur noch an meinem Telefon liegen (IOS). Hat noch irgendjemand dieses Verhalten und weiß wie man es lösen kann?
Starte mal Handy neu. Habe ich auch mit meinem iPhone.
Hat leider auch nicht geholfen. Auf dem Handy meiner Frau ist es das selbe. Vielleicht liegt es ja doch irgendwie am Modul
Zitat von: StephanFHEM am 06 Februar 2018, 17:27:39
Hat leider auch nicht geholfen. Auf dem Handy meiner Frau ist es das selbe. Vielleicht liegt es ja doch irgendwie am Modul
Ich habe bei mir gerade nochmal mit mehreren iOS-Devices getestet und kann das Problem nicht nachvollziehen. Sowohl bei silent als auch normal erscheint ein Fenster auf dem Sperrbildschirm allerdings ertönt bei silent... kein Ton, bei den anderen schon.
Das würde es erklären... der ton ist bei mir eh immer aus. Ich war der Meinung, dass auf dem Sperrbildschirm auch keine Notification kommt. Das war beim testen definitiv auch ab und zu so.
Wegen der Notification vibriert auch mein Armband und genau das möchte ich nicht für alle Nachrichten
Siehe zB hier ein ähnliches Problem
https://www.google.de/amp/s/amp.reddit.com/r/Telegram/comments/5qz7sh/bot_message_sent_with_disable_notification_still/
Kann es sein, dass das attr disable ohne Funktion ist? Habe gerade eine Nachricht erhalten, obwohl es auf disable 1 gesetzt hatte. dazu kommt, dass disable auch kein Dropdown anbietet, sondern ein Eingabefeld.
Zitat von: StephanFHEM am 06 Februar 2018, 23:48:22
Das würde es erklären... der ton ist bei mir eh immer aus. Ich war der Meinung, dass auf dem Sperrbildschirm auch keine Notification kommt. Das war beim testen definitiv auch ab und zu so.
Wegen der Notification vibriert auch mein Armband und genau das möchte ich nicht für alle Nachrichten
Siehe zB hier ein ähnliches Problem
https://www.google.de/amp/s/amp.reddit.com/r/Telegram/comments/5qz7sh/bot_message_sent_with_disable_notification_still/
Telegram sagt an der Stelle auch, dass Benutzer eine "Benachrichtigung ohne Ton" bekommen, deshalb hatte ich das Kommando auch silent... genannt
Zitat von: Amenophis86 am 07 Februar 2018, 15:26:18
Kann es sein, dass das attr disable ohne Funktion ist? Habe gerade eine Nachricht erhalten, obwohl es auf disable 1 gesetzt hatte. dazu kommt, dass disable auch kein Dropdown anbietet, sondern ein Eingabefeld.
Du hast nicht ganz unrecht, bisher steuert disable nur, dass das polling (und damit der Empfang) von Nachrichten verhindert wird. In github ist schon eine korrigierte Version, die auch zentral das Senden abklemmen sollte. Ich wäre jetzt aber auch nicht sicher, ob ich jetzt alle Funktionen des bots abgeklemmt habe.
Das mit dem dropdown habe ich auch noch hinzugefügt, kommt mit dem nächsten update
Zitat von: viegener am 07 Februar 2018, 23:44:40
Du hast nicht ganz unrecht, bisher steuert disable nur, dass das polling (und damit der Empfang) von Nachrichten verhindert wird. In github ist schon eine korrigierte Version, die auch zentral das Senden abklemmen sollte. Ich wäre jetzt aber auch nicht sicher, ob ich jetzt alle Funktionen des bots abgeklemmt habe.
Das mit dem dropdown habe ich auch noch hinzugefügt, kommt mit dem nächsten update
Ah ok, dank dir.
Hat noch jemand andauernd freezes wegen TelegramBot...?
Das hat so gegen 9:15 angefangen und erst wenn ich disable 1 stelle hört es auf mit den freezes...
Der PollingErrCount zählt gemütlich hoch...
Grüße Marcel
Jop.
Sieht mir aber nach einem Telegram Server Problem aus.
Im Verbose 5 sehe ich:
TelegramBot_Callback telegram: data returned :<html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.12.2</center>
</body>
</html>
Interessanterweise läuft eine andere Telegram Instanz (anderer Standort) ohne Probleme.
Würde mal ein routing spezifisches Problem vermuten...
Hallo,
ich möchte mir mit Hilfe von favoritesInline ein eigenes Menü bauen.
Mit diesem Code bekomme ich 2 Nachrichten:
/test5 [-test5]=set Telegram msg test5
TelegramBot FHEM - Befehl:set Telegram msg test5: - Ergebnis:OK
test5
Wie kann ich die Nachricht TelegramBot FHEM - Befehl:set Telegram msg test5: - Ergebnis:OK entfernen?
Ist es möglich die Hintergrundfarbe der Boxen zu ändern?
Wie kann ich zusätzlich Bilder zum dem Anzeigetext hinzufügen.
hat jemand versucht ein emoji mit in die Nachricht mittels Unicode zu packen? Bei mir klappt es irgendwie nicht... ich sehe in der Nachricht den UniCode und nicht des Smiley... Hat einer einen Tipp?
Zitat von: misux am 15 Februar 2018, 09:48:13
hat jemand versucht ein emoji mit in die Nachricht mittels Unicode zu packen? Bei mir klappt es irgendwie nicht... ich sehe in der Nachricht den UniCode und nicht des Smiley... Hat einer einen Tipp?
Suche nach emoji im Thread bringt die Antwort:
https://forum.fhem.de/index.php/topic,38328.msg471792/topicseen.html#msg471792 (https://forum.fhem.de/index.php/topic,38328.msg471792/topicseen.html#msg471792)
Also einfach das Zeichen in die Nachricht einfügen
Zitat von: TWART016 am 13 Februar 2018, 13:22:39
Hallo,
ich möchte mir mit Hilfe von favoritesInline ein eigenes Menü bauen.
Mit diesem Code bekomme ich 2 Nachrichten:
/test5 [-test5]=set Telegram msg test5
TelegramBot FHEM - Befehl:set Telegram msg test5: - Ergebnis:OK
test5
Wie kann ich die Nachricht TelegramBot FHEM - Befehl:set Telegram msg test5: - Ergebnis:OK entfernen?
Ist es möglich die Hintergrundfarbe der Boxen zu ändern?
Wie kann ich zusätzlich Bilder zum dem Anzeigetext hinzufügen.
Die Erfolgsmeldungen lassen sich mit dem attribut
ZitatcmdReturnEmptyResult
abschalten
Was meinst Du mit Bildern zum Anzeigetext?
Ich denke er meint eine Art Bildbeschreibung/ Bildunterschrift.
Grüße
Zitat von: TWART016 am 13 Februar 2018, 13:22:39
Ist es möglich die Hintergrundfarbe der Boxen zu ändern?
Wie kann ich zusätzlich Bilder zum dem Anzeigetext hinzufügen.
Also wenn esjay recht hat, Bildunterschiriften sind in der commandref zu
sendImage beschrieben (Stichwort caption) - einfach nach dem Pfad zum Bild noch eine Textnachricht anfügen
Mir ist kein Weg bekannt, die Farbe der Tasten zu ändern (wenn daas die Boxen sind, die Du meinst)
Hat aktuell noch jemand Probleme beim Versenden von Telegram Nachrichten aus fhem raus?
Bis vor ca. 1,5 Stunden hat alles funktioniert und seither kann ich keine Nachrichtem mehr verschicken.
Im log ist auch kein Fehler.
An den Bot etwas schicken vom Handy aus funktioniert und wird auch empfangen.
Ich verstehe nicht, wo der Fehler sein soll. Habe absolut nichts geändert.
Gruss
Dennis
@dennis_n: ich konnte jetzt nicht sehen, dass noch jemand anders Probleme meldet, eigentlich ist das empfangen der kritischere Teil. Im log keine Fehler heisst auch kein Fehlerreading am Device kein Eintrag im fhem-log? Das ist ungewöhnlich.
Was passiert denn wenn du eine ganz kurze Nachrcith mit "hallo" an Dich selber verschickst?
Das hatte funktioniert. Zwischenzeitlich geht es auch wieder. Aber als ich hier gefragt hatte ging es defintiv für ca. 2 Stunden nicht. Komisch.
Na ja, jetzt geht wieder alles so wie es soll.
Gruss
Dennis
Gibt es eigentlich immer noch Probleme mit Umlauten?
Ich habe das Problem, dass wenn ich versuche den Wetterbericht vom Wunderground Modul per TelegramBot zu verschicken, dies nicht funktioniert, wenn dieser Umlaute enthält:
2018.02.20 12:47:43 3: TelegramBot_Callback TelegramBot: resulted in NonBlockingGet timed out on read from <hidden> after 30s from SendIt
2018.02.20 12:47:43 3: TelegramBot_Callback TelegramBot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg 1234567 : Meistens klar. Kälter. Höchsttemperatur 5 °C. Wind aus NO mit 10 bis 15 km/h.
Nehme ich den Text per Copy&Paste, funktioniert der Versand. Wenn ich den Wert aber direkt aus dem Wunderground Modul hole, geht's nicht.
{fhem "set TelegramBot _msg \@12345678 " . ReadingsVal("wunderground", "fc1_text", "Test")}
Wahrscheinlich liegt es daher an irgendwelchen Sonderzeichen aus dem Wunderground Modul, die den Bot hier durcheinander bringen?
Es ist wieder der behämmerte narrow-no-break-space (0x202f) aus dem Wunderground Modul, der mich vor Monaten schon vor Probleme mit der Sonos Sprachausgabe gestellt hat.
Habe das jetzt erst mal so gelöst, dass ich den String vor dem verschicken per TelegramBot durch
encode("iso-8859-1", $text, 0);
laufen lasse. Nervt kaum, diese Spielerei mit den UTF-8 Sonderzeichen die von manchen Modulen verwendet werden.... ::)
irgendwie wird mein ganzes Log mit Kontakten zugespammt ... die kenne ich alle nicht .
Hab auch öfters: Callback returned error :Bad Request: chat not found:
Habe mal den Chat gelöscht bei mir in der Telegram App vielleicht deswegen ? Muss ich dann einen neuen BOT machen?
2018.03.05 08:11:25 3: TelegramBot_ContactUpdate new contact :272096194:Just_me:@Pakashi:
2018.03.05 08:11:25 2: TelegramBot_ContactUpdate Updated Contact list :457354610:Mercedes:@Royce2018 522103370:mascot_benjamin_souza: 420300315:mikkie_UNILOT_comm_mgr:@ucmiikkie 537850334:Olubukola_Ojo:@Bukolabojo 243726691:Udy4life:@Udy4life 241847047:Precious_Ordia:@Ordiaprecious 259233222:Jesus_Ayola:@Ayola 384073325:Crypto_Dan:@crptoisarDan 177317121:CharlesO:@ojialo 43214042:Esther_Ose.:@Ehislight 525919767:Apple_of_God:@Tayo4 352476361:Uzor_Okoronjama:@Chibuzor4 463160134:Dr_Chife:@Drchife 415263827:Misho_Seflashvili:@Folly11 205615235:Cynttia_Master_Coach:@Cynttia 508699691:OBANOR_.AKINWALE:@Briegth 547529327:Augusto_da_Silva:@Augus 228836254:Odirah_Vially:@Odirahvially 321930308:Vũ_Tuấn:@VuTuan 261872320:Nasru-Deen_Saani:@bitcoinnash 233258924:Humphrey_Eghelonohor:@Heghelon 517234102:Adebayo_Wilson:@Walelucky 364689581:Addy:@addyib 317396718:Sokari_Jerry:@Ikirigo 545616789:Philip_.:@Philip209 298994136:Albayaanee_Ken_Olohunloye:@Albayaanee 293570406:Kennethgold:@Kennethgold 249593619:IcyFire:@IcyFire07 410077851:FRANCIS_CHIMA:@CHARMZZY 298330286:Jowell_Exchangers:@easynetting 440966315:Alganon:@Oracle01 148362040:Tehilah_claro:@Tehilah_claro 408473733:Fx_SelfMade:@FxSelfMade 433287732:Nancy:@BlessedNancy 288288860:Bitcoin_tycoon:@Presisqo 445077357:Eɮɛռʏɨ_Oɮɨռռa:@OBOflint 501484771:James:@Moha113 301099770:Favour_Alex:@FavourAlex1 301818934:Wale_Akinwande:@Prince_Adewale 462262405:Promoter:@Limelightl 281662576:Chibuzor_Johnson:@Chibuz 428443960:Taiwo_IdIs:@horllanbo 316187362:Goodness😆😆:@Goodybanks 364163651:Araoye_Abeeb:@Opeyemi1005 531785886:Dare_Seun_Awopeju:@DareCovenant 327160471:💕Beautylov💞:@Ebulkservices 427960849:Eskay:@Eskay203 515497236:Gideon_Ugochukwu:@GREATTHRONE 311855711:Ugbesman:@Ugbes 367445185:Dr.Decus:@Callistus1000 320563875:SUCCESS:@Abehordun 503322641:TRYBE:@Trybiee 297643235:Michael_(Guider):@GuiderMichael 363881717:JSMG:@Tmarvelous 239308904:Pm_me_to_build_ponzi_website:@chrisakuneme 538877598:Hormoh:@Omoeni 176823254:Jovi:@joviyap 393927253:Segun:@Olushegz 342676067:Philly_Iness:@Jophina 373765476:Monespoir_Benin_West_Africa:@Imoamour 448559025:Fash:@ThankGod3 275992540:Isoje_Daniel:@Ogheneyokome 509518225:Kels_Angeles:@Kels69 341433524:Samuel:@Tyguo 347818883:Oyinnkansolami_A.:@Mhizoyin 287019045:Sir_|€®°:@leoisgreat 463427153:jojo:@Urocks_limited 546019958:Christian:@Christygen 405860782:Innocent_Akor:@Pato24 408288573:Stephen_Onyiri:@tulston 530623260:David_Senior:@KheengDavid 294617707:Adegboye:@adegboye 294615103:Sola_Green:@solagreen 173475782:Welcome_Bot:@jh0ker_welcomebot 433332292:Kimberlyn_Chua:@kimberlynnchua 444130418:Lorienna_Katy:@lorieanna 397178072:DARE_FEMI_FELIX:@Prestigeman 309513401:jo👑:@yosiyeee 518216991:Bobby_Grey:@bobbygrey 369354380:Jossy_Onos:@Onosjossy 392500075:JOSEPH_EDIRIN:@josephedirin 327405938:Joseph:@CoinFlow 328912331:Nifemi:@Tysurplus 261618380:Dominic_Desmond:@Dominic231 430875973:Patosas-_http_//Bobsrepair.com:@Patosas 482389928:Prosper:@Makanson 145821152:Adeyemi_Davies:@Yemmite 362953334:sangmatadev_bot:@sangmatadev_bot 125845360:Jeff:@Jeff_Adegbola 531096932:Taiye:@Taiye2 119719124:Madhu_Sudhan:@kadirimadhusudhan 529963604:Adekunle:@Adekunle0 173184550:ALLTHEWAY:@YCAAAA 429633766:Oghenekaro:@Oghenekaro99 303219796:crypto_anyikoruru:@cryptoanyikoruru 252705045:Tayo_Okunlola:@okunlolajt 372231875:Mr_Akinmosin:@Akinmo 461883122:ugly.me💀:@Theuglygrammar 501221499:Humphrey_Eghelonohor:@Heghelonw 535194723:Bisola:@Julliebabii 541195788:Serif_Cuvak:@BitMinerWorld 379389138:Jen@Hurify:@babiibadiidu 325467909:Tunbas:@Tunbas 321809196:Akaoseh:@Akaoseh 326635175:Collyweezy_Ahneeka_Is_Bae😘:@Collyweezy 420732648:BISI:@Cryptobisi 138033118:ibk:@adegbola 365455374:Awosusi_Opeyemi:@Opinatty 476171274:Spacial_testimony:@Specialsco 514559601:Danny_Boii:@DannyBoii23 411363442:Emmanuel_Ayeni:@EmmanuelAyeni 305283190:Nhanha_Sarfo:@PappyOso 419083467:ADMIn_Banks:@Bankzzz 228332294:Shola_Akiolu:@TEMILOLUALEX 514382174:Bayo_Awokojo:@awokojo 321798049:MagnificentEnterpreneur™:@MagnificentEntepreneur 330336822:Eze_Tochukwu:@Tochukwu4199 332782514:Mikail_Daudu:@daudumikail 408090780:Ayodele_Adaradohun:@ayodeleadaradohun 484268812:👑Ponzi_queen👗👠:@oyinye_peace 253811613:Aliasphil_Ethelbert:@Aliasphil 278117642:Mr_airdropico:@cryptopiaaa 364054520:Golden_Gold:@GoldenLuv 325792427:Olar_Millie:@Millie06 363895656:Kakalor_Odamtten:@Kakalor 170520681:EIS:@Dollarman101 316543486:Kingsley_Benson:@chiguybck 502505808:Mrs_Natania_Johnson:@Natania12 332057284:Everything:@Bassmandy 250733266:Love_bot:@BlessingBot 391733214:money.com_Inbox_now:@Chysommmm 511611049:Sime_Joey's:@simelola 329872801:Ene_Bliss:@Enebliss 409682005:Yemi_.:@MPheelzzz 477791677:Alhamdulillah:@madegr8bygrc 282670200:$$Lover:@BornHustler 276752720:Nwachimereze_Justin:@Nwachimereze1 503625513:DENNIS:@BITJErr 363031036:Brig._CthéF:@cthef 480870037:Tascom:@tascom_online 408198716:Erison:@Erison11 315393446:Yvekelly:@Yvekelly 485633745:Mr_Z:@elektrikdinar 424477951:Success:@Vjfjk 433812306:★ßąmį_★:@Bamidaregegen 469429310:Promotion_job:@Skymandream 427855086:Olawale_Olatunde:@OlawaleCASH 423945322:Exceeding_grace:@Uyomide 375906150:Arcadius:@Ar_cadius 365549650:Jonah_Adams:@George1000 288150456:David:@David_Emerem 313386183:RIe:@RichardBanks 269149538:Omotee:@Masantabedsheet 358369305:Osita_Onye:@Ositaino 72613985:Kolawole_Great:@Ogagunkolawole 250320766:Olanrewaju_Abdulsalam:@OLanrey 284885555:Zainalabden_Mayad:@Zikom 314612379:queen:@Terem 432937620:John_Aniam:@Johnaniam 542747320:Keji_Mascot:@Mascotkeji 134081166:Coin_Vet:@Crypto2xmn_r 505228535:james:@adeyemiky 317654049:Smallz:@Aska_smallz 313213300:Christianah:@tayo4r 312458089:ttORU:@ttORU 367132827:ThaHat:@thehat_lord 375462985:HOSAM_RESOURCES_NIG:@HosamResources 503502832:Huong_Nguyen:@be_daudua 287733714:Enoch_Olusegun_Binuyo:@segunbinuyo 530015243:Wisdom:@Bles_lord 456747613:Emily_Jackson:@EmilyJack 320583994:O.J._Mills_Emmanuel:@FumilaEmmy 441127227:Bami.D:@BamiD 181086103:Emmy.......:@mekuzio 414219824:Liberty_Nsikak:@Sirlibz1 444198423:Cynthia_Chidi:@ItzChyz 424733988:Ponzite:@Debuchy001 533781492:CRYPTOGENE:@OLADIPOPU123 384222999:La_Pulga_Godwin:@Godwi 303956087:Simon_Emini:@Eminicent 297722277:Chukwuka:@chukwuka24 197759447:Justina_Obienu:@Adaugom 245938726:Boatak:@Kebbyjo 355846913:ma'am_joy:@maamjoy 476441487:Olanre:@Obajjy 256824734:Sweet_Angel_(DCE_ROCKS_PM_ME_F_UR_LINK):@Smileout 319756691:Vicetone:@Vicetonetestbot 507123177:Prince_Juangwa:@Jpinsights 539344605:Miss_Cynthia:@ladycy0 496644167:Love_Okum:@Oyoyo18 493562021:CryptoBie:@CryptoBie 411762473:Princess:@Nitaprincess 519870977:Omoniniola_Rapheal:@Raph2018 423274422:Mr_P:@Namenomore 277210250:Kulture_oseafiana:@AzukaegoOseafiana 503999248:Bollutech:@Bollutech 432481839:Makinde_Mayowa_Akorede:@Mmkorede 189554235:Jamez:@jamez00n 327696816:Amedu_Churchill:@Bigbulu 196657455:IcyFire:@IcyFire 353307949:Emerald:@Recoveryy 510658909:Sehyi:@Sehyi01 483555560:Godwin_kabiru:@Sirmicheal 241088263:Anointed:@Allroundfavour 542895196:Francis:@Franco854 478543404:Azamat_Daumov:@Azika 243966191:edelweiss:@Temilolamaryam 351385363:Jelosky:@Jelosky 254280401:Victor_Soyemi:@Vicishow 517398593:funsho_funsho:@Tayofunsho 280619541:Bukola_blessing:@BukolaBlessing 422400724:Oyero:@Oyeropaul 375387321:I_REPRESENT_POSSIBILITIES:@DANGEROUSP 540287287:John_Hyder:@ApamBia 448135878:Michael:@Hurmardoze 178403239:Chuks_john:@Cjpinv 297617138:Ariolu_Sandy:@MOG000 290490385:Indeku:@indekuKE 331213495:Adedoyin:@OYOYO1 277566883:Bakol_Betsalel💙:@Bakol 382448211:Oluwaferanmi_Happiness:@Fisayorh 302041212:Flourishing_Queen:@Brownsugar82 265274680:Ike_Believe:@Ikebc 266639918:Marc_Muffins_(08164264257):@MarcMuffins 319424446:MOJISOLA_FOLAKE:@Mojisolafolake 242229891:Jayweezy:@Jayweezy 317539331:Godday_Blessing:@Goldenjewel50 288367854:Horlameleykan:@Horlameleykan 251853015:Nwachimereze_Sunny:@Nwachimereze 396686840:Pedro_Anufa:@oyenbros 441586889:Unknown:@Dwayne_Jnr 280391044:Tonnie_O'Abal:@Tonnieo 394042736:Miracoco:@Unitygirl2K 508724909:Momoh_Shagadi:@Momohshagadi 172668683:Olamide_Ashaby:@OlamideAyoola 203611205:Busayo_Adekanye:@Kanyesteve 367903277:Gentle_Baby:@Sexybim25 232760787:Rexie:@Rexiee 309158959:Andrew_Testimony:@Azusa1906 290512921:allsome_kids:@Allsome 449234522:Emmanuel_Adeboye:@AdeboyeEA 398745457:Harrison:@Jerrybest 376305716:Sweety:@Forluv 512406563:Electrode:@Itz_Electrode 213446606:Ola:@Luwaluwa 436046555:Pappy_YO:@Pappyo -1001320590426::#CRYPTO_COINS_EXCHANGE 328571673:Gold_heart:@Aryerstark 433656045:Ajanaku_Adewale:@Ajanakua 420092913:Maxwell_Dogbey:@Originalbankrollmafia 394249174:Ibrahim_Tijjani_Lawan:@Librasheen1 468644185:Sandra:@Betinvest2bot 418156143:Kofi_Nkansah:@Ogidigada 295204563:sucre_sucre:@Soniasucre 243985223:KING_OBI_JNR:@Upchrist 447985514:Chizzy_Jenny:@eckimalu 485521500:Getit:@Welcome2Aff 409424471:Mrs_Annex: 268278747:Taiwo:@Smartdad 457787793:Nicole:@Nicole_A 460119212:Fhem:@wilms_bot 348088637:Classic_Posh:@Classicposh 487041999:Sanwo:@Bitcoinsanwo 529592597:Olumide_Adebayo:@Tonysteve 433986344:Prestige_2:@Father9000 405608705:Odili_emmanuel:@Haruna12 333452724:Busayo_Gideon:@Olu_Busayo 323169537:SPRINGERZ:@SPRINGERZ 334061323:mike_igbodiegwu:@DovelineNetworks 234085039:Eddy_Godwin:@Eddymama 287313143:Oscar_Clement:@oscarclement25 520586297:Quảng_Dương:@quangtm210 354363549:Kaima:@Ifyken 470284139:Oglannyza:@Ifenneme 495698929:Sulaimon_Semiu:@Sexcolax 508475677:Ngozi_s:@Folawp 262540891:THE_MAYOR:@Sommie_Awesome 316206771:Diva:@Achimoway 567355050:Jide_Rotimi:@Jidei1 401101890:Raskmono:@Raskmono 284706295:Oluwaseun_Micheal_-_SEUNEXY_la_frosh:@SEUNEXY 393318210:Me:@Hydep 345095509:Daddigold:@daddigold 414118543:Blarh_MTN:@BlarhMTN 403754942:Mega_Hygiene.:@Megadcompere 264608113:Olugbenga_R._Akinyemi:@Raph2008 374880625:Nanadze_AmaZix:@Eroiyy 431309610:Eyifoma_Samuel:@Purity1443 402558488:Ahamed:@zaheerjk 275796456:MIRACLE:@Mynewdawn 407346540:Adekunle_Oluwatosin:@Adekunle01 515189638:Joseph_Chidi:@Josephchidi 203150035:Dayo:@Gen2dee 281113817:Kc_Promise:@Godson123 505566874:Hamson_Olivar:@lewis12 197798474:A12_-_NIGERIA_NELSON_IVIENAGBOR:@donnellymax 458815409:Smith:@L0wen_sm 541925413:Chukudi_Mike:@Skuldemogarn 369779508:Chidiebube_Chiamaka:@Kaosisochukwu 260877474:idris_olajuwon:@idrx4real 360679589:David_Akaazua:@Akaazua 303169630:Empress:@Cleopatra123 448503448:Nosen:@Nosenb 376276762:Odera:@Sammonius 66371110:David_Khaw_Kok_Wei:@Davidkkw79 496011071:Ibrahim_Tunde:@Aremu64 406401591:chichan_-_ico.obirum.com:@chichan17 449832586:RitA_Faith:@ritall 283224711:The_Ozone_Layer:@Ozonelayer03 185446609:Hiso._Saad:@Husman 180824266:Daniel_and_Sharon_Austin:@Austi 471363891:David_Ayobami:@ayobamidavid 312693053:BA'ALE_OKO_ILU:@ADEGBOLAA 270262384:Nameless🤡:@Profanewords 271586763:Emmanuel_Justice_Kwofie:@Emmanu 343477029:Ellison:@Ellison_faith 307172076:Ignatius_Odunukwe:@Ifesco4all 292323049:Abba_Joseph:@Tochuzy 312209699:Santy_Cash:@santycash 303680477:David_Solomon:@Netpin 460186687:Gandolf:@Ganggm 279824183:Izuchukwu_Godson:@Izuchukwu 449772424:Ksamotech:@Ksamotech 465083402:Ella:@EllalisticBae 269352155:Aadum_Secondus:@SecondusRx 156720154:Milder:@milderhc 418544333:Kudofoke_Maumo:@SEDAMPM 299636558:Seunex:@seunex 237304359:(Tipsjay):@Jamestips 433136919:astrix🚀💫:@June_Eleventh 365782221:Mandy:@Madysweet 277800020:Chyumoh:@Chyumoh 382791664:Adaora_James:@Scoafashee 453043595:Nchee:@Itchingfinger1 330650169:Franco:@Franco8541 361814268:Gorgeous:@Superbeau 247621547:Ybconcept:@ybconcept 431883612:AKJ:@Kayshow 501557886:DOCKEY:@Dockey10 300203904:guider_jerry:@billionmind 300860929:👁🗨_SangMata:@SangMata_BOT 294624272:Godwin:@Ogorgee 429184021:Keith(boi)_-):@Keith_oa 437379933:Davinc_Vu:@DV123 335597894:Taiwo_balogun:@Taiwobalogun 387617053:Kachy:@Kachybb 392769821:Humble_mayor:@Cuttin 446870327:Vivian:@FlawlessViv 331452905:KINGS:@BigSunny 336583566:Ayodeji_Israel:@ebunayo08 389091731:Yemisi:@yemmi 350303851:GinaB:@Yourtimepays 193504586:Tomorrow:@Welivetofuck 216008220:Dr_Ifeanyi:@Dr_Ifeanyi 512343165:Prestige_1:@Godfather9000 280015220:Ifedayo_Ayodele:@ifedayo_ayodele 388054067:Mustapha_Ibrahim:@OPEYEMI100 279385818:Ebuka:@Mathiascollins 252809747:Puzzyblinks:@MrBlinks1 444040815:Haywhy:@Haywh 381788709:Precious:@PreciousAyo 310430948:MICHAEL_EGBE:@mikkicoptbc 365706912:🍉🍉🌶🌶TE_AMOR_🇱🇷ACERO🍒🍒:@Romaticsexy 351623316:Belle💝💖💗💖:@Belleflorida 225306550:Eminent:@eminentpeter 549137257:Wealthy_Chap:@wealthyman2 497339311:Candy_Crush:@CandyDa 428796140:Gabriel:@Romeokings 244098600:Haywhy_fissy:@Haywhy_fissy 443639396:HASH:@Stephenking64 381686282:Emily_Blinkz:@Dizzyblinks 319123740:Humans_are_Evil:@Kantebow 334293818:Aryzon:@Aryzon 314577177:Mummy_E.:@mummyE 300884679:Christ_Bello:@Christbello1 424777433:Doris:@Esitmi 365969016:kimberlynngoh:@kimberlynngoh 532649561:Mario_Gebrael:@mario_geb 375215198:Egbeja_Vivian:@Tri90 95582514:Faith_Kam:@faithkam 331542900:Osita:@chrix1977 363472444:Vitalis_Mark:@Kingvizzy 401696781:Daniel_Chukwuma:@Danchukswise 360881978:Noblej15:@Call4TVsubscriptions 447276510:Nsirim_Anita:@Nsirim3 302949845:EKEH_MOSES:@Chibicks 193403048:Emeka_Joshua:@Emmybest1 544032699:4kamsi:@uddytinzz 312938707:Vicky:@Hephzibah1 430971707:Nguyễn_Tuấn:@vantuansos 303605793:Kelechi_Orluomah:@FavoriteO 359622576:Kc_Awesome:@Kasima89 376463708:Kelvin_Obaro:@kelvin45 393345626:Ihenyen._E.🚀🚀🚀:@Ihenyen 60496277:AGM:@Xcoded 436442604:Billgates:@Dahnielz 380863233:Ernest_Teddy:@Teddybabe 279129581:Cyrusmaky:@Cyrusmaky 441784453:Pure:@Paul_investor 454373801:jacky_fly:@Jackyf 323280199:Nkiruka_royaltrust_just_lunched_pm_4_link:@Sweetbea18 420765451:ROSEBOT:@roselinksbot 38590700:Mummy:@Mummyeta 134312031:Anil_Deol:@Deolanil 530642470:Afees_Adeola:@Ogagun999 496374464:Emmanuel_Ocho:@Emmycool59 484248436:Odemese:@odemese 519203807:Efe_Johnson:@Toboski 494713375:holar_tunde:@Beckliz 300753677:GoD_of_WOnDERS:@ServingGodPays 367394441:Odunola:@Odunlat 352196697:God_Mother_(Mama):@The_Goddes 502199345:Halleluyah:@Shabbach 377092196:GodKnows:@Djwaxma 319438914:A12_Oluwaseyi_Adeyeye:@Chirokee 433372156:Fayose_Goodness:@Fayoselife 339052725:Beyonce:@Ifybeyonce 342588091:XCoded:@xcodedbot 376093083:Jaiye_Folasade:@JaiyeSade 360868640:Omolozo_Franklin:@Omolozo8 300456079:Stefan_Telin:@stefantelin 313514853:Darrell_Harry:@DarrellOgheneyole 478607793:Martins_Davies:@Omobolaji3007 432257911:Wilmslow_Court_(SI-NAS):@simc_home_bot 484860853:Opeyemi:@Opeyemi10 374192085:🍭Swt_Comfort🍭:@SwtComfort 346336371:Omoniyi_Lumpkin:@Lumpkinworldc 378553744:Anna:@Anitachriss 292048917:Adegboyega_A:@Adegboyega 455925016:Olaboye_Olawale:@OYWalex 293246570:Uche_Samson:@uchesamson 242959805:Azibama_D'Great:@Azibama 104981836:Nastey:@Nastey 334332335:Banky:@Bankyluv 355247841:Ajayi_Samson:@Ponzimustmakesense 447039561:Lolly_Martins:@Drealkudos 204600588:Abu_Promise:@Abupromise52 459916236:Amina_Dogara:@Aminadogar 397618031:Uncle_mark:@Unclemark9 366171011:Paddy👽:@lyricalkhid 383345300:Stephen:@Stevenxogb1 406034451:shebe_original:@Elsiddiq 369244578:collins:@Collinck 535215002:Yinka_Ayomide_Akinsipe:@Whykayman 408019714:G-Baby:@FumBerry 522618530:Uche_Ikpendu:@Queenuche 376940092:Ameh_Emmanuel:@Emmybest1991 444565235:Yode_Oladehinde:@Pappee 306444937:Yemi_Davis:@Yemiwealth 509762084:Evasdiamond:@Evasdiamond 445905493:Emeka_Emezie:@Mekuziuz 226551105:john_Eze:@Johnez4u 322097707:Darey_Olushina:@Dareyolushina 545028211:Mezico:@Mexico76 375505435:IAmARichGuy:@AbjRichGuy 206562802:Eric_Hazard:@Erichazard 444660516:bukola_brown:@bukolabrown 409920135:Dr.Talatu:@Talatudarling 279708411:Mabby:@Mabbychy 348262318:HEO27:@HEO27 490855220:ERIC_HAZARD:@erichazard10 521367831:audjpyshortbot:@fxselltradebot 207339660:Chimezie_Solomon:@Solotos 445155934:salihu_sarafadeen_owolabi:@Sowolabi123 352870158:🇳🇬_Pm_me_for_Real_biz_or_08165680696:@Pm_me_4_real_biz_08165680696 518760760:Abdullahi_Lawal_Audi:@Engr001 53436708:Frieda_Ahmad:@Afrieda 425321256:Zerox:@zerox101 276620481:Oguike_Emmanuel_Increase:@Increasedollar 277683812:I_Mm:@mbugua1 522665978:Khap_Sules:@Khaps 391807180:T.GOLD:@TTOPEGOLD 476087260:Great_Ashigba:@Gr8est 348822456:Yinka_Simon_Kay:@Gr8simon 493599272:Otunba_Olayinka:@yinkastore 316821086:IZU:@Izuchukwu_samson 339390592:manuel_-_specialist_in_bulk_sms_services:@marleyyo 146856006:Phronesis_Bliss:@PhronesisBliss 393101519:Prasaant_Bunkar:@Prasaant 383524951:Adedamola_Otun:@adedamolaotun 360210795:Fina_Faiza:@Phina 566907101:Badiaki_Peter:@Abokusula12 401486102:PureLuv:@Pureluv4real 296318248:Formular:@Johnani 405842237:Jovy:@Joviy 382977655:Danieluv:@Tedyluv 29730166:Salina_Sabbaruddin:@MummyEAIS 535349084:Emmanuel:@Emmanuel_2002 311406057:Elizabeth:@gold1234560 35685530:ven:@venzyt 301285784:Arinze_Ejiofor:@Aronze 399960457:swtpunny:@selebobo1 471260193:Hemdan_Ozioma:@hem_dan 247805211:Mr_Law:@Dlawtechy 246387219:Ferarri:@Roseroyce 323969556:danbaba:@danbabaz 241770820:Murtash:@murtash 298904219:John_Shedo:@Sheddee 176365905:Group_Butler:@GroupButler_bot 284699526:Dennis:@Kingkay 139020806:Segun_Oluwajuwon:@Ewasegun 283369795:Daudu_Daniel:@daududaniel 128992383:James_Ting:@jamestih 304723406:@jh0ker_welcomebot:@AMPAjosehierrobot 325007070:Aps:@Amritbrar 296910551:Nonye:@Nonye01 514698203:Mercy:@Luckyy11 486324860:Mr_Sule:@Mrsule 273304213:Icon_Oluwatt_Adedoja:@Icon_watt 302143510:Blinkz_Anto:@BlinkzAnto 351950374:Ayodele_Ola:@Mynewdawn4life 432237227:Speciousdude:@Speciouskay 515799252:Delight:@gennyworld 406244075:Victor_Santos:@Victor 402197727:Wisdom_Rowland:@WisdomRowland 385902184:John_Alozie:@jonny1932 460956012:Habila_Yohanna:@Palatable4 393949687:Nancy_Ibeakor:@Nancybae 506242108:Olalekan:@Olamiilekan 290496851:Samuel_DANISON:@akdsek 481924086:Adenugba_Kingsley:@Adeschro 415373050:Nguyen_Van_Tuấn:@Vantua 487800770:Meduoye_Ajaye:@Ajaye1980 311324675:Babatunde_Oyetunji:@Smalltuns 506507801:Agent_Zero:@surefund 287030530:Omobolanle_faith:@faithustub 341858886:Ogidigba:@Ogidigba 318869478:Mekoyo:@Goodmine1 318743369:Ify:@Nsoforvivian 480935385:Oladele:@Oladele23 487907096:ZIGGI_AMBIT:@ZIGGIAMBIT 481567670:Tonnie_Ottie:@Tonnieottie 306492884:Safiah_Musiliat:@Musliat 139061144:Ivan:@Ivan_Dulinbot 421733739:Yinka_Akinrinsola:@Yinkas 505684300:Samuel_DANISON:@SamStellation 506400705:Chinenye_Nweze:@Trihil 339227179:Oluwatimileyin:@Oluwat 267327832:investor_TJ:@ogagun 542798092:Bello_Bukola:@Bukolab 406416510:Husman:@Dancoe 333729316:Oluwaseunphemmie:@Seunex04 393190778:Eskay_Abdul:@Eskay2030 445350722:Vivie:@Vivimie 446432001:Yetundey:@Yetundey2 538887406:Balogu_jeffrey:@Ballogunj 314178386:Olive:@Harvey4 505314040:Eddy_Kay:@Eddykay13 399857331:BAmz_09091454145:@mikoloBAmz 399216960:pm_me_for_minglecoin_link/earn_3%_daily:@everrolling 363665539:Ermi_Lax:@ErmiLax 275718409:Kenneth_Onyeka:@Mayweather1000redamrymember 490285415:kris_Shyle:@Palwinderkaur 96972635:Tough_taiga:@Tough_taiga 423565472:Ihebaby_Floxy:@Ezyflox 378437055:Oluwaseun:@Kasparov09 325665272:"Am_Lucky_And_Blessed":@LavivnwaJesus 480010074:olayinka_sotade:@showboy206 266064537:Prasanth_P:@prasaanthp 304250223:Rumplestiskin:@Rumplestiskin 296889681:Chinonso_Aninwodo:@favourafrica 299533289:BIG_MAMA:@MaBigg 452308391:Ponzitians:@Flozzyy 524315276:Hitman:@Dzsquare 276036722:Wabes_de_Castro_e_Souza:@Wabesdiamante 502204015:John_Hord:@OfficiallHord 250309423:Chukwuka_Okaro:@graciousunit 246821635:Ifybabyg:@Ifybabyg 329551858:Vivian_Akarolo:@Blacky2000 388767999:Kabeerat:@Olusheun 250796451:ENGR.:@ENGR00 307664874:Marvis_Edorodion:@Marvqute 315720702:MasterKay:@Kay_01 318582022:Julia:@btc_julia 243330252:SIR_TOMPETERS:@Tompeters01 324309216:Elegantboy_Vitalis:@Elegantboy 542152421:Engr._Sam_{CGC}_WHOLESALER_3:@EngrSam_CGCWHOLESALER3 441224670:ACTIVE:@Active_collins 333931924:Androw_Farag:@Androw 183609840:Moses_(Empower4):@ambosa 275767756:Akinwumi_Oyinkamsola:@Mhizoyins 424038315:Liz:@gorgeousamerican 542590644:Akinbode_Olanrewaju:@Olanreyfrnt 505074059:T-Berlin_GuyGuy:@Tberlin 387281678:EDITH:@Am_in_love 320950733:Ajigbohunrere_Abdullateef:@Osupa4real 273285224:Israelnojr_Iloba_Israel:@Israelnojr 349226299:Olu:@MeTrace 400239776:Prasanth_Prasanthkuttan:@Prasaanth 534810034:Okoro_John:@Okoro1 431837983:K.D.B:@He_Goat 413737939:Crypto_mega_international:@Cryptomegainternational 427103093:Sandra:@Bed_of_roses 185815576:Ultimate_cycler_bot:@Lilbrizzeeybot 320736409:Ladybae:@Sweetme12 326300517:Krystabell_Cashmere:@Krystabell 365521231:The_Digital_Master:@Gdigitalz 361008695:LadyPashy:@Nworah 344482801:daniel_mobolaji:@bj4lyf 490441974:Ola_Bola:@Olaboy111 253874236:Oscar_Anyama:@oscaranyama 232825501:Joshua_Kay:@Poetryofthefoot 328405547:Michael_Mbaike:@richmichaelmbaike 426601005:Benedict_Honor:@Ben_Honor 329682113:Unyime_Emazor:@Tehilah 250041894:Holmberg:@Dannyboii 397976022:Dickster:@Jxtgotstarted 385711683:Pebs10:@Pebore 311880551:Samson_Laryea:@SamsonLaryea 346045868:Erison_Zigla:@Ericson218 298755208:Scott_Fx_Morris:@Andreaskai 81791035:krystabelle:@krystabelle 335958017:Oluremi_Ayedogbon:@Olusamson 355744629:Wilson:@Motive_crypto 74518483:TunBashirah_Ali:@Tunbashirah 409377519:Moscoin_Official_Admin:@Nenezx 358887411:Mr_blinks:@Mrblinks 290988246:Adeyombo_Adegunju:@Adeyombo 361335327:Afonughe_Oghenejuvwerhe:@Afonughe 261542040:Roselinks:@Roselinks 466161487:Nathynio:@Nattynio 296766756:Ojunekwu_Felix_Nwanbueze(OFN):@gr8ofnnetwork 353553440:Wisdom:@WisdomGUL 342767498:Mama_k:@Ayo0907 271004308:Don_Chris:@JUSTCARE 415828491:Dancashbet:@damiley 366520104:Ikenna_Nweke:@iykeko 458460659:Mike_Daniel:@Mikedaniel12345 361570439:Osas:@Gracehood 520939967:Lesor:@Sandra_Bet 307044381:Zone:@Lovetyyy 321301278:Blokes@Presidency:@Zikomartins 436950810:INEMESIT_AKPAN:@Akpan12 114411540:slmdeey:@slmdeey 372711923:Austin:@Austinm 118586732:Charmaine_Lee:@charmzzyyy 537543550:CGC_Wholesaler_3:@CGCWHOLESALER3 392922299:ADANNE_LIKE_NO_OTHER:@chichistella 313546783:Simeon_Aghachi:@Dinakjes 289272964:Rowland_Martins:@Rowlandmart 195121516:Samson:@Usamson 471016116:Derek_Zoolander:@ZoolanderDerek 411369065:Hanif:@amal1H 476671927:Johnson_Isaac:@johnsonisaac 448359387:Marshal:@Marshallp 310002097:John_King:@Akaose 321970968:Order_4_Ur_YummyCakes,Smallchops,SpicyMeals:@InystreatCakesSmalchopsSpicymeal 164889024:Masanja_Sabbi:@Masanja_Sabbi 402571468:AxiLeshola:@Azeelozy 298297743:Silly:@Hyipbotmaker 199658788:AFOLABI_AJIFOLA:@Weplac 440209093:Ladyinred:@Ifnajust 349085949:NG:@JESSIEMARIAH 282647680:AGU_IFEANYI_M_(GCCH_MENTOR_NIGERIA):@EGOLIENSI 359076635:Dj_Nwachi_mere_eze:@Nwachimere 358664758:Ugoo_Chigoo:@Ugodaddy 497045114:Ebuka:@seventhkingg 305605280:Adejoju_Bukky:@Bukwise 313600591:Anthony_Ezewudo:@Profitbooster 322122952:(COOLEST_KID):@MozayskyTG 480704754:Helen_Riben:@PureProf1t 268593773:Innocent_Ikechukwu:@iykekomo 483195502:EMMANUEL_ADEBAYO_EDEMU:@BTCMAN11 388631263:Blensy:@Blensy 370817463:Ekuma_Kelechi:@Radmaster92 318066115:henry_ikhalo:@Henryigwe 346260379:Samuel:@Ewasegun11 313328100:Anthony_sunday:@Oghenekaro 368800818:Citizen_Jameel:@danmowa84 437258649:Okpo_John:@Okpocacious 427367326:Dolapo_Ayaoba:@Dollry 406696324:Oluwatobiloba:@NeyoBanty 228908629:Aliyu_Mohammed_Isyaku:@Aliyuglasco 489992508:isabel_salazar:@ZapUser4371617683 510029902:Seli:@Selebobo1z 442657398:Alli_Horlahmilekan:@Highbee7 461843263:SangMata_Info_Bot:@SangMataInfo_bot 392176749:Oladapo_Hammed:@Oladapoh 445307016:Mata_Mercy:@Mataelle 401824582:VENHUB: 352449614:Jennifer_Chizoba:@Nifferzzy 332382669:esther_temi:@etemi1 468594814:Norberto_Elegant:@SnrElegant 102704097:Stephen_Ade:@TheStephens 355304750:stephen_ogbuefi:@stevenxogb 498657330:Fekete_James:@Jemes 351142678:Ujunwa_Marycynthia:@Cindyburberry 301842862:Goodnews:@Goodnews17 422209333:Jacques_Collins:@jcollins14 437894617:Izuchukwu:@Izuchu 385044984:Emeka:@InspiredLove 457056353:Willow_Williams:@Willow2nilly 370457973:Uchenna:@Uche_nna 264857931:Olamide_Fawole:@olamide8162 268482515:Chidimma:@Mmagreat 548706446:Jemes2017__bot:@Jemesbond2017_bot 244354343:@pretty300_Lu:@Pretty300 505351692:Oluwole:@OluwoleB 201276803:TheExtremeTech©:@Nurulnaas 438485998:Pius:@Therealpaul 432170601:Mickbravo!:@theophelat 315894032:mishyking:@mishyking 519527691:anita:@andiwam 240919294:Apogee:@Formington 538081243:Sachin_Singh:@Sakchin 537248659:Olaolu_David:@Champagnes 493355025:Alexander_Mishkin:@Princelesss 472432974:Amos_Gadafi:@Amosfi 254175116:Izuchukwu_Samuel:@Izuchukwusamuel 247505598:Emma:@Emma20 254072411:@lolosin:@Lolosin 410363794:Adedamola_Adedokun_Olofa:@AdedamolaOlofa 474630176:Jooel:@Solayyy 354748645:Spencer:@real1_bello 200171074:Richard_Emekagbor:@Emekagbor 469596884:IgG:@Joshbuk 408920866:Enna_Ogaga:@Enna12 242497915:Mary_Olaemi:@Maryolaemi 536661286:Abdulbnw:@Abdulbnw 259652010:Roopesh:@cthefuture 300712282:WISER:@Wealth100 240350868:Realboss:@SSPConnect 457988211:Festus_Gbedzo:@Ryghteouse 526356485:Ogechi_Perpetua:@Ogechiperpetua 334479552:M_Shaikh:@cryptodealings 438639782:Chika08:@Chika08 351827647:Adedotun:@Adedezzy 282805596:Adeyemi_Okunlola:@Okunlola 287418684:gentlesam:@gentlesam25 429153505:Nelson:@Nelsonross 248596587:Flourish:@FlourishS 389865541:Lordson_lee:@G_LorDson 299659944:Jaywon:@Jaywon 473362706:Emmanuel:@Peacewr 314211323:ima:@Riszy 494946434:Osasuyi_Igbinoba:@Igosasuyi 360348595:God_is_Able_Abiodun:@ablekitchen 539901605:NDY_SUAVE:@ndysuave 340357495:Crispin:@Hogcris 483851447:Ekwusigo_Kingsley:@Ekwusigo 360380108:Walesmo:@Walcn 384233040:El_Nonso:@eumanity 277362481:Emmanuel_Chinemerem:@Sterling01 318061392:d_cruzo:@mydear21 326121692:Bliss:@PrettyBliss 227289961:Obamiro_Olarewaju:@Lanrecoker 338651380:Dammy:@dammylohar 241398812:Ayoola_Iyanuoluwa:@haywhyooo 519437014:fredo:@unfredo 297112682:Chibuike:@Chibuike 430619113:Trendy_Flvcko:@trendy_flvcko 405027447:Tochux:@Tochux 297641389:Godwin:@Bitprogress08083704278 439374123:Kupe_Kupe:@Sabastiankupe 325920098:KING_👑_PROSTIM:@KingProstim 411322686:Hydraulic:@Busolaon 392088832:Ify:@Ifylite 428930238:Rain_Man:@Lancevance1 219212993:Jay_Wong:@jaywongxx 322919020:Emmanuel_Olatunji_O.:@MadeGreatByGrace 253126606:Chidiebere_Onuoha:@ChidiebereOnuo5 364852990:Samuelolutosin:@OlutosinAfefe 234147319:Olaonipekun_Samuel:@Earlnoble 499689973:Nkanu_Achi:@Nkanuachi 389891238:OMOOBA:@adeyemin7 521605577:Abisoye_Olatunde:@Ayodeyji 260244530:Es_ist_möglich:@Kydreams 200948467:William_Arellano_Santillan:@SirWillyam 263479692:Liberty_Mutabvuri:@Leereal 358469465:Itz_Wilcox:@LegitMPR 431534279:Patience_Ineritei:@PatiKings 438406862:Smarty_(Ceo_9gmusic):@ayodele1287 297993013:Let_Money_Works_for_You:@Moneycometh 328159680:Bidemi_Bitcoin:@amazingsolutions 402826387:Great_Man:@GreatAreYou 486469560:Grace_Sofolahan:@Peeshow 468001829:Okkoh1:@Okkoh1 354058236:MR_bolamide_OLA:@OLADIPO1234 459076884:Janny_Okoji:@Jonnyokoji 505684054:Macqueen_Macqueen:@Macquee 75273682:Abayomi_Awokola:@abayomiawokola 423404026:Vickymma:@Vickymma 447903555:Pay:@PAYERO 450563114:Nehiflax:@Nkuli 483384809:Favour:@Folaife 466124028:Smith_Okafor:@Goodtimemm 396606519:Mmaa:@hwuworking 474160578:Miss_Pinky:@ladyyPink 227379568:Becky:@qwinbecky 369757332:99691_Ifeanyi:@UgoloIfeanyi 280014911:VICTOR:@dvictorynow 325988908:Cynthia3:@Cynther3 312254420:(Boss)_Chibuike:@Bosschibuike 343900800:Cobby_Kesler:@cobbykesler 237341754:Rita_Cyril:@Amasweet 283230239:DADA_EYITAYO_JULIUS(JAYMAN):@Juliusjayman 480425292:Boluwatife:@Bolulinkbot 546990783:Chibuzor_Eze:@Mcralphy 309225012:Chinasa:@Chinelchy 238225390:Vu_Tuan_MInh:@vutuanminh08 437754249:Jill:@Jill44 530445009:Ambila_Wilcox:@Ambilawilcox 367406757:Uche_Abuchi:@iam_stone 322827289:General_Temi:@Temitopznagod 414782660:Marthew:@Marthew 348983037:emma_white:@emmawhite 404843236:Sheriff:@Aremu6 349918011:KIM:@kimberlynn 241395210:Dixon_Kanu_Onwenu:@Onwenu 352229893:Adokpo_Norbert:@ZapUser3114664192 300267446:Mary_Edward:@Aygjn 320414133:francis__p:@jidelol 54040444:Jakeline_Felinto_-_Adv/Ce:@JackyFelinto 275190585:Peter:@Owompeter 123744870:Chizzy_Isaac:@Chizzy 306152046:fojumart:@FojumartBot 44818330:faith:@faithuhh 390322923:Btc_Mama_luno_Optimist:@Favour444 394444945:SMART_BOOSTER:@SMARTBOOSTER 499112408:Early_Azulon_🇳🇬:@EarlyAzulonn 275388819:Benson_Edah:@Bensonedah 82678736:Patrick_Abuodha:@Abuodha 520538883:Chinedu_Azubike:@Chineduazubike 282677637:Brizzeey:@lilbrizzeey 508518500:Blockchain_Mining_agency:@Blockchainmining 146873621:Kehinde_Adegboyega:@Adegboyegakehinde 381487378:DE_BARRY:@d_barry 437523252:Adeleke_Akinyemi:@yemo1 392380634:Mr_A.Y:@Skyfundyclass 452931417:Ope_Odunlami:@Ope_Odunlami 234543611:Success_is_mine:@EZYWEALTHPRO 347317729:Emmanuel:@Emmamoney 420822071:Shegzy_Horpeyemi:@Olushegzy 315808666:Royal_Queen:@Roseroyce2018 413174520:Mr_stephen_Mr_stephen:@Amosja 233226078:Pappyoung:@pappyoung 307736306:Daniel_Chukwudi_Mba:@Danchuks 298325121:Chan_j:@Dizzzol 541454242:Oluwatosin_Surveyor:@Survbaba 412081918:OHIARE_FATIMAT:@Ogagu 531459043:Nnamdi_Fortune:@Nmd4tune 472697674:Emmylae_Ihezks:@AYOMINORLIMITED 458502971:Lizzy_baby:@LIZZY121 321069114:JCollins:@JCollins 510525983:Adaeze_Ogoalaji:@crypto_girl 285545004:Olaniran_Awosika:@Olaneeran 462289767:Chimatex:@Nytboyz 102449574:Alex_Machine:@Alex_Machine 523262093:RUGGED_🏋♀:@Fashwalex 332656436:Samboom_CakeO'clock:@Mynewdawnera 229703090:FissionCoin_Nigeria:@fojumart 230984150:OLOYEDE_TOLASE:@Otbm1 305908341:Its_Bunmi:@Itsbunmi 543390600:Samson_Duru:@Durusam 367279550:Petersy_Ude:@Ikejoyce 533963089:Adams_Princess:@Mondaysule 342836593:Triniters:@Triniterz 409116298:Vu_Tuan:@vutuan1 402758597:Strëëtkhid_Lømë:@StreethidLome 251090036:Isaac:@Isapharm1 397690565:DJ_EMFUN:@Djemfun 432288140:Emmanuel:@Zanny_Best 259890195:Eric_Scott:@ericscottwahinya 292598384:Ifeanyi_Innocent:@Anyicharles 541736124:CryptoBox:@aycrypt 422510171:Susu_CEO_Colossus_Gists:@FrankSusu 273211028:wealthy_chuks:@wealthychuks 366009578:Mojisola_Olafare:@Moji4christ 388962471:DAVID_AYO:@AYOTUNDE01 369306318:Anderson:@Bridg 359251528:BDBest:@BDBest 316072363:Abhishek:@IRL_Abhi 379863170:Olamide_Omoduni:@olamid 484708348:Celphy:@Celphy_bot 435684751:Uchechukwu_Emeka:@Sucess44 443331161:Buteau_Pierre_Louis:@Buteau 530473396:❤VITAL_LOVE💙💙:@beelovee 271287442:Cynthya_Allves:@Cynthyaoliver 471877451:Actually:@Topsymm 390613037:JESUS_PIKIN:@MONEYMUSTBEMADE01 359378381:ROSE_ROYCE:@ROSEROYCE17 393203977:Joan_Briggs:@Excelot 257844038:okoh_jerry:@RELIANCE04 331750390:intelligence:@intellwisdom 163363131:Jun_Wei:@gr8estrebel 264888201:GodmotherII:@Kemizy 344792046:Priceless_Favour:@Princeless 368472745:Dannie:@dannierockie 400145452:Martial:@Martialella 446768315:Wasiu_Tijani_Mayorlabs:@Olabs1 475464362:Abbas_Basher:@Misterei 540897629:Nwadike_Chukwuemeka_Fortune:@Lordlopez 274438504:Jerome:@TunchiMane 276435995:sulaman_sulaman:@Sulama 229931065:Daniel_Tan:@Dannyboiii 371061777:Annyz:@Annygal 271940433:John_Villegas:@Preco 422904664:Augustinessen:@AugustinessenBot 238098850:Akpevwe_Oji:@akpoji 428945891:I_no_go_do_poniz_again:@Chybrown 247521705:Tech_it:@dareedyone 401331028:samuel_daniel:@sammiepop 306960819:Justin_Ndidi:@justndi 449953341:Mz_Unique💋💃:@dahmieeeeee 412739396:Itchingfinger:@itchingfinger 221990174:Omodele_Olumide:@Yemmighto 317468320:Kome_Faith:@Komefaith 496350476:Mavelus_T:@MavicT 390189459:physics:@cinimak 351282276:Olusola_Adekoya:@Lepsson 515066788:Emaka_boss_Emaka:@Emakaboss 293668429:Emmanuel_Daniel:@emmanuel_22043 342422423:Awonugba_Kemi_Mary:@Awonugbakemimary 454851555:Mercy:@tsmiless 339355200:Odogwu:@Idiegwu 349421081:Venatius_Egoigwe:@Venascash 548534200:JOHNSON_ELIZABETH:@Standwell 326151238:Obaid:@phusphus435 -1001223110536::#BITCOIN_TRADES 346147069:Osigment:@Ikhenoba 311726368:Cecilia_Asim:@Bestie2003 214393770:Kevh:@kevhmnastee 370528733:Law_Mary:@LawMary 432315740:Shadownet:@Shadownet10 115975228:CHIZERO_BASEKA:@Chizzyb 315149721:Dicapioe3r:@Dicapioe3r 328197138:Stargaboy:@DeletemessagesHelper 423736347:Goodluck_Second:@Secondus 264619726:Maloba:@Willishalfmungu 312853703:Akajehovah:@Ma6651 424429749:James:@Jamez0 303410043:Bolaji:@Zeemaraj 531928343:MagnificentEntepreneur:@MagnificentEntepreneu 244356555:Olowoamoxy_Olowoamoxy:@Olowoamoxy 383778525:Nersta_Lyfstory_Hurl:@Nersta_Lyfstory_Hurl 329766436:End_in_Praise:@CryptoPips 437495636:Emeka_Christopher_Ubunama:@Mekuzi 448616122:Dwayne_Sleezy:@Dwaynesleezy 305202181:Ibrahim:@Highbee777 180112172:Obetodun:@Obetodun 508894280:Boss_Emjay:@Bossken1 503681647:Sharwan_Sah:@Sharwan66 411065454:Victoria:@Vicky_u 305239508:As_i_no_get_money_i_hide_my_face:@gentility55 455610379:Joy_Praise:@Joypraise 270121499:world_of_our_own:@mishyking11 392904921:Nikki:@Lillain 416671997:Kelvin:@Kelvin452 459230975:Paafresh🕴:@Anykobs 437285612:ForexLord:@roadzpro 376052158:kryss:@Krysskrypto 364377507:Ojolola_Ayomide_David_(Mtech_Data):@MtechData 483007692:Blessing_John:@Blessinf 295922068:Am_precious:@amprecious 424264478:God_d_Judge_of_all:@Gorgiousgold 433008818:Damilola_Awotula:@Awotula_Damilola 364173416:Legit:@Legitimate001 262759480:Sonic_Ho:@Sonic1628 296859202:Joy:@Favour44 274784786:GREIZMANN:@MAcQUEEN95 371435939:Light:@Papa4sure 403309172:Izuchukwu:@Izuchukwuu 455246383:Opeyemi_oyeleke:@Cakemistress 388268263:Honeeybee:@Honeeybee 518427834:Mr_Akpabio:@Mrchi12358 393617831:Anthony:@Mbugua15 474526281:Valentino:@Valentino_cash 456155837:tipsy:@tipsu 298487467:88015:@Selebobo12 301642044:Princess:@tola28 376099618:Progress_Ibrahim:@Progressibraa 286215908:Raphael:@raph20ch 247863306:sir_p:@simplesirp 538244105:Fadhili_Mhiche:@Fadhilimhiche 202567752:Feyisayo_Williams:@Nifedola1 327797245:Tush_Tunez:@Tushtunez 448836787:Olamide_Akinyosola:@Olamide 477595882:Tanja: 316148867:PAUL_Ogunsede:@OSASERE 326997664:The_Investor:@maymae4575 386353081:sahil_singla:@ssahilsingla 372035620:Barbie_chick:@Sweet_bunny 304951233:Crush:@Crush01 398521185:Adepoyigi-Osinubi_Adedamola:@AdedamolaO 430380074:Dani:@Daniyo 482658160:R@j:@Rajmo 392389567:Felicity_Nonny:@maloudac 517428413:Alien:@alienatee 369029450:Honeypie:@Supperbae 497696189:Joshua_Kunle:@Josland 496957058:It's_Don_Simtwo:@Simtwo2 477133811:Constantin_O:@Coverlack 545850924:Bodunda_Daramola:@pricegiver 181042015:Jess:@Jessyngesh 365731005:Udele_Jakes:@Fxjakes 350162344:Ayobami_Star💫:@haryobami 342472050:Hakuna_Mattata:@HakunaMattatabot 343230419:Brig._Sam:@Alphapanther 473681812:gamebit:@gameebit 404142220:Ibimade:@Ibimii 263268081:Nnaemeka_Onyeukwu:@Mella5k 535690875:HitzUniverse:@Hitzuniverse_grp 240338611:Shubham_Suryawanshi:@SuryaShubz 423645417:Ваня_Белый:@JohnAnimesh 404157374:WEALTH_PIUS:@Pius101 510860555:Johncee_Chukwulobe:@Johncee 274692167:Cy:@Cynthy 95239745:Kene_Kene_Oluwaseun:@Kene_Kene_Oluwaseun 509065159:Constantin_O:@Coverlackf 440332562:GUARANTEE:@guaranteee 361072044:Mum_Quina:@Angelonhap 222254243:K.Bampo_💯🏀🏀:@BigBlackGhanaBwoy 540915054:Vishal_Badhe:@Vicky_Fr_u 253834821:Emmanuel_Onuoha:@Emma201 528082503:Bellah_Bae:@Bellahbae 333413785:Tolu_Ogunjobi:@Toluwise 505643275:Yinka_Salman:@Yinkasal 440360075:Ogbaji_Juli:@Juliking 487992527:ciprobaybotfather2:@secondusernamebot 272096194:Just_me:@Pakashi 379532062:Shyamal_Roy:@Shyamal1990 431133032:Christian: 286935902:Emperific:@Emperific 375246489:Promise:@Venzy 509769740:Marcel_Alkali:@KJDSM 133958293:Nataly_Kulik:@nkulik 147918494:Raju_Gopalakrishnan:@O000GK0000 228098460:Ayodeji_Aluko:@ayodejialuko 546443288:OKUNLOLA_MUSTAPHA:@OKUNLOLA1 313967106:VITALIS:@Degarus 318775615:Kesiena_Darlington:@Kessyboy1 305761095:henry_chisom:@henchis3 277770857:Peaklife:@Peaklife 312480525:Rigid_B:@emmywright 502345687:Lynda:@Gogdsxhv 307513992:Hakuna_Matata:@Hakunamatata1 467824192:Grace_Omale:@graoma 273548152:Akpan_S.:@Akpan1 176391708:Blessingbot:@Godfaithbot 300780415:Rich_Gold:@Promchiny 391747109:sixtus_Nwadike:@sixtusme:
2018.03.05 08:11:49 3: TelegramBot_ContactUpdate new contact :289438193:Nsikak_Etuk:@BigDii:
2018.03.05 08:11:49 2: TelegramBot_ContactUpdate Updated Contact list :442657398:Alli_Horlahmilekan:@Highbee7 461843263:SangMata_Info_Bot:@SangMataInfo_bot 392176749:Oladapo_Hammed:@Oladapoh 445307016:Mata_Mercy:@Mataelle 401824582:VENHUB: 352449614:Jennifer_Chizoba:@Nifferzzy 102704097:Stephen_Ade:@TheStephens 355304750:stephen_ogbuefi:@stevenxogb 498657330:Fekete_James:@Jemes 351142678:Ujunwa_Marycynthia:@Cindyburberry 332382669:esther_temi:@etemi1 468594814:Norberto_Elegant:@SnrElegant 301842862:Goodnews:@Goodnews17 385044984:Emeka:@InspiredLove 422209333:Jacques_Collins:@jcollins14 437894617:Izuchukwu:@Izuchu 370457973:Uchenna:@Uche_nna 264857931:Olamide_Fawole:@olamide8162 457056353:Willow_Williams:@Willow2nilly 313600591:Anthony_Ezewudo:@Profitbooster 305605280:Adejoju_Bukky:@Bukwise 480704754:Helen_Riben:@PureProf1t 268593773:Innocent_Ikechukwu:@iykekomo 322122952:(COOLEST_KID):@MozayskyTG 483195502:EMMANUEL_ADEBAYO_EDEMU:@BTCMAN11 388631263:Blensy:@Blensy 318066115:henry_ikhalo:@Henryigwe 370817463:Ekuma_Kelechi:@Radmaster92 346260379:Samuel:@Ewasegun11 313328100:Anthony_sunday:@Oghenekaro 228908629:Aliyu_Mohammed_Isyaku:@Aliyuglasco 489992508:isabel_salazar:@ZapUser4371617683 368800818:Citizen_Jameel:@danmowa84 437258649:Okpo_John:@Okpocacious 427367326:Dolapo_Ayaoba:@Dollry 406696324:Oluwatobiloba:@NeyoBanty 510029902:Seli:@Selebobo1z 242497915:Mary_Olaemi:@Maryolaemi 536661286:Abdulbnw:@Abdulbnw 259652010:Roopesh:@cthefuture 300712282:WISER:@Wealth100 240350868:Realboss:@SSPConnect 334479552:M_Shaikh:@cryptodealings 457988211:Festus_Gbedzo:@Ryghteouse 526356485:Ogechi_Perpetua:@Ogechiperpetua 438639782:Chika08:@Chika08 351827647:Adedotun:@Adedezzy 282805596:Adeyemi_Okunlola:@Okunlola 248596587:Flourish:@FlourishS 287418684:gentlesam:@gentlesam25 429153505:Nelson:@Nelsonross 268482515:Chidimma:@Mmagreat 548706446:Jemes2017__bot:@Jemesbond2017_bot 244354343:@pretty300_Lu:@Pretty300 505351692:Oluwole:@OluwoleB 432170601:Mickbravo!:@theophelat 201276803:TheExtremeTech©:@Nurulnaas 438485998:Pius:@Therealpaul 315894032:mishyking:@mishyking 519527691:anita:@andiwam 240919294:Apogee:@Formington 538081243:Sachin_Singh:@Sakchin 537248659:Olaolu_David:@Champagnes 493355025:Alexander_Mishkin:@Princelesss 472432974:Amos_Gadafi:@Amosfi 247505598:Emma:@Emma20 254072411:@lolosin:@Lolosin 254175116:Izuchukwu_Samuel:@Izuchukwusamuel 469596884:IgG:@Joshbuk 408920866:Enna_Ogaga:@Enna12 410363794:Adedamola_Adedokun_Olofa:@AdedamolaOlofa 474630176:Jooel:@Solayyy 354748645:Spencer:@real1_bello 200171074:Richard_Emekagbor:@Emekagbor 430619113:Trendy_Flvcko:@trendy_flvcko 405027447:Tochux:@Tochux 439374123:Kupe_Kupe:@Sabastiankupe 297641389:Godwin:@Bitprogress08083704278 325920098:KING_👑_PROSTIM:@KingProstim 428930238:Rain_Man:@Lancevance1 219212993:Jay_Wong:@jaywongxx 411322686:Hydraulic:@Busolaon 392088832:Ify:@Ifylite 253126606:Chidiebere_Onuoha:@ChidiebereOnuo5 364852990:Samuelolutosin:@OlutosinAfefe 322919020:Emmanuel_Olatunji_O.:@MadeGreatByGrace 234147319:Olaonipekun_Samuel:@Earlnoble 499689973:Nkanu_Achi:@Nkanuachi 389891238:OMOOBA:@adeyemin7 521605577:Abisoye_Olatunde:@Ayodeyji 389865541:Lordson_lee:@G_LorDson 360348595:God_is_Able_Abiodun:@ablekitchen 299659944:Jaywon:@Jaywon 473362706:Emmanuel:@Peacewr 314211323:ima:@Riszy 494946434:Osasuyi_Igbinoba:@Igosasuyi 539901605:NDY_SUAVE:@ndysuave 340357495:Crispin:@Hogcris 384233040:El_Nonso:@eumanity 277362481:Emmanuel_Chinemerem:@Sterling01 483851447:Ekwusigo_Kingsley:@Ekwusigo 360380108:Walesmo:@Walcn 326121692:Bliss:@PrettyBliss 318061392:d_cruzo:@mydear21 338651380:Dammy:@dammylohar 227289961:Obamiro_Olarewaju:@Lanrecoker 241398812:Ayoola_Iyanuoluwa:@haywhyooo 519437014:fredo:@unfredo 297112682:Chibuike:@Chibuike 459076884:Janny_Okoji:@Jonnyokoji 468001829:Okkoh1:@Okkoh1 354058236:MR_bolamide_OLA:@OLADIPO1234 505684054:Macqueen_Macqueen:@Macquee 75273682:Abayomi_Awokola:@abayomiawokola 447903555:Pay:@PAYERO 423404026:Vickymma:@Vickymma 483384809:Favour:@Folaife 450563114:Nehiflax:@Nkuli 474160578:Miss_Pinky:@ladyyPink 227379568:Becky:@qwinbecky 466124028:Smith_Okafor:@Goodtimemm 396606519:Mmaa:@hwuworking 280014911:VICTOR:@dvictorynow 369757332:99691_Ifeanyi:@UgoloIfeanyi 325988908:Cynthia3:@Cynther3 312254420:(Boss)_Chibuike:@Bosschibuike 343900800:Cobby_Kesler:@cobbykesler 260244530:Es_ist_möglich:@Kydreams 200948467:William_Arellano_Santillan:@SirWillyam 263479692:Liberty_Mutabvuri:@Leereal 297993013:Let_Money_Works_for_You:@Moneycometh 328159680:Bidemi_Bitcoin:@amazingsolutions 358469465:Itz_Wilcox:@LegitMPR 431534279:Patience_Ineritei:@PatiKings 438406862:Smarty_(Ceo_9gmusic):@ayodele1287 402826387:Great_Man:@GreatAreYou 486469560:Grace_Sofolahan:@Peeshow 393190778:Eskay_Abdul:@Eskay2030 445350722:Vivie:@Vivimie 446432001:Yetundey:@Yetundey2 333729316:Oluwaseunphemmie:@Seunex04 314178386:Olive:@Harvey4 505314040:Eddy_Kay:@Eddykay13 538887406:Balogu_jeffrey:@Ballogunj 399857331:BAmz_09091454145:@mikoloBAmz 363665539:Ermi_Lax:@ErmiLax 399216960:pm_me_for_minglecoin_link/earn_3%_daily:@everrolling 275718409:Kenneth_Onyeka:@Mayweather1000redamrymember 490285415:kris_Shyle:@Palwinderkaur 96972635:Tough_taiga:@Tough_taiga 423565472:Ihebaby_Floxy:@Ezyflox 378437055:Oluwaseun:@Kasparov09 311324675:Babatunde_Oyetunji:@Smalltuns 506507801:Agent_Zero:@surefund 287030530:Omobolanle_faith:@faithustub 341858886:Ogidigba:@Ogidigba 487907096:ZIGGI_AMBIT:@ZIGGIAMBIT 481567670:Tonnie_Ottie:@Tonnieottie 306492884:Safiah_Musiliat:@Musliat 139061144:Ivan:@Ivan_Dulinbot 421733739:Yinka_Akinrinsola:@Yinkas 318869478:Mekoyo:@Goodmine1 318743369:Ify:@Nsoforvivian 480935385:Oladele:@Oladele23 505684300:Samuel_DANISON:@SamStellation 506400705:Chinenye_Nweze:@Trihil 339227179:Oluwatimileyin:@Oluwat 267327832:investor_TJ:@ogagun 542798092:Bello_Bukola:@Bukolab 406416510:Husman:@Dancoe 315720702:MasterKay:@Kay_01 318582022:Julia:@btc_julia 243330252:SIR_TOMPETERS:@Tompeters01 324309216:Elegantboy_Vitalis:@Elegantboy 333931924:Androw_Farag:@Androw 542152421:Engr._Sam_{CGC}_WHOLESALER_3:@EngrSam_CGCWHOLESALER3 441224670:ACTIVE:@Active_collins 387281678:EDITH:@Am_in_love 183609840:Moses_(Empower4):@ambosa 275767756:Akinwumi_Oyinkamsola:@Mhizoyins 424038315:Liz:@gorgeousamerican 542590644:Akinbode_Olanrewaju:@Olanreyfrnt 505074059:T-Berlin_GuyGuy:@Tberlin 320950733:Ajigbohunrere_Abdullateef:@Osupa4real 273285224:Israelnojr_Iloba_Israel:@Israelnojr 349226299:Olu:@MeTrace 413737939:Crypto_mega_international:@Cryptomegainternational 427103093:Sandra:@Bed_of_roses 400239776:Prasanth_Prasanthkuttan:@Prasaanth 534810034:Okoro_John:@Okoro1 431837983:K.D.B:@He_Goat 320736409:Ladybae:@Sweetme12 185815576:Ultimate_cycler_bot:@Lilbrizzeeybot 480010074:olayinka_sotade:@showboy206 266064537:Prasanth_P:@prasaanthp 325665272:"Am_Lucky_And_Blessed":@LavivnwaJesus 299533289:BIG_MAMA:@MaBigg 452308391:Ponzitians:@Flozzyy 304250223:Rumplestiskin:@Rumplestiskin 296889681:Chinonso_Aninwodo:@favourafrica 524315276:Hitman:@Dzsquare 502204015:John_Hord:@OfficiallHord 276036722:Wabes_de_Castro_e_Souza:@Wabesdiamante 250309423:Chukwuka_Okaro:@graciousunit 246821635:Ifybabyg:@Ifybabyg 329551858:Vivian_Akarolo:@Blacky2000 388767999:Kabeerat:@Olusheun 307664874:Marvis_Edorodion:@Marvqute 250796451:ENGR.:@ENGR00 74518483:TunBashirah_Ali:@Tunbashirah 409377519:Moscoin_Official_Admin:@Nenezx 290988246:Adeyombo_Adegunju:@Adeyombo 358887411:Mr_blinks:@Mrblinks 361335327:Afonughe_Oghenejuvwerhe:@Afonughe 261542040:Roselinks:@Roselinks 466161487:Nathynio:@Nattynio 296766756:Ojunekwu_Felix_Nwanbueze(OFN):@gr8ofnnetwork 353553440:Wisdom:@WisdomGUL 342767498:Mama_k:@Ayo0907 366520104:Ikenna_Nweke:@iykeko 271004308:Don_Chris:@JUSTCARE 415828491:Dancashbet:@damiley 344482801:daniel_mobolaji:@bj4lyf 326300517:Krystabell_Cashmere:@Krystabell 365521231:The_Digital_Master:@Gdigitalz 361008695:LadyPashy:@Nworah 253874236:Oscar_Anyama:@oscaranyama 490441974:Ola_Bola:@Olaboy111 426601005:Benedict_Honor:@Ben_Honor 329682113:Unyime_Emazor:@Tehilah 232825501:Joshua_Kay:@Poetryofthefoot 328405547:Michael_Mbaike:@richmichaelmbaike 250041894:Holmberg:@Dannyboii 397976022:Dickster:@Jxtgotstarted 385711683:Pebs10:@Pebore 346045868:Erison_Zigla:@Ericson218 298755208:Scott_Fx_Morris:@Andreaskai 311880551:Samson_Laryea:@SamsonLaryea 335958017:Oluremi_Ayedogbon:@Olusamson 355744629:Wilson:@Motive_crypto 81791035:krystabelle:@krystabelle 321970968:Order_4_Ur_YummyCakes,Smallchops,SpicyMeals:@InystreatCakesSmalchopsSpicymeal 310002097:John_King:@Akaose 164889024:Masanja_Sabbi:@Masanja_Sabbi 402571468:AxiLeshola:@Azeelozy 298297743:Silly:@Hyipbotmaker 349085949:NG:@JESSIEMARIAH 282647680:AGU_IFEANYI_M_(GCCH_MENTOR_NIGERIA):@EGOLIENSI 359076635:Dj_Nwachi_mere_eze:@Nwachimere 199658788:AFOLABI_AJIFOLA:@Weplac 440209093:Ladyinred:@Ifnajust 358664758:Ugoo_Chigoo:@Ugodaddy 497045114:Ebuka:@seventhkingg 361570439:Osas:@Gracehood 520939967:Lesor:@Sandra_Bet 307044381:Zone:@Lovetyyy 458460659:Mike_Daniel:@Mikedaniel12345 321301278:Blokes@Presidency:@Zikomartins 114411540:slmdeey:@slmdeey 436950810:INEMESIT_AKPAN:@Akpan12 372711923:Austin:@Austinm 118586732:Charmaine_Lee:@charmzzyyy 313546783:Simeon_Aghachi:@Dinakjes 289272964:Rowland_Martins:@Rowlandmart 537543550:CGC_Wholesaler_3:@CGCWHOLESALER3 392922299:ADANNE_LIKE_NO_OTHER:@chichistella 476671927:Johnson_Isaac:@johnsonisaac 195121516:Samson:@Usamson 471016116:Derek_Zoolander:@ZoolanderDerek 411369065:Hanif:@amal1H 448359387:Marshal:@Marshallp 364377507:Ojolola_Ayomide_David_(Mtech_Data):@MtechData 483007692:Blessing_John:@Blessinf 295922068:Am_precious:@amprecious 376052158:kryss:@Krysskrypto 424264478:God_d_Judge_of_all:@Gorgiousgold 262759480:Sonic_Ho:@Sonic1628 433008818:Damilola_Awotula:@Awotula_Damilola 364173416:Legit:@Legitimate001 296859202:Joy:@Favour44 274784786:GREIZMANN:@MAcQUEEN95 403309172:Izuchukwu:@Izuchukwuu 371435939:Light:@Papa4sure 448616122:Dwayne_Sleezy:@Dwaynesleezy 305202181:Ibrahim:@Highbee777 180112172:Obetodun:@Obetodun 508894280:Boss_Emjay:@Bossken1 503681647:Sharwan_Sah:@Sharwan66 411065454:Victoria:@Vicky_u 305239508:As_i_no_get_money_i_hide_my_face:@gentility55 392904921:Nikki:@Lillain 455610379:Joy_Praise:@Joypraise 270121499:world_of_our_own:@mishyking11 416671997:Kelvin:@Kelvin452 459230975:Paafresh🕴:@Anykobs 437285612:ForexLord:@roadzpro 202567752:Feyisayo_Williams:@Nifedola1 286215908:Raphael:@raph20ch 247863306:sir_p:@simplesirp 538244105:Fadhili_Mhiche:@Fadhilimhiche 327797245:Tush_Tunez:@Tushtunez 448836787:Olamide_Akinyosola:@Olamide 477595882:Tanja: 326997664:The_Investor:@maymae4575 316148867:PAUL_Ogunsede:@OSASERE 372035620:Barbie_chick:@Sweet_bunny 386353081:sahil_singla:@ssahilsingla 398521185:Adepoyigi-Osinubi_Adedamola:@AdedamolaO 430380074:Dani:@Daniyo 304951233:Crush:@Crush01 482658160:R@j:@Rajmo 392389567:Felicity_Nonny:@maloudac 517428413:Alien:@alienatee 388268263:Honeeybee:@Honeeybee 518427834:Mr_Akpabio:@Mrchi12358 455246383:Opeyemi_oyeleke:@Cakemistress 393617831:Anthony:@Mbugua15 456155837:tipsy:@tipsu 474526281:Valentino:@Valentino_cash 298487467:88015:@Selebobo12 301642044:Princess:@tola28 376099618:Progress_Ibrahim:@Progressibraa 404142220:Ibimade:@Ibimii 343230419:Brig._Sam:@Alphapanther 473681812:gamebit:@gameebit 263268081:Nnaemeka_Onyeukwu:@Mella5k 535690875:HitzUniverse:@Hitzuniverse_grp 240338611:Shubham_Suryawanshi:@SuryaShubz 510860555:Johncee_Chukwulobe:@Johncee 274692167:Cy:@Cynthy 423645417:Ваня_Белый:@JohnAnimesh 404157374:WEALTH_PIUS:@Pius101 95239745:Kene_Kene_Oluwaseun:@Kene_Kene_Oluwaseun 509065159:Constantin_O:@Coverlackf 440332562:GUARANTEE:@guaranteee 361072044:Mum_Quina:@Angelonhap 222254243:K.Bampo_💯🏀🏀:@BigBlackGhanaBwoy 497696189:Joshua_Kunle:@Josland 369029450:Honeypie:@Supperbae 496957058:It's_Don_Simtwo:@Simtwo2 477133811:Constantin_O:@Coverlack 365731005:Udele_Jakes:@Fxjakes 545850924:Bodunda_Daramola:@pricegiver 181042015:Jess:@Jessyngesh 350162344:Ayobami_Star💫:@haryobami 342472050:Hakuna_Mattata:@HakunaMattatabot 546443288:OKUNLOLA_MUSTAPHA:@OKUNLOLA1 313967106:VITALIS:@Degarus 133958293:Nataly_Kulik:@nkulik 147918494:Raju_Gopalakrishnan:@O000GK0000 228098460:Ayodeji_Aluko:@ayodejialuko 318775615:Kesiena_Darlington:@Kessyboy1 305761095:henry_chisom:@henchis3 277770857:Peaklife:@Peaklife 312480525:Rigid_B:@emmywright 502345687:Lynda:@Gogdsxhv 467824192:Grace_Omale:@graoma 273548152:Akpan_S.:@Akpan1 176391708:Blessingbot:@Godfaithbot 300780415:Rich_Gold:@Promchiny 307513992:Hakuna_Matata:@Hakunamatata1 391747109:sixtus_Nwadike:@sixtusme 540915054:Vishal_Badhe:@Vicky_Fr_u 253834821:Emmanuel_Onuoha:@Emma201 528082503:Bellah_Bae:@Bellahbae 333413785:Tolu_Ogunjobi:@Toluwise 505643275:Yinka_Salman:@Yinkasal 440360075:Ogbaji_Juli:@Juliking 487992527:ciprobaybotfather2:@secondusernamebot 272096194:Just_me:@Pakashi 379532062:Shyamal_Roy:@Shyamal1990 431133032:Christian: 286935902:Emperific:@Emperific 375246489:Promise:@Venzy 509769740:Marcel_Alkali:@KJDSM 349918011:KIM:@kimberlynn 241395210:Dixon_Kanu_Onwenu:@Onwenu 352229893:Adokpo_Norbert:@ZapUser3114664192 320414133:francis__p:@jidelol 300267446:Mary_Edward:@Aygjn 54040444:Jakeline_Felinto_-_Adv/Ce:@JackyFelinto 275190585:Peter:@Owompeter 123744870:Chizzy_Isaac:@Chizzy 306152046:fojumart:@FojumartBot 44818330:faith:@faithuhh 394444945:SMART_BOOSTER:@SMARTBOOSTER 390322923:Btc_Mama_luno_Optimist:@Favour444 275388819:Benson_Edah:@Bensonedah 82678736:Patrick_Abuodha:@Abuodha 520538883:Chinedu_Azubike:@Chineduazubike 499112408:Early_Azulon_🇳🇬:@EarlyAzulonn 237341754:Rita_Cyril:@Amasweet 283230239:DADA_EYITAYO_JULIUS(JAYMAN):@Juliusjayman 480425292:Boluwatife:@Bolulinkbot 309225012:Chinasa:@Chinelchy 546990783:Chibuzor_Eze:@Mcralphy 530445009:Ambila_Wilcox:@Ambilawilcox 238225390:Vu_Tuan_MInh:@vutuanminh08 437754249:Jill:@Jill44 367406757:Uche_Abuchi:@iam_stone 322827289:General_Temi:@Temitopznagod 414782660:Marthew:@Marthew 348983037:emma_white:@emmawhite 404843236:Sheriff:@Aremu6 230984150:OLOYEDE_TOLASE:@Otbm1 229703090:FissionCoin_Nigeria:@fojumart 305908341:Its_Bunmi:@Itsbunmi 543390600:Samson_Duru:@Durusam 367279550:Petersy_Ude:@Ikejoyce 533963089:Adams_Princess:@Mondaysule 402758597:Strëëtkhid_Lømë:@StreethidLome 342836593:Triniters:@Triniterz 409116298:Vu_Tuan:@vutuan1 397690565:DJ_EMFUN:@Djemfun 432288140:Emmanuel:@Zanny_Best 259890195:Eric_Scott:@ericscottwahinya 251090036:Isaac:@Isapharm1 273211028:wealthy_chuks:@wealthychuks 366009578:Mojisola_Olafare:@Moji4christ 292598384:Ifeanyi_Innocent:@Anyicharles 541736124:CryptoBox:@aycrypt 422510171:Susu_CEO_Colossus_Gists:@FrankSusu 369306318:Anderson:@Bridg 359251528:BDBest:@BDBest 316072363:Abhishek:@IRL_Abhi 388962471:DAVID_AYO:@AYOTUNDE01 508518500:Blockchain_Mining_agency:@Blockchainmining 146873621:Kehinde_Adegboyega:@Adegboyegakehinde 381487378:DE_BARRY:@d_barry 282677637:Brizzeey:@lilbrizzeey 452931417:Ope_Odunlami:@Ope_Odunlami 234543611:Success_is_mine:@EZYWEALTHPRO 347317729:Emmanuel:@Emmamoney 437523252:Adeleke_Akinyemi:@yemo1 392380634:Mr_A.Y:@Skyfundyclass 315808666:Royal_Queen:@Roseroyce2018 413174520:Mr_stephen_Mr_stephen:@Amosja 420822071:Shegzy_Horpeyemi:@Olushegzy 307736306:Daniel_Chukwudi_Mba:@Danchuks 233226078:Pappyoung:@pappyoung 298325121:Chan_j:@Dizzzol 541454242:Oluwatosin_Surveyor:@Survbaba 531459043:Nnamdi_Fortune:@Nmd4tune 472697674:Emmylae_Ihezks:@AYOMINORLIMITED 412081918:OHIARE_FATIMAT:@Ogagu 510525983:Adaeze_Ogoalaji:@crypto_girl 285545004:Olaniran_Awosika:@Olaneeran 458502971:Lizzy_baby:@LIZZY121 321069114:JCollins:@JCollins 523262093:RUGGED_🏋♀:@Fashwalex 332656436:Samboom_CakeO'clock:@Mynewdawnera 462289767:Chimatex:@Nytboyz 102449574:Alex_Machine:@Alex_Machine 344792046:Priceless_Favour:@Princeless 368472745:Dannie:@dannierockie 264888201:GodmotherII:@Kemizy 400145452:Martial:@Martialella 475464362:Abbas_Basher:@Misterei 540897629:Nwadike_Chukwuemeka_Fortune:@Lordlopez 446768315:Wasiu_Tijani_Mayorlabs:@Olabs1 276435995:sulaman_sulaman:@Sulama 229931065:Daniel_Tan:@Dannyboiii 274438504:Jerome:@TunchiMane 371061777:Annyz:@Annygal 271940433:John_Villegas:@Preco 422904664:Augustinessen:@AugustinessenBot 238098850:Akpevwe_Oji:@akpoji 428945891:I_no_go_do_poniz_again:@Chybrown 247521705:Tech_it:@dareedyone 401331028:samuel_daniel:@sammiepop 306960819:Justin_Ndidi:@justndi 449953341:Mz_Unique💋💃:@dahmieeeeee 379863170:Olamide_Omoduni:@olamid 484708348:Celphy:@Celphy_bot 435684751:Uchechukwu_Emeka:@Sucess44 443331161:Buteau_Pierre_Louis:@Buteau 530473396:❤VITAL_LOVE💙💙:@beelovee 271287442:Cynthya_Allves:@Cynthyaoliver 471877451:Actually:@Topsymm 390613037:JESUS_PIKIN:@MONEYMUSTBEMADE01 359378381:ROSE_ROYCE:@ROSEROYCE17 393203977:Joan_Briggs:@Excelot 331750390:intelligence:@intellwisdom 257844038:okoh_jerry:@RELIANCE04 163363131:Jun_Wei:@gr8estrebel 346147069:Osigment:@Ikhenoba -1001223110536::#BITCOIN_TRADES 311726368:Cecilia_Asim:@Bestie2003 214393770:Kevh:@kevhmnastee 432315740:Shadownet:@Shadownet10 370528733:Law_Mary:@LawMary 115975228:CHIZERO_BASEKA:@Chizzyb 315149721:Dicapioe3r:@Dicapioe3r 328197138:Stargaboy:@DeletemessagesHelper 312853703:Akajehovah:@Ma6651 424429749:James:@Jamez0 423736347:Goodluck_Second:@Secondus 264619726:Maloba:@Willishalfmungu 303410043:Bolaji:@Zeemaraj 531928343:MagnificentEntepreneur:@MagnificentEntepreneu 289438193:Nsikak_Etuk:@BigDii 383778525:Nersta_Lyfstory_Hurl:@Nersta_Lyfstory_Hurl 244356555:Olowoamoxy_Olowoamoxy:@Olowoamoxy 329766436:End_in_Praise:@CryptoPips 437495636:Emeka_Christopher_Ubunama:@Mekuzi 412739396:Itchingfinger:@itchingfinger 317468320:Kome_Faith:@Komefaith 221990174:Omodele_Olumide:@Yemmighto 351282276:Olusola_Adekoya:@Lepsson 496350476:Mavelus_T:@MavicT 390189459:physics:@cinimak 515066788:Emaka_boss_Emaka:@Emakaboss 293668429:Emmanuel_Daniel:@emmanuel_22043 342422423:Awonugba_Kemi_Mary:@Awonugbakemimary 454851555:Mercy:@tsmiless 339355200:Odogwu:@Idiegwu 349421081:Venatius_Egoigwe:@Venascash 326151238:Obaid:@phusphus435 548534200:JOHNSON_ELIZABETH:@Standwell 314612379:queen:@Terem 432937620:John_Aniam:@Johnaniam 284885555:Zainalabden_Mayad:@Zikom 134081166:Coin_Vet:@Crypto2xmn_r 505228535:james:@adeyemiky 317654049:Smallz:@Aska_smallz 313213300:Christianah:@tayo4r 542747320:Keji_Mascot:@Mascotkeji 375462985:HOSAM_RESOURCES_NIG:@HosamResources 503502832:Huong_Nguyen:@be_daudua 312458089:ttORU:@ttORU 367132827:ThaHat:@thehat_lord 287733714:Enoch_Olusegun_Binuyo:@segunbinuyo 530015243:Wisdom:@Bles_lord 320583994:O.J._Mills_Emmanuel:@FumilaEmmy 456747613:Emily_Jackson:@EmilyJack 441127227:Bami.D:@BamiD 181086103:Emmy.......:@mekuzio 414219824:Liberty_Nsikak:@Sirlibz1 444198423:Cynthia_Chidi:@ItzChyz 533781492:CRYPTOGENE:@OLADIPOPU123 384222999:La_Pulga_Godwin:@Godwi 424733988:Ponzite:@Debuchy001 282670200:$$Lover:@BornHustler 276752720:Nwachimereze_Justin:@Nwachimereze1 477791677:Alhamdulillah:@madegr8bygrc 480870037:Tascom:@tascom_online 503625513:DENNIS:@BITJErr 363031036:Brig._CthéF:@cthef 408198716:Erison:@Erison11 315393446:Yvekelly:@Yvekelly 485633745:Mr_Z:@elektrikdinar 469429310:Promotion_job:@Skymandream 424477951:Success:@Vjfjk 433812306:★ßąmį_★:@Bamidaregegen 365549650:Jonah_Adams:@George1000 288150456:David:@David_Emerem 427855086:Olawale_Olatunde:@OlawaleCASH 423945322:Exceeding_grace:@Uyomide 375906150:Arcadius:@Ar_cadius 313386183:RIe:@RichardBanks 72613985:Kolawole_Great:@Ogagunkolawole 250320766:Olanrewaju_Abdulsalam:@OLanrey 269149538:Omotee:@Masantabedsheet 358369305:Osita_Onye:@Ositaino 519870977:Omoniniola_Rapheal:@Raph2018 423274422:Mr_P:@Namenomore 277210250:Kulture_oseafiana:@AzukaegoOseafiana 196657455:IcyFire:@IcyFire 353307949:Emerald:@Recoveryy 503999248:Bollutech:@Bollutech 432481839:Makinde_Mayowa_Akorede:@Mmkorede 189554235:Jamez:@jamez00n 327696816:Amedu_Churchill:@Bigbulu 241088263:Anointed:@Allroundfavour 542895196:Francis:@Franco854 478543404:Azamat_Daumov:@Azika 510658909:Sehyi:@Sehyi01 483555560:Godwin_kabiru:@Sirmicheal 351385363:Jelosky:@Jelosky 254280401:Victor_Soyemi:@Vicishow 517398593:funsho_funsho:@Tayofunsho 243966191:edelweiss:@Temilolamaryam 303956087:Simon_Emini:@Eminicent 297722277:Chukwuka:@chukwuka24 245938726:Boatak:@Kebbyjo 197759447:Justina_Obienu:@Adaugom 355846913:ma'am_joy:@maamjoy 476441487:Olanre:@Obajjy 256824734:Sweet_Angel_(DCE_ROCKS_PM_ME_F_UR_LINK):@Smileout 319756691:Vicetone:@Vicetonetestbot 539344605:Miss_Cynthia:@ladycy0 507123177:Prince_Juangwa:@Jpinsights 496644167:Love_Okum:@Oyoyo18 493562021:CryptoBie:@CryptoBie 411762473:Princess:@Nitaprincess 251853015:Nwachimereze_Sunny:@Nwachimereze 396686840:Pedro_Anufa:@oyenbros 317539331:Godday_Blessing:@Goldenjewel50 288367854:Horlameleykan:@Horlameleykan 441586889:Unknown:@Dwayne_Jnr 280391044:Tonnie_O'Abal:@Tonnieo 394042736:Miracoco:@Unitygirl2K 508724909:Momoh_Shagadi:@Momohshagadi 172668683:Olamide_Ashaby:@OlamideAyoola 367903277:Gentle_Baby:@Sexybim25 232760787:Rexie:@Rexiee 203611205:Busayo_Adekanye:@Kanyesteve 290512921:allsome_kids:@Allsome 449234522:Emmanuel_Adeboye:@AdeboyeEA 309158959:Andrew_Testimony:@Azusa1906 398745457:Harrison:@Jerrybest 376305716:Sweety:@Forluv 213446606:Ola:@Luwaluwa 436046555:Pappy_YO:@Pappyo -1001320590426::#CRYPTO_COINS_EXCHANGE 512406563:Electrode:@Itz_Electrode 280619541:Bukola_blessing:@BukolaBlessing 297617138:Ariolu_Sandy:@MOG000 422400724:Oyero:@Oyeropaul 375387321:I_REPRESENT_POSSIBILITIES:@DANGEROUSP 540287287:John_Hyder:@ApamBia 448135878:Michael:@Hurmardoze 178403239:Chuks_john:@Cjpinv 290490385:Indeku:@indekuKE 331213495:Adedoyin:@OYOYO1 277566883:Bakol_Betsalel💙:@Bakol 265274680:Ike_Believe:@Ikebc 266639918:Marc_Muffins_(08164264257):@MarcMuffins 382448211:Oluwaferanmi_Happiness:@Fisayorh 302041212:Flourishing_Queen:@Brownsugar82 319424446:MOJISOLA_FOLAKE:@Mojisolafolake 242229891:Jayweezy:@Jayweezy 405608705:Odili_emmanuel:@Haruna12 433986344:Prestige_2:@Father9000 333452724:Busayo_Gideon:@Olu_Busayo 323169537:SPRINGERZ:@SPRINGERZ 234085039:Eddy_Godwin:@Eddymama 334061323:mike_igbodiegwu:@DovelineNetworks 520586297:Quảng_Dương:@quangtm210 287313143:Oscar_Clement:@oscarclement25 354363549:Kaima:@Ifyken 470284139:Oglannyza:@Ifenneme 495698929:Sulaimon_Semiu:@Sexcolax 394249174:Ibrahim_Tijjani_Lawan:@Librasheen1 468644185:Sandra:@Betinvest2bot 328571673:Gold_heart:@Aryerstark 433656045:Ajanaku_Adewale:@Ajanakua 420092913:Maxwell_Dogbey:@Originalbankrollmafia 418156143:Kofi_Nkansah:@Ogidigada 295204563:sucre_sucre:@Soniasucre 243985223:KING_OBI_JNR:@Upchrist 447985514:Chizzy_Jenny:@eckimalu 485521500:Getit:@Welcome2Aff 409424471:Mrs_Annex: 268278747:Taiwo:@Smartdad 460119212:Fhem:@wilms_bot 457787793:Nicole:@Nicole_A 529592597:Olumide_Adebayo:@Tonysteve 348088637:Classic_Posh:@Classicposh 487041999:Sanwo:@Bitcoinsanwo 321930308:Vũ_Tuấn:@VuTuan 261872320:Nasru-Deen_Saani:@bitcoinnash 233258924:Humphrey_Eghelonohor:@Heghelon 517234102:Adebayo_Wilson:@Walelucky 545616789:Philip_.:@Philip209 298994136:Albayaanee_Ken_Olohunloye:@Albayaanee 293570406:Kennethgold:@Kennethgold 249593619:IcyFire:@IcyFire07 364689581:Addy:@addyib 317396718:Sokari_Jerry:@Ikirigo 298330286:Jowell_Exchangers:@easynetting 410077851:FRANCIS_CHIMA:@CHARMZZY 148362040:Tehilah_claro:@Tehilah_claro 408473733:Fx_SelfMade:@FxSelfMade 433287732:Nancy:@BlessedNancy 440966315:Alganon:@Oracle01 301099770:Favour_Alex:@FavourAlex1 288288860:Bitcoin_tycoon:@Presisqo 445077357:Eɮɛռʏɨ_Oɮɨռռa:@OBOflint 501484771:James:@Moha113 301818934:Wale_Akinwande:@Prince_Adewale 462262405:Promoter:@Limelightl 457354610:Mercedes:@Royce2018 522103370:mascot_benjamin_souza: 537850334:Olubukola_Ojo:@Bukolabojo 420300315:mikkie_UNILOT_comm_mgr:@ucmiikkie 241847047:Precious_Ordia:@Ordiaprecious 243726691:Udy4life:@Udy4life 384073325:Crypto_Dan:@crptoisarDan 259233222:Jesus_Ayola:@Ayola 525919767:Apple_of_God:@Tayo4 352476361:Uzor_Okoronjama:@Chibuzor4 177317121:CharlesO:@ojialo 43214042:Esther_Ose.:@Ehislight 205615235:Cynttia_Master_Coach:@Cynttia 508699691:OBANOR_.AKINWALE:@Briegth 547529327:Augusto_da_Silva:@Augus 463160134:Dr_Chife:@Drchife 415263827:Misho_Seflashvili:@Folly11 228836254:Odirah_Vially:@Odirahvially 363881717:JSMG:@Tmarvelous 239308904:Pm_me_to_build_ponzi_website:@chrisakuneme 538877598:Hormoh:@Omoeni 393927253:Segun:@Olushegz 176823254:Jovi:@joviyap 373765476:Monespoir_Benin_West_Africa:@Imoamour 342676067:Philly_Iness:@Jophina 275992540:Isoje_Daniel:@Ogheneyokome 448559025:Fash:@ThankGod3 509518225:Kels_Angeles:@Kels69 341433524:Samuel:@Tyguo 347818883:Oyinnkansolami_A.:@Mhizoyin 287019045:Sir_|€®°:@leoisgreat 428443960:Taiwo_IdIs:@horllanbo 316187362:Goodness😆😆:@Goodybanks 281662576:Chibuzor_Johnson:@Chibuz 364163651:Araoye_Abeeb:@Opeyemi1005 531785886:Dare_Seun_Awopeju:@DareCovenant 327160471:💕Beautylov💞:@Ebulkservices 515497236:Gideon_Ugochukwu:@GREATTHRONE 311855711:Ugbesman:@Ugbes 427960849:Eskay:@Eskay203 320563875:SUCCESS:@Abehordun 503322641:TRYBE:@Trybiee 367445185:Dr.Decus:@Callistus1000 297643235:Michael_(Guider):@GuiderMichael 309513401:jo👑:@yosiyeee 518216991:Bobby_Grey:@bobbygrey 369354380:Jossy_Onos:@Onosjossy 392500075:JOSEPH_EDIRIN:@josephedirin 261618380:Dominic_Desmond:@Dominic231 327405938:Joseph:@CoinFlow 328912331:Nifemi:@Tysurplus 482389928:Prosper:@Makanson 145821152:Adeyemi_Davies:@Yemmite 430875973:Patosas-_http_//Bobsrepair.com:@Patosas 362953334:sangmatadev_bot:@sangmatadev_bot 119719124:Madhu_Sudhan:@kadirimadhusudhan 125845360:Jeff:@Jeff_Adegbola 531096932:Taiye:@Taiye2 173184550:ALLTHEWAY:@YCAAAA 429633766:Oghenekaro:@Oghenekaro99 529963604:Adekunle:@Adekunle0 463427153:jojo:@Urocks_limited 546019958:Christian:@Christygen 408288573:Stephen_Onyiri:@tulston 405860782:Innocent_Akor:@Pato24 530623260:David_Senior:@KheengDavid 294617707:Adegboye:@adegboye 173475782:Welcome_Bot:@jh0ker_welcomebot 294615103:Sola_Green:@solagreen 433332292:Kimberlyn_Chua:@kimberlynnchua 397178072:DARE_FEMI_FELIX:@Prestigeman 444130418:Lorienna_Katy:@lorieanna 419083467:ADMIn_Banks:@Bankzzz 411363442:Emmanuel_Ayeni:@EmmanuelAyeni 305283190:Nhanha_Sarfo:@PappyOso 514382174:Bayo_Awokojo:@awokojo 228332294:Shola_Akiolu:@TEMILOLUALEX 330336822:Eze_Tochukwu:@Tochukwu4199 332782514:Mikail_Daudu:@daudumikail 408090780:Ayodele_Adaradohun:@ayodeleadaradohun 321798049:MagnificentEnterpreneur™:@MagnificentEntepreneur 484268812:👑Ponzi_queen👗👠:@oyinye_peace 325792427:Olar_Millie:@Millie06 363895656:Kakalor_Odamtten:@Kakalor 253811613:Aliasphil_Ethelbert:@Aliasphil 278117642:Mr_airdropico:@cryptopiaaa 364054520:Golden_Gold:@GoldenLuv 502505808:Mrs_Natania_Johnson:@Natania12 332057284:Everything:@Bassmandy 170520681:EIS:@Dollarman101 316543486:Kingsley_Benson:@chiguybck 391733214:money.com_Inbox_now:@Chysommmm 250733266:Love_bot:@BlessingBot 329872801:Ene_Bliss:@Enebliss 409682005:Yemi_.:@MPheelzzz 511611049:Sime_Joey's:@simelola 252705045:Tayo_Okunlola:@okunlolajt 303219796:crypto_anyikoruru:@cryptoanyikoruru 372231875:Mr_Akinmosin:@Akinmo 461883122:ugly.me💀:@Theuglygrammar 535194723:Bisola:@Julliebabii 541195788:Serif_Cuvak:@BitMinerWorld 379389138:Jen@Hurify:@babiibadiidu 501221499:Humphrey_Eghelonohor:@Heghelonw 326635175:Collyweezy_Ahneeka_Is_Bae😘:@Collyweezy 420732648:BISI:@Cryptobisi 138033118:ibk:@adegbola 365455374:Awosusi_Opeyemi:@Opinatty 325467909:Tunbas:@Tunbas 321809196:Akaoseh:@Akaoseh 476171274:Spacial_testimony:@Specialsco 514559601:Danny_Boii:@DannyBoii23 319438914:A12_Oluwaseyi_Adeyeye:@Chirokee 433372156:Fayose_Goodness:@Fayoselife 339052725:Beyonce:@Ifybeyonce 376093083:Jaiye_Folasade:@JaiyeSade 360868640:Omolozo_Franklin:@Omolozo8 342588091:XCoded:@xcodedbot 300456079:Stefan_Telin:@stefantelin 374192085:🍭Swt_Comfort🍭:@SwtComfort 346336371:Omoniyi_Lumpkin:@Lumpkinworldc 313514853:Darrell_Harry:@DarrellOgheneyole 478607793:Martins_Davies:@Omobolaji3007 432257911:Wilmslow_Court_(SI-NAS):@simc_home_bot 484860853:Opeyemi:@Opeyemi10 38590700:Mummy:@Mummyeta 420765451:ROSEBOT:@roselinksbot 496374464:Emmanuel_Ocho:@Emmycool59 484248436:Odemese:@odemese 519203807:Efe_Johnson:@Toboski 134312031:Anil_Deol:@Deolanil 530642470:Afees_Adeola:@Ogagun999 367394441:Odunola:@Odunlat 494713375:holar_tunde:@Beckliz 300753677:GoD_of_WOnDERS:@ServingGodPays 352196697:God_Mother_(Mama):@The_Goddes 502199345:Halleluyah:@Shabbach 377092196:GodKnows:@Djwaxma 408019714:G-Baby:@FumBerry 522618530:Uche_Ikpendu:@Queenuche 376940092:Ameh_Emmanuel:@Emmybest1991 444565235:Yode_Oladehinde:@Pappee 306444937:Yemi_Davis:@Yemiwealth 545028211:Mezico:@Mexico76 375505435:IAmARichGuy:@AbjRichGuy 509762084:Evasdiamond:@Evasdiamond 445905493:Emeka_Emezie:@Mekuziuz 226551105:john_Eze:@Johnez4u 322097707:Darey_Olushina:@Dareyolushina 206562802:Eric_Hazard:@Erichazard 409920135:Dr.Talatu:@Talatudarling 444660516:bukola_brown:@bukolabrown 293246570:Uche_Samson:@uchesamson 242959805:Azibama_D'Great:@Azibama 104981836:Nastey:@Nastey 378553744:Anna:@Anitachriss 292048917:Adegboyega_A:@Adegboyega 455
Wie schön, dass Du sie auch jetzt alle mit uns teilst :-\
Ich vermute mal Du hast das Attribut "AllowUnknownContacts" auf 1 stehen.
Gruss
Dennis
das sind noch lange nicht alle ...wie kann das ?
Habe nun einen neuen Bot und AllowUnknownContacts 0 gesetzt.
AllowUnknownContacts war nicht gesetzt bisher
Ich meine mich zu erinnern, dass dieses Attribut nicht standardmäßig gesetzt ist. Das musst du explizit machen.
Und wie das kam, kann ich Dir sagen. Dein Bot ist ja mal zunächst bei jedem Telegram Messenger verfügbar. Wenn du dann noch einen recht normalen Namen für den Bot vergeben hast, dann wird der auch sicher weltweit innerhalb kürzester Zeit gefunden.
Schau mal noch beim Bot selbst. Ich glaube du kannst die Privacy Einstellungen über den Bot_Father auch noch anpassen.
Mit dem Befehl ,,/setprivacy" lassen sich die Gruppen-Einstellungen ändern. Es wird nach dem Usernamen des gewünschten Bots gefragt. Über die Eingabe von ,,Enable" bzw. ,,Disable" lassen sich die Gruppennachrichten aktivieren, bzw. deaktivieren.
Gruss
Dennis
Danke ich werde das auf jedenfall setzen .. Hatte mich schon gewundert wieso meine Frau weiter Nachrichten bekommt und ich meine nicht mehr ...
Hatte mein namen als Default gesetzt .. in der KKontaktliste waren nun aber 4 mit meinem exakten Namen ... somit haben andere meine Nachrichten bekommen....
Habe Dir noch einen Link per PM geschickt. Finde die Anleitung für den Anfang ganz gut.
Gruss
Dennis
Danke aber nichts bekommen
Zitat von: dennis_n am 06 März 2018, 14:00:32
Habe Dir noch einen Link per PM geschickt. Finde die Anleitung für den Anfang ganz gut.
Gruss
Dennis
Warum willst du den anderen Vorenthalten, welche vielleicht mal das gleiche Problem haben?
Hi,
ich will es nicht vorenthalten, war mir nur nich sicher, ob ich auf eine fremde Seite hier verweisen sollte oder nicht.
Wenns ok ist, setze ich den Link natürlich hier rein.
Wollte nur mal dem Chris so schnell wie möglich helfen.
Gruss
Dennis
schöne Anleitung Danke. Die kann auf jednefall hier gepostet werden :) Ist ja ein guter Mehrwert da wird keiner etwas gegen haben.
Kannst du in der Netiquette nachlesen was erlaubt und was nicht. Aber kurz gefasst, solange es keine Werbung und kein Shop ist mit der Absicht, dass du etwas verdienst ist es natürlich kein Problem. Müssen ja nicht das Rad neu erfinden :)
Dann hier der Link:
https://waschto.eu/telegrambot-kommuniziere-mit-deiner-fhem-installation/
Hat mir am Anfang sehr geholfen.
Gruss
Dennis
Aber ich hätte dann hier auch mal noch ne Frage.
Kennt jemand irgendeine Möglichkeit, wie ich die Push-Nachricht, die Telegram verschickt, mit einen eigenen Ton hinterlegen kann?
Hintergrund ist, dass ich Telegram nutze, um bei einem Feuerwehr Einsatz die Kameraden zu alarmieren.
Allerdings sind die zur Auswahl stehenden Töne nicht geeignet oder zu leise. Eigene Töne kann man nicht einbinden.
Vielleicht hat ja durch Zufall jmand ne Idee, wie ich den Kameraden auf dem Handy LAUT signalisieren kann, dass sie eine Pushnachricht bekommen haben.
Bei Pushover, kann ich eine Reihe von vordefinierten Töne übergeben.
Gruss
Dennis
Man könnte vielelicht mit Tasker auf eine Nachricht reagieren und einen Ton abspielen ? Telegram kann das nicht.
Hier aus dem Forum hatte mal jemand eine Posh App gebaut die hatte sehr viele Optionen auf unterschiedliche Nachrichten zu Reagieren. Aber die wurde wohl nicht mehr weiter gebaut :(
Meinst Du das hier?
https://forum.fhem.de/index.php/topic,39983.0.html
Gruss
Dennis
Ich nutze den TelegramBot und möchte mir Remote Logs zusenden lassen. Scheinbar gibt es Probleme, wenn das Logfile eine bestimmte Größe überschreitet.
Folgender Versuch gelingt:
doit set Telegram sendDocument /opt/fhem/log/fhem-2018-03.log
Allerdings habe ich Logs die größer sind. Beim Versuch diese mir mit dem genannten Kommando senden zu lassen, bekomme ich den folgenden Fehler/ Hinweis:
2018.03.08 07:56:06 3: TelegramBot_ReadHandleCommand Telegram: cmd found :set Telegram sendDocument /opt/fhem/log/DeviceWohnzimmer-2018.log:
2018.03.08 07:56:38 3: TelegramBot_Callback Telegram: resulted in NonBlockingGet: returned write to https://api.telegram.org:443 timed out from SendIt
2018.03.08 07:56:38 3: TelegramBot_Callback Telegram: Reached max retries (ret: NonBlockingGet: returned write to https://api.telegram.org:443 timed out) for msg 364901278 : /opt/fhem/log/DeviceWohnzimmer-2018.log
Kann mir hier jemand helfen, damit ich auch größere Logs zugesendet bekomme?
@h002: Hast Du mal versucht das Attribut cmdTimeout zu setzen?
Hallo viegener, kurze Frage.
Funktioniert nicht
set TelegramBot sendImage /opt/fhem/FHEM/IPCam3d_snapshot_3.jpg Beschreibung\nGehäusetemperatur\n[TempGehäuse3d:state]
Funktioniert
set TelegramBot msg Test\nTest\nTest\n
Habe ich einen Denkfehler, oder funktioniert das \n in der Bildbeschreibung nicht?
Grüße
Zitat von: viegener am 08 März 2018, 16:10:56
@h002: Hast Du mal versucht das Attribut cmdTimeout zu setzen?
attr Telegram cmdTimeout 600
Vielen Dank! Das war die Lösung für mich.
Zitat von: Esjay am 08 März 2018, 20:51:07
Habe ich einen Denkfehler, oder funktioniert das \n in der Bildbeschreibung nicht?
Kein Denkfehler, das funktioniert bisher noch nicht, ich habe aber mal getestet, es wird von Telegram unterstützt und ich baue das ein
Ich danke dir!
Zitat von: Esjay am 11 März 2018, 11:04:57
Ich danke dir!
Ich habe die neue Version mit dieser Änderung auch gleich ins SVN geschoben, darin sind auch andere Änderungen aus den letzten Wochen enthalten:
- Speziell verschiedene silent commands: silentImage, silentInline, cmdSendSilent
- Erweiterungen für die korrekte Zusammenarbeit mit Tbot_list
- und einige Fixes wie auch zum Teil hier im Thread besprochen
Hi @Johannes,
wäre es möglich, dass du die Funktion sendMediaGroup (https://core.telegram.org/bots/api#sendmediagroup (https://core.telegram.org/bots/api#sendmediagroup)) noch mit einbaust? Ich hatte das vor ein paar Wochen mal versucht in deinem Modul unterzubringen aber mangels Zeit einfach nicht weiter geschafft.
Ich lasse mir bei Webcambewegung mehrere Bilder schicken. Somit könnte man unterbinden, dass Telegram eine push notification pro Bild schickt, sondern nur noch eine mit allen Bildern in der Nachricht.
Besten Dank für das tolle Modul und Gruß,
Flo
@fkp: sendMediaGroup lässt sich sicher realisieren, mir ist nur noch nicht ganz klar, wie man das als Telegram set-Command zur Verfügung stellt. Die einfachste Lösung wäre wohl nur Medien ohne Bildbeschreibung zuzulassen und auch nur bekannte Medientypen, die an der Erweiterung erkennbar sind. Denn man muss zwischen photo und video beim Senden unterscheiden.
@all:
Sauber wäre eine Lösung, bei der man Stück für Stück die zusendenden Medien übergibt und dann versendet. Das erfordert aber einige Umbauten.
Deshalb nochmal die Frage an die Runde, gibt es auch andere, die das benötigen? Wie sieht euer Szenario aus und welche Formate werden gebraucht und werden auch Bildbeschreibungen gewünscht?
Kein Bedarf, danke.
LG
pah
Hi zusammen,
ich hänge mich hier einfach mal dran....
Zitat von: Icebear am 22 Januar 2017, 16:57:29
habe seit dem Update gestern folgene Fehlermeldung ..
fhem> list Icebearbot PollingLastError
Icebearbot 2017-01-22 16:54:14 Callback returned no valid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset.
...ich auch, das Log schreibt in unregelmäßigen Abständen Fehlermeldungen, die auch nicht im Zusammenhang mit mir bewußtem Nachrichtenversand oder -eingang stehen:
2018-03-17_13:35:00 teleBot PollingLastError: Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 2189.
2018-03-17_13:35:00 teleBot PollingErrCount: 9Die Funktionalität scheint aber nicht eingeschränkt zu sein, doch wie kriege ich das weg? Fhem- und TelegramUpdate habe ich auch gemacht, hatte aber nix gebracht.
Hat hierzu jemand Tips?
VG,
al
@justcallmeal: Für Dich gilt die selbe Antwort wie damals im Thread:
Zitat von: viegener am 24 Januar 2017, 00:06:19
1) Polling error
Normalerweise weist diese Fehler darauf hin, dass entweder die Server bei telegram überlastet sind oder ansonsten im Übertragungsweg ein Fehler auftritt. Denn hier kommt ja eine HTML-Seite zurück und nicht eine Antwort vom telegrambot API. Tritt das nur einmalig auf oder ständig?
Wie ist der Bot eingestellt?
- Hast Du einen Proxy im Netzwerk?
Es kommt halt eine Fehlerseite von Telegram zurück und keine korrekte Antwort. Das wird hier vermeldet.
Das Problem mit dem Polling habe ich auch... immer :o
Gibt es dafür eine Lösung?
HIer mein damals eröffneter Thread:
https://forum.fhem.de/index.php/topic,84378.0.html (https://forum.fhem.de/index.php/topic,84378.0.html)
Vielen Dank!
@misux:Ja, bei den telegram-Servern dafür sorgen, dass sie immer und zu jeder Lastzeit funktionieren - ein Traum 100% verfügbarkeit
Im Ernst: Welche Art von Lösung schwebt Dir vor? Klar könnte ich die Meldung abfangen oder anpassen, das ist aber nur ein Symptom und ich denke es ist an sich hilfreich zu weissen, was hier passiert.
Ich gebe die Empfehlung auf den PollingErrCount zu schauen ein Wert von 24 (regelmässig) ist recht hoch - ich habe so ca. 2-3 im Normalfall und die sind meistens nur durch die Routerzwangstrennung verursacht. Was meinst Du mit Du hast das Problem
Zitatimmer
?
Ach nee... Ich hatte das etwas falsch verstanden. Wenn das halt ein Problem Serverseitig ist dann ist alles gut.. Hab die Meldung auch schon länger nicht mehr...
Gibt es eigentlich die Möglichkeit 2 Unterschiede Empfänger bei unterschiedlichen Zuständen Nachrichten zu senden?
Also ich meine:
Im Moment bekommt ein Chat die Nachrichten wenn ein Tor geöffnet wird.
Wenn nun ein Fenster geöffnet wird.. Würde ich gerne eine Nachricht an nur einen von den Chat Empfängern senden... Geht das irgendwie? Komme gedanklich irgendwie nicht hinterher...
Vielen Dank und vor allem für das tolle Modul!
Vor dem Senden der Nachricht prüfen an wen es gehen soll und dem entsprechend nur den Empfänger eintragen.
Zitat von: misux am 26 März 2018, 08:14:36
Das Problem mit dem Polling habe ich auch... immer :o
...
Vielen Dank!
Hallo zusammen,
danke für das tolle Modul, mit dem ich auch meine Frau zur Nutzung der Heimautomatisierung bekommen habe.
Aber leider läuft es bei mir in die gleiche Richtung wie bei misux.
Ist Telegram disabled habe ich keine perfmon-Meldungen, ist es aktiviert meldet perfmon so grob alle 5 Minuten einen möglichen "freeze".
Vielleicht seht ihr was in den Logs, das ich übersehen habe.
Bei mir läuft folgendes System:
root@t610:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux buster/sid"
NAME="Debian GNU/Linux"
ID=debian
root@t610:~# uname -a
Linux t610 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 GNU/Linux
root@t610:~# perl -v
This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linux-gnu-thread-multi
(with 75 registered patches, see perl -V for more detail)
Ein List vom Device:
Internals:
FAILS 0
NAME TelegramRobot
NR 574
OLD_POLLING 14
POLLING 14
SNAME TelegramRobot
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me xxxxxxx55:xxxx_bot:@xxxxxxxbot
sentLastResult SUCCESS
sentMsgId 8817
sentMsgOptions
sentMsgPeer Sandra
sentMsgPeerId xxxxxxx66
sentMsgResult SUCCESS
sentMsgText Anruf von unknown (01511xxxxxxx) um 14:42:15 Uhr
.attraggr:
.attrminint:
AliasCmds:
Contacts:
xxxxxxx55 xxxxxxx55:FHEM_bot:@xxxxxxxbot
xxxxxxx03 xxxxxxx03:Matthias:
HU_DO_PARAMS:
NAME
addr https://api.telegram.org:443
auth 0
boundary TelegramBot_boundary-x0123
buf
code 200
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Tue, 27 Mar 2018 12:42:28 GMT
Content-Type: application/json
Content-Length: 265
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
loglevel 4
method POST
path /botxxxxxxx55:Axxxxxxxxxxxxx-Gxxxxxxxxxxxxxxxxxxw/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/botxxxxxxx55:Axxxxxxxxxxxxx-Gxxxxxxxxxxxxxxxxxxw/sendMessage
args:
xxxxxxx66
Anruf von unknown (0151xxxxxxxx) um 14:42:15 Uhr
undef
0
undef
2
hash:
sslargs:
HU_UPD_PARAMS:
FD 18
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 18
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset 0
path /botxxxxxxxx55:Axxxxxxxxxxxxx-Gxxxxxxxxxxxxxxxxxxw/getUpdates?offset=0&limit=5&timeout=120
protocol https
redirects 0
timeout 245
url https://api.telegram.org/botxxxxxxxx55:Axxxxxxxxxxxxx-Gxxxxxxxxxxxxxxxxxxw/getUpdates?offset=0&limit=5&timeout=120
hash:
sslargs:
READINGS:
2018-03-26 20:19:50 Contacts xxxxxxx55:xxxx_bot:@xxxxxxxbot xxxxxxx03:Matthias:
2018-03-28 16:30:01 PollingErrCount 1
2018-03-28 16:30:01 PollingLastError NonBlockingGet: returned gethostbyname api.telegram.org failed
2016-11-16 15:54:48 StoredCommands FHEM update checkFHEM update CheckFHEM update Check
2018-03-26 20:22:43 msgChat Matthias
2018-03-26 20:22:43 msgChatId xxxxxxx03
2018-03-26 20:22:43 msgFileId
2018-03-26 20:22:43 msgId 8810
2018-03-26 20:22:43 msgPeer Matthias
2018-03-26 20:22:43 msgPeerId xxxxxxx03
2018-03-26 20:22:43 msgReplyMsgId
2018-03-26 20:22:43 msgText Hat
2018-03-26 20:22:43 prevMsgChat Matthias
2018-03-26 20:22:43 prevMsgFileId
2018-03-26 20:22:43 prevMsgId 8809
2018-03-26 20:22:43 prevMsgPeer Matthias
2018-03-26 20:22:43 prevMsgPeerId xxxxxxxx03
2018-03-26 20:22:43 prevMsgReplyMsgId
2018-03-26 20:22:43 prevMsgText Test
2018-03-25 20:58:26 queryData Erdgeschoss
2018-03-25 20:58:26 queryID xxxxxxxxxxxxxxxxx78
2018-03-25 20:58:26 queryPeer Matthias
2018-03-25 20:58:26 queryPeerId xxxxxxxx03
2018-03-25 20:58:26 queryReplyMsgId 8790
2018-03-27 14:42:31 sentMsgId 8817
2018-03-27 14:42:31 sentMsgPeerId xxxxxxx66
2018-03-27 14:42:31 sentMsgResult SUCCESS
inlinechats:
sentQueue:
Attributes:
FhemBot_ReceiveRestrictedPeer 1
cmdFavorites /cmd
cmdKeyword FHEM
cmdRestrictedPeer xxxxxxxx03 xxxxxxx66
favorites /[Rollo hoch]=set Rollo.Kueche.links pct 100;
pollingTimeout 120
pollingVerbose 2_Log
room System->Telegram
userattr FhemBot_ReceiveRestrictedPeer
verbose 3
Der Versionsstand:
Latest Revision: 16492
File Rev Last Change
fhem.pl 16453 2018-03-20 21:15:44Z rudolfkoenig
00_HMLAN.pm 14073 2017-04-22 13:45:25Z martinp876
50_TelegramBot.pm 16382 2018-03-11 13:20:55Z viegener
HttpUtils.pm 16407 2018-03-14 19:43:35Z rudolfkoenig
Das Log vom Device
2018-03-28_16:23:37 TelegramRobot PollingErrCount: 0
2018-03-28_16:30:01 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_16:30:01 TelegramRobot PollingErrCount: 1
2018-03-28_16:47:12 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_16:47:12 TelegramRobot PollingErrCount: 2
2018-03-28_16:56:13 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_16:56:13 TelegramRobot PollingErrCount: 3
2018-03-28_17:12:32 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:12:32 TelegramRobot PollingErrCount: 4
2018-03-28_17:17:11 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:17:11 TelegramRobot PollingErrCount: 5
2018-03-28_17:21:56 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:21:56 TelegramRobot PollingErrCount: 6
2018-03-28_17:27:36 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:27:36 TelegramRobot PollingErrCount: 7
2018-03-28_17:38:06 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:38:06 TelegramRobot PollingErrCount: 8
2018-03-28_17:42:01 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:42:01 TelegramRobot PollingErrCount: 9
und das längliche FHEM-Log
2018.03.28 16:27:58.791 5: TelegramBot_UpdatePoll TelegramRobot: - Ende > next polling started
2018.03.28 16:27:58.791 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:27:58.791 5: TelegramBot_Callback TelegramRobot: - Ende > Control back to FHEM
2018.03.28 16:28:00.092 5: HttpUtils request header:
GET /botxxxxxxx55:Axxxxxxxxxxxxxx-Gxxxxxxxxxxxxxxxxxxw/getUpdates?offset=0&limit=5&timeout=120 HTTP/1.0
Host: api.telegram.org
Accept-Encoding: gzip,deflate
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
2018.03.28 16:28:22.697 5: HMLAN_Send: HMLAN1 I:K
2018.03.28 16:28:22.700 5: HMLAN/RAW: /HHM-LAN-IF,03C5,LEQ0384469,29A0FA,29A0FA,1464FD32,000F,01
2018.03.28 16:28:22.701 5: HMLAN_Parse: HMLAN1 V:03C5 sNo:LEQ0384469 d:29A0FA O:29A0FA t:1464FD32 IDcnt:000F L:1 %
2018.03.28 16:28:22.702 5: Starting notify loop for HMLAN1, 1 event(s), first is loadLvl: low
2018.03.28 16:28:22.703 4: DbLog DBLog -> ################################################################
2018.03.28 16:28:22.703 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:28:22.703 4: DbLog DBLog -> ################################################################
2018.03.28 16:28:22.703 4: DbLog DBLog -> number of events received: 1 for device: HMLAN1
2018.03.28 16:28:22.703 4: DbLog DBLog -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:28:22.705 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:28:22.706 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:28:22.706 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:28:22.706 4: DbLog DBLogTemp -> number of events received: 1 for device: HMLAN1
2018.03.28 16:28:22.706 4: DbLog DBLogTemp -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:28:22.709 5: End notify loop for HMLAN1
2018.03.28 16:28:39.016 5: Starting notify loop for Stromverbrauch, 2 event(s), first is Momentanleistung: 156
2018.03.28 16:28:39.017 5: statistics Statistik: DoStatistics.446 Assigned reading 'Zaehler-Bezug-Total' from attribute 'deltaReadings' to statistic type 2.
2018.03.28 16:28:39.017 4: statistics Statistik: doStatisticDelta.703 Calculating delta statistics for 'Stromverbrauch:Zaehler-Bezug-Total = 11412.8212'
2018.03.28 16:28:39.017 5: statistics Statistik: doStatisticDelta.794 Set '.Stromverbrauch:Zaehler-Bezug-Total'='LastValue: 11412.8212 ShowDate: 3 DecPlaces: 4'
2018.03.28 16:28:39.018 5: statistics Statistik: doStatisticDelta.800 Set 'LTstatZaehler-Bezug-Total'='Hour: 0.1158 Day: 3.5775 Month: 207.8907 Year: 378.8645 (since: 2018-02-05 )'
2018.03.28 16:28:39.018 5: statistics Statistik: storeSingularReadings.1089 Set LTstatZaehler-Bezug-TotalDay = 3.5775
2018.03.28 16:28:39.018 5: statistics Statistik: storeSingularReadings.1089 Set LTstatZaehler-Bezug-TotalMonth = 207.8907
2018.03.28 16:28:39.018 5: statistics Statistik: storeSingularReadings.1089 Set LTstatZaehler-Bezug-TotalYear = 378.8645
2018.03.28 16:28:39.020 5: Starting notify loop for Statistik, 1 event(s), first is Updated stats for: Stromverbrauch
2018.03.28 16:28:39.021 4: DbLog DBLog -> ################################################################
2018.03.28 16:28:39.021 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:28:39.021 4: DbLog DBLog -> ################################################################
2018.03.28 16:28:39.021 4: DbLog DBLog -> number of events received: 1 for device: Statistik
2018.03.28 16:28:39.021 4: DbLog DBLog -> check Device: Statistik , Event: state: Updated stats for: Stromverbrauch
2018.03.28 16:28:39.022 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:28:39.022 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:28:39.022 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:28:39.022 4: DbLog DBLogTemp -> number of events received: 1 for device: Statistik
2018.03.28 16:28:39.022 4: DbLog DBLogTemp -> check Device: Statistik , Event: state: Updated stats for: Stromverbrauch
2018.03.28 16:28:39.023 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:28:39.023 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:28:39.025 5: End notify loop for Statistik
2018.03.28 16:28:39.025 5: statistics Statistik: Notify.296 Notification of 'Stromverbrauch' received. Update statistics.
2018.03.28 16:28:39.029 4: DbLog DBLog -> ################################################################
2018.03.28 16:28:39.030 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:28:39.030 4: DbLog DBLog -> ################################################################
2018.03.28 16:28:39.030 4: DbLog DBLog -> number of events received: 3 for device: Stromverbrauch
2018.03.28 16:28:39.030 4: DbLog DBLog -> check Device: Stromverbrauch , Event: Momentanleistung: 156
2018.03.28 16:28:39.030 4: DbLog DBLog -> check Device: Stromverbrauch , Event: Zaehler-Bezug-Total: 11412.8212
2018.03.28 16:28:39.030 4: DbLog DBLog -> check Device: Stromverbrauch , Event: LTstatZaehler-Bezug-TotalDay: 3.5775
2018.03.28 16:28:39.031 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:28:39.031 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:28:39.031 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:28:39.031 4: DbLog DBLogTemp -> number of events received: 3 for device: Stromverbrauch
2018.03.28 16:28:39.032 4: DbLog DBLogTemp -> check Device: Stromverbrauch , Event: Momentanleistung: 156
2018.03.28 16:28:39.032 5: DbLog DBLogTemp -> parsed Event: Stromverbrauch , Event: Momentanleistung: 156
2018.03.28 16:28:39.032 4: DbLog DBLogTemp -> added event - Timestamp: 2018-03-28 16:28:39, Device: Stromverbrauch, Type: OBIS, Event: Momentanleistung: 156, Reading: Momentanleistung, Value: 156, Unit:
2018.03.28 16:28:39.033 4: DbLog DBLogTemp -> check Device: Stromverbrauch , Event: Zaehler-Bezug-Total: 11412.8212
2018.03.28 16:28:39.033 4: DbLog DBLogTemp -> check Device: Stromverbrauch , Event: LTstatZaehler-Bezug-TotalDay: 3.5775
2018.03.28 16:28:39.033 5: DbLog DBLogTemp -> parsed Event: Stromverbrauch , Event: LTstatZaehler-Bezug-TotalDay: 3.5775
2018.03.28 16:28:39.033 4: DbLog DBLogTemp -> added event - Timestamp: 2018-03-28 16:28:39, Device: Stromverbrauch, Type: OBIS, Event: LTstatZaehler-Bezug-TotalDay: 3.5775, Reading: LTstatZaehler-Bezug-TotalDay, Value: 3.5775, Unit:
2018.03.28 16:28:39.035 5: End notify loop for Stromverbrauch
2018.03.28 16:28:45.378 4: ESPEasy ESPEasy_wemos_garage_1_Temp_DS_1: set statusRequest
2018.03.28 16:28:45.379 4: ESPEasy ESPEasy_wemos_garage_1_Temp_DS_1: presence: present
2018.03.28 16:28:45.380 5: ESPEasy ESPEasy_wemos_garage_1_Temp_DS_1: Start internalTimer +300 => 2018-03-28 16:33:45
2018.03.28 16:28:47.848 4: ESPEasy ESPEasy_wemos_garage_1_Temp_DS_2: set statusRequest
2018.03.28 16:28:47.849 4: ESPEasy ESPEasy_wemos_garage_1_Temp_DS_2: presence: present
2018.03.28 16:28:47.850 5: ESPEasy ESPEasy_wemos_garage_1_Temp_DS_2: Start internalTimer +302 => 2018-03-28 16:33:50
2018.03.28 16:28:50.107 4: <hidden>: HTTP response code 200
2018.03.28 16:28:50.107 5: HttpUtils <hidden>: Got data, length: 23
2018.03.28 16:28:50.107 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Wed, 28 Mar 2018 14:28:50 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2018.03.28 16:28:50.108 5: TelegramBot_Callback TelegramRobot: called from Polling
2018.03.28 16:28:50.108 5: TelegramBot_Callback TelegramRobot: data returned :{"ok":true,"result":[]}:
2018.03.28 16:28:50.108 5: TelegramBot_Deepencode TelegramRobot: found an ARRAY
2018.03.28 16:28:50.108 5: TelegramBot_Deepencode TelegramRobot: encoded a String from :1: to :1:
2018.03.28 16:28:50.108 5: TelegramBot_Deepencode TelegramRobot: found a HASH
2018.03.28 16:28:50.108 5: TelegramBot_Callback TelegramRobot: after encoding
2018.03.28 16:28:50.109 5: TelegramBot_Callback TelegramRobot: polling returned result? 0
2018.03.28 16:28:50.109 5: UpdatePoll TelegramRobot: number of results 0
2018.03.28 16:28:50.109 5: TelegramBot_UpdatePoll TelegramRobot: called
2018.03.28 16:28:50.109 5: TelegramBot_UpdatePoll TelegramRobot: - Initiate non blocking polling - With callback set
2018.03.28 16:28:50.110 5: TelegramBot_readToken: Read Telegram API token from file
2018.03.28 16:28:50.111 4: TelegramBot_UpdatePoll TelegramRobot: initiate polling with nonblockingGet with 120s
2018.03.28 16:28:50.112 5: HttpUtils url=<hidden>
2018.03.28 16:28:50.113 5: IP: api.telegram.org -> 149.154.167.220
2018.03.28 16:28:50.115 5: TelegramBot_UpdatePoll TelegramRobot: - Ende > next polling started
2018.03.28 16:28:50.115 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:28:50.115 5: TelegramBot_Callback TelegramRobot: - Ende > Control back to FHEM
2018.03.28 16:28:51.224 5: HttpUtils request header:
GET /botxxxxxxx55:Axxxxxxxxxxxxxx-Gxxxxxxxxxxxxxxxxxxw/getUpdates?offset=0&limit=5&timeout=120 HTTP/1.0
Host: api.telegram.org
Accept-Encoding: gzip,deflate
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
2018.03.28 16:29:12.702 5: HMLAN_Send: HMLAN1 I:K
2018.03.28 16:29:12.705 5: HMLAN/RAW: /HHM-LAN-IF,03C5,LEQ0384469,29A0FA,29A0FA,1465C08F,000F,01
2018.03.28 16:29:12.706 5: HMLAN_Parse: HMLAN1 V:03C5 sNo:LEQ0384469 d:29A0FA O:29A0FA t:1465C08F IDcnt:000F L:1 %
2018.03.28 16:29:12.707 5: Starting notify loop for HMLAN1, 1 event(s), first is loadLvl: low
2018.03.28 16:29:12.708 4: DbLog DBLog -> ################################################################
2018.03.28 16:29:12.708 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:29:12.708 4: DbLog DBLog -> ################################################################
2018.03.28 16:29:12.708 4: DbLog DBLog -> number of events received: 1 for device: HMLAN1
2018.03.28 16:29:12.709 4: DbLog DBLog -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:29:12.711 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:29:12.711 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:29:12.711 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:29:12.711 4: DbLog DBLogTemp -> number of events received: 1 for device: HMLAN1
2018.03.28 16:29:12.711 4: DbLog DBLogTemp -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:29:12.713 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:29:12.713 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:29:12.714 5: End notify loop for HMLAN1
2018.03.28 16:29:16.482 5: HMLAN/RAW: /E2C9244,0000,1465CF46,FF,FFC9,9F86102C92440000000A88E00E0000
2018.03.28 16:29:16.483 5: HMLAN_Parse: HMLAN1 R:E2C9244 stat:0000 t:1465CF46 d:FF r:FFC9 m:9F 8610 2C9244 000000 0A88E00E0000
2018.03.28 16:29:16.483 5: HMLAN1: dispatch A0F9F86102C92440000000A88E00E0000::-55:HMLAN1
2018.03.28 16:29:16.489 5: Starting notify loop for Heizung.Bad.Weather, 2 event(s), first is measured-temp: 22.4
2018.03.28 16:29:16.491 4: DbLog DBLog -> ################################################################
2018.03.28 16:29:16.491 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:29:16.491 4: DbLog DBLog -> ################################################################
2018.03.28 16:29:16.491 4: DbLog DBLog -> number of events received: 2 for device: Heizung.Bad.Weather
2018.03.28 16:29:16.491 4: DbLog DBLog -> check Device: Heizung.Bad.Weather , Event: measured-temp: 22.4
2018.03.28 16:29:16.492 4: DbLog DBLog -> check Device: Heizung.Bad.Weather , Event: state: 22.4
2018.03.28 16:29:16.493 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:29:16.494 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:29:16.494 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:29:16.494 4: DbLog DBLogTemp -> number of events received: 2 for device: Heizung.Bad.Weather
2018.03.28 16:29:16.494 4: DbLog DBLogTemp -> check Device: Heizung.Bad.Weather , Event: measured-temp: 22.4
2018.03.28 16:29:16.494 4: DbLog DBLogTemp -> check Device: Heizung.Bad.Weather , Event: state: 22.4
2018.03.28 16:29:16.495 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:29:16.495 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:29:16.496 5: End notify loop for Heizung.Bad.Weather
2018.03.28 16:29:20.504 5: HMLAN/RAW: /E51E856,0000,1465DEFD,FF,FFC1,5D841051E85629A0FA0601C200
2018.03.28 16:29:20.505 5: HMLAN_Parse: HMLAN1 R:E51E856 stat:0000 t:1465DEFD d:FF r:FFC1 m:5D 8410 51E856 29A0FA 0601C200
2018.03.28 16:29:20.506 5: HMLAN1: dispatch A0D5D841051E85629A0FA0601C200::-63:HMLAN1
2018.03.28 16:29:37.730 4: DbLog DBLog -> ################################################################
2018.03.28 16:29:37.731 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:29:37.731 4: DbLog DBLog -> ################################################################
2018.03.28 16:29:37.731 4: DbLog DBLog -> number of events received: 3 for device: Stromverbrauch
2018.03.28 16:29:37.731 4: DbLog DBLog -> check Device: Stromverbrauch , Event: Momentanleistung: 181
2018.03.28 16:29:37.731 4: DbLog DBLog -> check Device: Stromverbrauch , Event: Zaehler-Bezug-Total: 11412.8241
2018.03.28 16:29:37.731 4: DbLog DBLog -> check Device: Stromverbrauch , Event: LTstatZaehler-Bezug-TotalDay: 3.5804
2018.03.28 16:29:37.732 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:29:37.732 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:29:37.732 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:29:37.732 4: DbLog DBLogTemp -> number of events received: 3 for device: Stromverbrauch
2018.03.28 16:29:37.733 4: DbLog DBLogTemp -> check Device: Stromverbrauch , Event: Momentanleistung: 181
2018.03.28 16:29:37.733 5: DbLog DBLogTemp -> parsed Event: Stromverbrauch , Event: Momentanleistung: 181
2018.03.28 16:29:37.733 4: DbLog DBLogTemp -> added event - Timestamp: 2018-03-28 16:29:37, Device: Stromverbrauch, Type: OBIS, Event: Momentanleistung: 181, Reading: Momentanleistung, Value: 181, Unit:
2018.03.28 16:29:37.734 4: DbLog DBLogTemp -> check Device: Stromverbrauch , Event: Zaehler-Bezug-Total: 11412.8241
2018.03.28 16:29:37.734 4: DbLog DBLogTemp -> check Device: Stromverbrauch , Event: LTstatZaehler-Bezug-TotalDay: 3.5804
2018.03.28 16:29:37.734 5: DbLog DBLogTemp -> parsed Event: Stromverbrauch , Event: LTstatZaehler-Bezug-TotalDay: 3.5804
2018.03.28 16:29:37.734 4: DbLog DBLogTemp -> added event - Timestamp: 2018-03-28 16:29:37, Device: Stromverbrauch, Type: OBIS, Event: LTstatZaehler-Bezug-TotalDay: 3.5804, Reading: LTstatZaehler-Bezug-TotalDay, Value: 3.5804, Unit:
2018.03.28 16:29:37.735 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:29:37.735 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:29:37.736 5: End notify loop for Stromverbrauch
2018.03.28 16:29:37.737 5: HMLAN_Send: HMLAN1 I:K
2018.03.28 16:29:37.740 5: HMLAN/RAW: /HHM-LAN-IF,03C5,LEQ0384469,29A0FA,29A0FA,1466225D,000F,01
2018.03.28 16:29:37.741 5: HMLAN_Parse: HMLAN1 V:03C5 sNo:LEQ0384469 d:29A0FA O:29A0FA t:1466225D IDcnt:000F L:1 %
2018.03.28 16:29:37.741 5: Starting notify loop for HMLAN1, 1 event(s), first is loadLvl: low
2018.03.28 16:29:37.743 4: DbLog DBLog -> ################################################################
2018.03.28 16:29:37.743 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:29:37.743 4: DbLog DBLog -> ################################################################
2018.03.28 16:29:37.743 4: DbLog DBLog -> number of events received: 1 for device: HMLAN1
2018.03.28 16:29:37.743 4: DbLog DBLog -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:29:37.745 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:29:37.746 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:29:37.746 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:29:37.746 4: DbLog DBLogTemp -> number of events received: 1 for device: HMLAN1
2018.03.28 16:29:37.746 4: DbLog DBLogTemp -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:29:37.747 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:29:37.748 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:29:37.750 5: End notify loop for HMLAN1
2018.03.28 16:29:41.240 4: <hidden>: HTTP response code 200
2018.03.28 16:29:41.240 5: HttpUtils <hidden>: Got data, length: 23
2018.03.28 16:29:41.240 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Wed, 28 Mar 2018 14:29:37 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2018.03.28 16:29:41.240 5: TelegramBot_Callback TelegramRobot: called from Polling
2018.03.28 16:29:41.241 5: TelegramBot_Callback TelegramRobot: data returned :{"ok":true,"result":[]}:
2018.03.28 16:29:41.241 5: TelegramBot_Deepencode TelegramRobot: encoded a String from :1: to :1:
2018.03.28 16:29:41.241 5: TelegramBot_Deepencode TelegramRobot: found an ARRAY
2018.03.28 16:29:41.241 5: TelegramBot_Deepencode TelegramRobot: found a HASH
2018.03.28 16:29:41.241 5: TelegramBot_Callback TelegramRobot: after encoding
2018.03.28 16:29:41.242 5: TelegramBot_Callback TelegramRobot: polling returned result? 0
2018.03.28 16:29:41.242 5: UpdatePoll TelegramRobot: number of results 0
2018.03.28 16:29:41.242 5: TelegramBot_UpdatePoll TelegramRobot: called
2018.03.28 16:29:41.242 5: TelegramBot_UpdatePoll TelegramRobot: - Initiate non blocking polling - With callback set
2018.03.28 16:29:41.243 5: TelegramBot_readToken: Read Telegram API token from file
2018.03.28 16:29:41.244 4: TelegramBot_UpdatePoll TelegramRobot: initiate polling with nonblockingGet with 120s
2018.03.28 16:29:41.244 5: HttpUtils url=<hidden>
2018.03.28 16:30:01.269 5: TelegramBot_Callback TelegramRobot: called from Polling
2018.03.28 16:30:01.270 5: TelegramBot_Callback TelegramRobot: polling returned result? <undef>
2018.03.28 16:30:01.270 5: Starting notify loop for TelegramRobot, 1 event(s), first is PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018.03.28 16:30:01.272 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:01.272 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:30:01.272 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:01.272 4: DbLog DBLog -> number of events received: 1 for device: TelegramRobot
2018.03.28 16:30:01.272 4: DbLog DBLog -> check Device: TelegramRobot , Event: PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018.03.28 16:30:01.274 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:01.275 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:30:01.275 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:01.275 4: DbLog DBLogTemp -> number of events received: 1 for device: TelegramRobot
2018.03.28 16:30:01.275 4: DbLog DBLogTemp -> check Device: TelegramRobot , Event: PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018.03.28 16:30:01.277 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:30:01.277 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:30:01.279 5: End notify loop for TelegramRobot
2018.03.28 16:30:01.280 5: Starting notify loop for TelegramRobot, 1 event(s), first is PollingErrCount: 1
2018.03.28 16:30:01.281 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:01.281 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:30:01.281 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:01.281 4: DbLog DBLog -> number of events received: 1 for device: TelegramRobot
2018.03.28 16:30:01.282 4: DbLog DBLog -> check Device: TelegramRobot , Event: PollingErrCount: 1
2018.03.28 16:30:01.283 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:01.283 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:30:01.283 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:01.283 4: DbLog DBLogTemp -> number of events received: 1 for device: TelegramRobot
2018.03.28 16:30:01.283 4: DbLog DBLogTemp -> check Device: TelegramRobot , Event: PollingErrCount: 1
2018.03.28 16:30:01.284 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:30:01.284 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:30:01.286 5: End notify loop for TelegramRobot
2018.03.28 16:30:01.286 5: TelegramBot_UpdatePoll TelegramRobot: called
2018.03.28 16:30:01.286 5: TelegramBot_UpdatePoll TelegramRobot: - Initiate non blocking polling - With callback set
2018.03.28 16:30:01.286 5: TelegramBot_readToken: Read Telegram API token from file
2018.03.28 16:30:01.287 4: TelegramBot_UpdatePoll TelegramRobot: initiate polling with nonblockingGet with 120s
2018.03.28 16:30:01.287 5: HttpUtils url=<hidden>
2018.03.28 16:30:01.289 5: IP: api.telegram.org -> 149.154.167.220
2018.03.28 16:30:01.289 5: TelegramBot_UpdatePoll TelegramRobot: - Ende > next polling started
2018.03.28 16:30:01.290 2: TelegramBot_Callback TelegramRobot: resulted in NonBlockingGet: returned gethostbyname api.telegram.org failed from Polling
2018.03.28 16:30:01.290 5: TelegramBot_Callback TelegramRobot: - Ende > Control back to FHEM
2018.03.28 16:30:01.290 5: TelegramBot_UpdatePoll TelegramRobot: - Ende > next polling started
2018.03.28 16:30:01.290 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:30:01.290 5: TelegramBot_Callback TelegramRobot: - Ende > Control back to FHEM
2018.03.28 16:30:01.291 1: Perfmon: possible freeze starting at 16:29:42, delay is 19.291
2018.03.28 16:30:02.350 5: HttpUtils request header:
GET /botxxxxxxx55:Axxxxxxxxxxxxxx-Gxxxxxxxxxxxxxxxxxxw/getUpdates?offset=0&limit=5&timeout=120 HTTP/1.0
Host: api.telegram.org
Accept-Encoding: gzip,deflate
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
2018.03.28 16:30:02.575 5: HttpUtils url=http://fritz.box/webservices/homeautoswitch.lua?sid=xxxxxxxxxxxxxxxxxswitchcmd=getdevicelistinfos
2018.03.28 16:30:02.577 5: IP: fritz.box -> 192.168.1.1
2018.03.28 16:30:02.580 5: HttpUtils request header:
GET /webservices/homeautoswitch.lua?sid=xxxxxxxxxxxxxxxxxswitchcmd=getdevicelistinfos HTTP/1.0
Host: fritz.box
User-Agent: fhem
Accept-Encoding: gzip,deflate
2018.03.28 16:30:02.739 5: HMLAN_Send: HMLAN1 I:K
2018.03.28 16:30:02.743 5: HMLAN/RAW: /HHM-LAN-IF,03C5,LEQ0384469,29A0FA,29A0FA,1466840C,000F,01
2018.03.28 16:30:02.743 5: HMLAN_Parse: HMLAN1 V:03C5 sNo:LEQ0384469 d:29A0FA O:29A0FA t:1466840C IDcnt:000F L:1 %
2018.03.28 16:30:02.744 5: Starting notify loop for HMLAN1, 1 event(s), first is loadLvl: low
2018.03.28 16:30:02.745 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:02.745 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:30:02.745 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:02.746 4: DbLog DBLog -> number of events received: 1 for device: HMLAN1
2018.03.28 16:30:02.746 4: DbLog DBLog -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:30:02.748 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:02.748 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:30:02.748 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:02.748 4: DbLog DBLogTemp -> number of events received: 1 for device: HMLAN1
2018.03.28 16:30:02.748 4: DbLog DBLogTemp -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:30:02.750 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:30:02.750 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:30:02.752 5: End notify loop for HMLAN1
2018.03.28 16:30:02.928 4: http://fritz.box/webservices/homeautoswitch.lua?sid=xxxxxxxxxxxxxxxxxswitchcmd=getdevicelistinfos: HTTP response code 200
2018.03.28 16:30:02.928 5: HttpUtils http://fritz.box/webservices/homeautoswitch.lua?sid=xxxxxxxxxxxxxxxxxswitchcmd=getdevicelistinfos: Got data, length: 450
2018.03.28 16:30:02.928 5: HttpUtils response header:
HTTP/1.0 200 OK
Connection: close
Content-Type: text/xml; charset=utf-8
2018.03.28 16:30:05.546 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:05.546 4: DbLog DBLog -> ### New database processing cycle - asynchronous ###
2018.03.28 16:30:05.546 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:05.546 4: DbLog DBLog -> MemCache contains 2 entries to process
2018.03.28 16:30:05.546 4: DbLog DBLog -> DbLogType is: Current/History
2018.03.28 16:30:05.546 5: DbLog DBLog -> MemCache contains: 2018-03-28 16:21:18|Heizung.Bad.Clima|CUL_HM|measured-temp: 22.3|measured-temp|22.3|
2018.03.28 16:30:05.546 5: DbLog DBLog -> MemCache contains: 2018-03-28 16:24:12|Heizung.Bad.Clima|CUL_HM|measured-temp: 22.4|measured-temp|22.4|
2018.03.28 16:30:05.554 4: BlockingCall (DbLog_PushAsync): created child (32222), uses tPort to connect back
2018.03.28 16:30:05.556 5: DbLog DBLog -> DbLog_PushAsync called with timeout: 86400
2018.03.28 16:30:05.568 4: Connection accepted from tPort_127.0.0.1_48488
2018.03.28 16:30:05.570 5: Cmd: >{BlockingRegisterTelnet($cl,751)}<
2018.03.28 16:30:05.571 5: DbLog DBLog -> Start DbLog_PushAsync
2018.03.28 16:30:05.571 5: DbLog DBLog -> DbLogType is: Current/History
2018.03.28 16:30:05.574 4: DbLog DBLog -> AutoCommit mode: ON, Transaction mode: ON
2018.03.28 16:30:05.585 5: DbLog DBLog -> Primary Key used in /share/matthias/fhemLogs/fhemsql3logs.db.history: none
2018.03.28 16:30:05.585 5: DbLog DBLog -> Primary Key used in /share/matthias/fhemLogs/fhemsql3logs.db.current: none
2018.03.28 16:30:05.586 5: DbLog DBLog -> processing event Timestamp: 2018-03-28 16:21:18, Device: Heizung.Bad.Clima, Type: CUL_HM, Event: measured-temp: 22.3, Reading: measured-temp, Value: 22.3, Unit:
2018.03.28 16:30:05.586 5: DbLog DBLog -> processing event Timestamp: 2018-03-28 16:24:12, Device: Heizung.Bad.Clima, Type: CUL_HM, Event: measured-temp: 22.4, Reading: measured-temp, Value: 22.4, Unit:
2018.03.28 16:30:05.587 4: DbLog DBLog -> 2 of 2 events inserted into table history
2018.03.28 16:30:05.651 4: DbLog DBLog -> insert table history committed by autocommit
2018.03.28 16:30:05.652 4: DbLog DBLog -> 2 of 2 events updated in table current
2018.03.28 16:30:05.707 4: DbLog DBLog -> insert / update table current committed by autocommit
2018.03.28 16:30:05.707 5: DbLog DBLog -> DbLog_PushAsync finished
2018.03.28 16:30:05.709 5: Cmd: >{BlockingStart('751')}<
2018.03.28 16:30:05.712 5: Cmd: >{DbLog_PushAsyncDone('DBLog|0|0.120904,0.136097|0')}<
2018.03.28 16:30:05.713 5: DbLog DBLog -> Start DbLog_PushAsyncDone
2018.03.28 16:30:05.714 5: DbLog DBLog -> DbLog_PushAsyncDone finished
2018.03.28 16:30:05.947 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:05.947 4: DbLog DBLogTemp -> ### New database processing cycle - asynchronous ###
2018.03.28 16:30:05.947 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:05.947 4: DbLog DBLogTemp -> MemCache contains 32 entries to process
2018.03.28 16:30:05.947 4: DbLog DBLogTemp -> DbLogType is: Current/History
2018.03.28 16:30:05.948 5: DbLog DBLogTemp -> MemCache contains: 2018-03-28 16:15:38|Stromverbrauch ...
...
2018.03.28 16:30:05.952 5: DbLog DBLogTemp -> MemCache contains: 2018-03-28 16:29:37|Stromverbrauch ...
2018.03.28 16:30:05.960 4: BlockingCall (DbLog_PushAsync): created child (32223), uses tPort to connect back
2018.03.28 16:30:05.962 5: DbLog DBLogTemp -> DbLog_PushAsync called with timeout: 3600
2018.03.28 16:30:05.974 4: Connection accepted from tPort_127.0.0.1_48490
2018.03.28 16:30:05.975 5: Cmd: >{BlockingRegisterTelnet($cl,752)}<
2018.03.28 16:30:05.977 5: DbLog DBLogTemp -> Start DbLog_PushAsync
2018.03.28 16:30:05.977 5: DbLog DBLogTemp -> DbLogType is: Current/History
2018.03.28 16:30:05.979 4: DbLog DBLogTemp -> AutoCommit mode: ON, Transaction mode: ON
2018.03.28 16:30:05.992 5: DbLog DBLogTemp -> Primary Key used in /xxxxxxxxxxxxxxxxxxxxxxx/fhemsql3temp.db.history: none
2018.03.28 16:30:05.992 5: DbLog DBLogTemp -> Primary Key used in /xxxxxxxxxxxxxxxxxxxxxxx/fhemsql3temp.db.current: none
2018.03.28 16:30:05.993 5: DbLog DBLogTemp -> processing event Timestamp: 2018-03-28 16:15:38, Device: Stromverbrauch, ...
...
2018.03.28 16:30:05.996 5: DbLog DBLogTemp -> processing event Timestamp: 2018-03-28 16:29:37, Device: Stromverbrauch, ...
2018.03.28 16:30:06.000 4: DbLog DBLogTemp -> 32 of 32 events inserted into table history
2018.03.28 16:30:06.050 4: DbLog DBLogTemp -> insert table history committed by autocommit
2018.03.28 16:30:06.055 4: DbLog DBLogTemp -> 32 of 32 events updated in table current
2018.03.28 16:30:06.076 4: DbLog DBLogTemp -> insert / update table current committed by autocommit
2018.03.28 16:30:06.077 5: DbLog DBLogTemp -> DbLog_PushAsync finished
2018.03.28 16:30:06.078 5: Cmd: >{BlockingStart('752')}<
2018.03.28 16:30:06.082 5: Cmd: >{DbLog_PushAsyncDone('DBLogTemp|0|0.078766,0.099549|0')}<
2018.03.28 16:30:06.083 5: DbLog DBLogTemp -> Start DbLog_PushAsyncDone
2018.03.28 16:30:06.083 5: DbLog DBLogTemp -> DbLog_PushAsyncDone finished
2018.03.28 16:30:27.741 5: HMLAN_Send: HMLAN1 I:K
2018.03.28 16:30:27.744 5: HMLAN/RAW: /HHM-LAN-IF,03C5,LEQ0384469,29A0FA,29A0FA,1466E5B9,000F,01
2018.03.28 16:30:27.745 5: HMLAN_Parse: HMLAN1 V:03C5 sNo:LEQ0384469 d:29A0FA O:29A0FA t:1466E5B9 IDcnt:000F L:1 %
2018.03.28 16:30:27.746 5: Starting notify loop for HMLAN1, 1 event(s), first is loadLvl: low
2018.03.28 16:30:27.747 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:27.747 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:30:27.748 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:27.748 4: DbLog DBLog -> number of events received: 1 for device: HMLAN1
2018.03.28 16:30:27.748 4: DbLog DBLog -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:30:27.750 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:27.750 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:30:27.751 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:27.751 4: DbLog DBLogTemp -> number of events received: 1 for device: HMLAN1
2018.03.28 16:30:27.751 4: DbLog DBLogTemp -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:30:27.754 5: End notify loop for HMLAN1
2018.03.28 16:30:35.793 5: SW:
2018.03.28 16:30:35.795 4: Wrote
2018.03.28 16:30:35.796 5: OBIS (Stromverbrauch) - Internal timer set to 2018-03-28 16:31:35
2018.03.28 16:30:38.002 5: SML-Parse ...
2018.03.28 16:30:38.004 5: OBIS: Full message-> ...
2018.03.28 16:30:38.017 5: Starting notify loop for Stromverbrauch, 2 event(s), first is Momentanleistung: 179
2018.03.28 16:30:38.017 5: statistics Statistik: DoStatistics.446 Assigned reading 'Zaehler-Bezug-Total' from attribute 'deltaReadings' to statistic type 2.
2018.03.28 16:30:38.018 4: statistics Statistik: doStatisticDelta.703 Calculating delta statistics for 'Stromverbrauch:Zaehler-Bezug-Total = 11412.8271'
2018.03.28 16:30:38.018 5: statistics Statistik: doStatisticDelta.794 Set '.Stromverbrauch:Zaehler-Bezug-Total'='LastValue: 11412.8271 ShowDate: 3 DecPlaces: 4'
2018.03.28 16:30:38.018 5: statistics Statistik: doStatisticDelta.800 Set 'LTstatZaehler-Bezug-Total'='Hour: 0.1217 Day: 3.5834 Month: 207.8966 Year: 378.8704 (since: 2018-02-05 )'
2018.03.28 16:30:38.019 5: statistics Statistik: storeSingularReadings.1089 Set LTstatZaehler-Bezug-TotalDay = 3.5834
2018.03.28 16:30:38.019 5: statistics Statistik: storeSingularReadings.1089 Set LTstatZaehler-Bezug-TotalMonth = 207.8966
2018.03.28 16:30:38.019 5: statistics Statistik: storeSingularReadings.1089 Set LTstatZaehler-Bezug-TotalYear = 378.8704
2018.03.28 16:30:38.020 5: Starting notify loop for Statistik, 1 event(s), first is Updated stats for: Stromverbrauch
2018.03.28 16:30:38.021 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:38.021 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:30:38.022 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:38.022 4: DbLog DBLog -> number of events received: 1 for device: Statistik
2018.03.28 16:30:38.022 4: DbLog DBLog -> check Device: Statistik , Event: state: Updated stats for: Stromverbrauch
2018.03.28 16:30:38.023 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:38.023 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:30:38.023 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:38.023 4: DbLog DBLogTemp -> number of events received: 1 for device: Statistik
2018.03.28 16:30:38.023 4: DbLog DBLogTemp -> check Device: Statistik , Event: state: Updated stats for: Stromverbrauch
2018.03.28 16:30:38.024 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:30:38.024 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:30:38.025 5: End notify loop for Statistik
2018.03.28 16:30:38.026 5: statistics Statistik: Notify.296 Notification of 'Stromverbrauch' received. Update statistics.
2018.03.28 16:30:38.030 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:38.030 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:30:38.031 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:38.031 4: DbLog DBLog -> number of events received: 3 for device: Stromverbrauch
2018.03.28 16:30:38.031 4: DbLog DBLog -> check Device: Stromverbrauch , Event: Momentanleistung: 179
2018.03.28 16:30:38.031 4: DbLog DBLog -> check Device: Stromverbrauch , Event: Zaehler-Bezug-Total: 11412.8271
2018.03.28 16:30:38.031 4: DbLog DBLog -> check Device: Stromverbrauch , Event: LTstatZaehler-Bezug-TotalDay: 3.5834
2018.03.28 16:30:38.032 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:38.032 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:30:38.032 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:38.032 4: DbLog DBLogTemp -> number of events received: 3 for device: Stromverbrauch
2018.03.28 16:30:38.033 4: DbLog DBLogTemp -> check Device: Stromverbrauch , Event: Momentanleistung: 179
2018.03.28 16:30:38.033 5: DbLog DBLogTemp -> parsed Event: Stromverbrauch , Event: Momentanleistung: 179
2018.03.28 16:30:38.033 4: DbLog DBLogTemp -> added event - Timestamp: 2018-03-28 16:30:38, Device: Stromverbrauch, Type: OBIS, Event: Momentanleistung: 179, Reading: Momentanleistung, Value: 179, Unit:
2018.03.28 16:30:38.034 4: DbLog DBLogTemp -> check Device: Stromverbrauch , Event: Zaehler-Bezug-Total: 11412.8271
2018.03.28 16:30:38.034 4: DbLog DBLogTemp -> check Device: Stromverbrauch , Event: LTstatZaehler-Bezug-TotalDay: 3.5834
2018.03.28 16:30:38.034 5: DbLog DBLogTemp -> parsed Event: Stromverbrauch , Event: LTstatZaehler-Bezug-TotalDay: 3.5834
2018.03.28 16:30:38.034 4: DbLog DBLogTemp -> added event - Timestamp: 2018-03-28 16:30:38, Device: Stromverbrauch, Type: OBIS, Event: LTstatZaehler-Bezug-TotalDay: 3.5834, Reading: LTstatZaehler-Bezug-TotalDay, Value: 3.5834, Unit:
2018.03.28 16:30:38.035 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:30:38.035 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:30:38.037 5: End notify loop for Stromverbrauch
2018.03.28 16:30:52.743 5: HMLAN_Send: HMLAN1 I:K
2018.03.28 16:30:52.747 5: HMLAN/RAW: /HHM-LAN-IF,03C5,LEQ0384469,29A0FA,29A0FA,14674767,000F,01
2018.03.28 16:30:52.747 5: HMLAN_Parse: HMLAN1 V:03C5 sNo:LEQ0384469 d:29A0FA O:29A0FA t:14674767 IDcnt:000F L:1 %
2018.03.28 16:30:52.748 5: Starting notify loop for HMLAN1, 1 event(s), first is loadLvl: low
2018.03.28 16:30:52.749 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:52.749 4: DbLog DBLog -> ### start of new Logcycle ###
2018.03.28 16:30:52.749 4: DbLog DBLog -> ################################################################
2018.03.28 16:30:52.750 4: DbLog DBLog -> number of events received: 1 for device: HMLAN1
2018.03.28 16:30:52.750 4: DbLog DBLog -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:30:52.752 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:52.752 4: DbLog DBLogTemp -> ### start of new Logcycle ###
2018.03.28 16:30:52.752 4: DbLog DBLogTemp -> ################################################################
2018.03.28 16:30:52.752 4: DbLog DBLogTemp -> number of events received: 1 for device: HMLAN1
2018.03.28 16:30:52.752 4: DbLog DBLogTemp -> check Device: HMLAN1 , Event: loadLvl: low
2018.03.28 16:30:52.754 5: SystemActivity: not on any display, ignoring notify
2018.03.28 16:30:52.754 5: SystemBatterie: not on any display, ignoring notify
2018.03.28 16:30:52.756 5: End notify loop for HMLAN1
2018.03.28 16:30:59.589 4: <hidden>: HTTP response code 200
2018.03.28 16:30:59.590 5: HttpUtils <hidden>: Got data, length: 23
2018.03.28 16:30:59.590 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Wed, 28 Mar 2018 14:31:02 GMT
Content-Type: application/json
Content-Length: 23
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
2018.03.28 16:30:59.590 5: TelegramBot_Callback TelegramRobot: called from Polling
2018.03.28 16:30:59.590 5: TelegramBot_Callback TelegramRobot: data returned :{"ok":true,"result":[]}:
2018.03.28 16:30:59.590 5: TelegramBot_Deepencode TelegramRobot: encoded a String from :1: to :1:
2018.03.28 16:30:59.591 5: TelegramBot_Deepencode TelegramRobot: found an ARRAY
2018.03.28 16:30:59.591 5: TelegramBot_Deepencode TelegramRobot: found a HASH
2018.03.28 16:30:59.591 5: TelegramBot_Callback TelegramRobot: after encoding
2018.03.28 16:30:59.591 5: TelegramBot_Callback TelegramRobot: polling returned result? 0
2018.03.28 16:30:59.591 5: UpdatePoll TelegramRobot: number of results 0
2018.03.28 16:30:59.591 5: TelegramBot_UpdatePoll TelegramRobot: called
2018.03.28 16:30:59.592 5: TelegramBot_UpdatePoll TelegramRobot: - Initiate non blocking polling - With callback set
2018.03.28 16:30:59.593 5: TelegramBot_readToken: Read Telegram API token from file
2018.03.28 16:30:59.594 4: TelegramBot_UpdatePoll TelegramRobot: initiate polling with nonblockingGet with 120s
2018.03.28 16:30:59.594 5: HttpUtils url=<hidden>
2018.03.28 16:30:59.596 5: IP: api.telegram.org -> 149.154.167.220
2018.03.28 16:30:59.597 5: TelegramBot_UpdatePoll TelegramRobot: - Ende > next polling started
2018.03.28 16:30:59.598 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:30:59.598 5: TelegramBot_Callback TelegramRobot: - Ende > Control back to FHEM
2018.03.28 16:31:00.661 5: HttpUtils request header:
GET /botxxxxxxx55:Axxxxxxxxxxxxxx-Gxxxxxxxxxxxxxxxxxxw/getUpdates?offset=0&limit=5&timeout=120 HTTP/1.0
Host: api.telegram.org
Accept-Encoding: gzip,deflate
agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
...
2018.03.28 16:33:33.907 5: TelegramBot_Attr TelegramRobot: set on verbose to 3
2018.03.28 16:34:23.048 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:35:13.107 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:36:04.421 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:37:00.550 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:37:00.553 1: Perfmon: possible freeze starting at 16:36:56, delay is 4.553
2018.03.28 16:37:51.874 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:38:43.233 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:39:48.320 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:39:48.322 1: Perfmon: possible freeze starting at 16:39:34, delay is 14.322
2018.03.28 16:40:24.014 1: RMDIR: ./restoreDir/save/2018-03-25
2018.03.28 16:40:44.657 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:40:44.659 1: Perfmon: possible freeze starting at 16:40:40, delay is 4.659
2018.03.28 16:41:43.997 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:41:43.999 1: Perfmon: possible freeze starting at 16:41:39, delay is 4.998
2018.03.28 16:42:34.061 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:43:25.217 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:44:16.563 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:45:09.333 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:46:00.880 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:47:12.257 2: TelegramBot_Callback TelegramRobot: resulted in NonBlockingGet: returned gethostbyname api.telegram.org failed from Polling
2018.03.28 16:47:12.258 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:47:12.259 1: Perfmon: possible freeze starting at 16:46:53, delay is 19.259
2018.03.28 16:48:08.019 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:48:59.349 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:49:50.664 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:50:41.786 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:51:41.792 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:51:41.794 1: Perfmon: possible freeze starting at 16:51:37, delay is 4.794
2018.03.28 16:52:31.865 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:53:21.925 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:54:11.988 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:55:02.052 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:56:13.179 2: TelegramBot_Callback TelegramRobot: resulted in NonBlockingGet: returned gethostbyname api.telegram.org failed from Polling
2018.03.28 16:56:13.180 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:56:13.181 1: Perfmon: possible freeze starting at 16:55:54, delay is 19.181
2018.03.28 16:56:13.202 1: 192.168.2.40:1000 disconnected, waiting to reappear (HMLAN1)
2018.03.28 16:56:13.205 1: HMLAN_Parse: HMLAN1 new condition disconnected
2018.03.28 16:56:13.229 1: HMLAN_Parse: HMLAN1 new condition init
2018.03.28 16:56:13.236 1: 192.168.2.40:1000 reappeared (HMLAN1)
2018.03.28 16:56:13.480 1: HMLAN_Parse: HMLAN1 new condition ok
2018.03.28 16:57:27.179 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:57:27.182 1: Perfmon: possible freeze starting at 16:57:13, delay is 14.182
2018.03.28 16:58:18.738 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:59:08.798 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 16:59:59.090 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 17:00:50.648 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 17:01:45.732 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 17:01:45.734 1: Perfmon: possible freeze starting at 17:01:41, delay is 4.734
2018.03.28 17:02:39.362 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 17:03:30.860 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 17:04:20.917 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 17:05:10.977 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 17:06:02.320 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
2018.03.28 17:06:58.662 2: TelegramBot_Callback TelegramRobot: resulted in SUCCESS from Polling
Danke und viele Grüße
Matthias
Moin zusammen,
habe mal wieder ein Problem :)
Gerne hätte ich das Telegram mir photos beim Türklingeln schickt. Das geht auch automatisch mit dem letzten Bild.
Jetzt mächte ich die Bilder aber auch durch Telegram anfordern.
Da sich bei älteren Bildern die URLs stets ändern schreibt mir eine SUB den Zweig in ein Reading also z.b:
Telegram_4p
/opt/fhem/www/tablet/images/Kamera/Cam1_20180327_132936.jpg
Wenn ich jetzt ein
[code]set TeleBot sendPhoto /opt/fhem/www/tablet/images/Kamera/Cam1_20180327_132936.jpg
eingebe dann kommt das Photo auch. Ich brauche aber die Relative Verzweigung.
Also habe ich versucht:
set TeleBot sendPhoto [Kamerabildummy:Telegram_4p]
das ist gescheitert. Kein bild kommt.
Gebe ich den Befehl über die Kommandozeile ein erscheint:
FAILED file :/opt/fhem/www/tablet/images/Kamera/Cam1_20180327_132936.jpg
: not found or empty
mache ich
set TeleBot sendPhoto /opt/fhem/www/tablet/images/Kamera/Cam1_20180327_132936.jpg
kommt das Bild. ?!
Es ist aber der gleiche Zweig
----
Wenn ich versuche in der Telegram Subroutine den Link als Variable zu setzen:
my $Klingel3Bild = ReadingsVal("dummyKamerabild","Telegram_4p",0);
fhem("set teleBot sendImage $Klingel3Bild");
kommt ebenfalls kein Bild beim auslösen. Was mache ich falsch?
[/quote]
Zitat von: smartias am 28 März 2018, 20:47:16
Hallo zusammen,
danke für das tolle Modul, mit dem ich auch meine Frau zur Nutzung der Heimautomatisierung bekommen habe.
Aber leider läuft es bei mir in die gleiche Richtung wie bei misux.
Ist Telegram disabled habe ich keine perfmon-Meldungen, ist es aktiviert meldet perfmon so grob alle 5 Minuten einen möglichen "freeze".
Das Log vom Device
2018-03-28_16:23:37 TelegramRobot PollingErrCount: 0
2018-03-28_16:30:01 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_16:30:01 TelegramRobot PollingErrCount: 1
2018-03-28_16:47:12 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_16:47:12 TelegramRobot PollingErrCount: 2
2018-03-28_16:56:13 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_16:56:13 TelegramRobot PollingErrCount: 3
2018-03-28_17:12:32 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:12:32 TelegramRobot PollingErrCount: 4
2018-03-28_17:17:11 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:17:11 TelegramRobot PollingErrCount: 5
2018-03-28_17:21:56 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:21:56 TelegramRobot PollingErrCount: 6
2018-03-28_17:27:36 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:27:36 TelegramRobot PollingErrCount: 7
2018-03-28_17:38:06 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:38:06 TelegramRobot PollingErrCount: 8
2018-03-28_17:42:01 TelegramRobot PollingLastError: NonBlockingGet: returned gethostbyname api.telegram.org failed
2018-03-28_17:42:01 TelegramRobot PollingErrCount: 9
Du hast ein Problem mit der Namensauflösung für hostnamen, das sorgt dann wohl auch für die freezes.
Vielleicht schaust Du mal nach dem Attribute dnsServer (am global device) - da findet sich die Erklärung für die freezes
bei mir ist heute vormittag allerdings Telegram grundsätzlich gestört (auch von Telefon aus)
Volltreffer.
Der dnsServer war nicht gesetzt.
Die IP-Adresse eingetragen und schon bekomme ich die Meldung
resulted in NonBlockingGet: returned api.telegram.org: Das Netzwerk ist nicht erreichbar from Polling
,
genau wie erwartet, wenn der Server gestört und somit nicht erreichbar ist.
Vielen Dank für die schnelle Hilfe!
Die Stelle hätte ich wohl nie gefunden, aber nun weiß ich, dass mit gesetztem dnsServer die FHEM-interne non-blocking-Variante verwendet wird, während bei mir vorher die blocking-Variante des Betriebssystems genutzt wurde.
Zitat von: smartias am 29 März 2018, 12:40:01
Volltreffer.
Der dnsServer war nicht gesetzt.
Die IP-Adresse eingetragen und schon bekomme ich die Meldung
resulted in NonBlockingGet: returned api.telegram.org: Das Netzwerk ist nicht erreichbar from Polling
,
genau wie erwartet, wenn der Server gestört und somit nicht erreichbar ist.
Vielen Dank für die schnelle Hilfe!
Die Stelle hätte ich wohl nie gefunden, aber nun weiß ich, dass mit gesetztem dnsServer die FHEM-interne non-blocking-Variante verwendet wird, während bei mir vorher die blocking-Variante des Betriebssystems genutzt wurde.
@smartias: Schön, dass das hilft und Danke für die Rückmeldung
Störung bei Telegram hält wohl weiter an
Siehe hier: https://www.netzwelt.de/ist-down/164417-telegram-down-nutzer-europa-zurzeit-verbindungsproblemen.html#utm_source=https://www.netzwelt.de/ist-down/164417-telegram-down-nutzer-europa-zurzeit-verbindungsproblemen.html&utm_medium=BUTTON_TOP&utm_campaign=AMP
Gesendet von iPhone mit Tapatalk
Grüße Jörg
Zitat von: JoWiemann am 29 März 2018, 13:01:16
Siehe hier: https://www.netzwelt.de/ist-down/164417-telegram-down-nutzer-europa-zurzeit-verbindungsproblemen.html#utm_source=https://www.netzwelt.de/ist-down/164417-telegram-down-nutzer-europa-zurzeit-verbindungsproblemen.html&utm_medium=BUTTON_TOP&utm_campaign=AMP
Gesendet von iPhone mit Tapatalk
Grüße Jörg
Störung scheint weitgehend behoben - wird inzwischen auch per Twitter vermeldet
https://twitter.com/telegram/status/979320312230707200 (https://twitter.com/telegram/status/979320312230707200)
Zitat von: viegener am 29 März 2018, 13:44:22
Störung scheint weitgehend behoben - wird inzwischen auch per Twitter vermeldet
https://twitter.com/telegram/status/979320312230707200 (https://twitter.com/telegram/status/979320312230707200)
Moin. Neben meinem oben noch nicht gelösten Problem hab ich noch ein zweites.
Ich habe eine Unwetter doif welches bei einer Bedingung den Wert eines readings ausgibt. Problem: das Reading ist nur gefüllt wenn es auch das Unwetter gibt. Jetzt gebe ich über das doif 3 gleichzeitige Unwetter readings aus. Wenn aber nur 1 Unwetter ist, werden das 2. und 3. Reading nicht gebildet. Allerdings spuckt mir in diesem Fall dann Telegram nicht nichts aus sondern die ganze Klammer. Also dann z.b [unwetter:warn2] statt einfach nix weil es das Reading gerade nicht gibt. Jemand eine Idee?
Falls jmd. auch bei der obigen sendphoto Problematik mit einem link aus einem Reading weiterhelfen kann freue ich mich natürlich auch :)
Gesendet von iPhone mit Tapatalk
Zitat von: Andre0909 am 29 März 2018, 23:25:11
Moin. Neben meinem oben noch nicht gelösten Problem hab ich noch ein zweites.
Ich habe eine Unwetter doif welches bei einer Bedingung den Wert eines readings ausgibt. Problem: das Reading ist nur gefüllt wenn es auch das Unwetter gibt. Jetzt gebe ich über das doif 3 gleichzeitige Unwetter readings aus. Wenn aber nur 1 Unwetter ist, werden das 2. und 3. Reading nicht gebildet. Allerdings spuckt mir in diesem Fall dann Telegram nicht nichts aus sondern die ganze Klammer. Also dann z.b [unwetter:warn2] statt einfach nix weil es das Reading gerade nicht gibt. Jemand eine Idee?
Das sieht aber eher nach einem Todo bei doif aus. Am Besten dort mal posten.
Grüße Jörg
Zitat von: Andre0909 am 29 März 2018, 23:25:11
Moin. Neben meinem oben noch nicht gelösten Problem hab ich noch ein zweites.
Ich habe eine Unwetter doif welches bei einer Bedingung den Wert eines readings ausgibt. Problem: das Reading ist nur gefüllt wenn es auch das Unwetter gibt. Jetzt gebe ich über das doif 3 gleichzeitige Unwetter readings aus. Wenn aber nur 1 Unwetter ist, werden das 2. und 3. Reading nicht gebildet. Allerdings spuckt mir in diesem Fall dann Telegram nicht nichts aus sondern die ganze Klammer. Also dann z.b [unwetter:warn2] statt einfach nix weil es das Reading gerade nicht gibt. Jemand eine Idee?
Falls jmd. auch bei der obigen sendphoto Problematik mit einem link aus einem Reading weiterhelfen kann freue ich mich natürlich auch :)
Gesendet von iPhone mit Tapatalk
Zu dem ersten Problem: aus den Informationen vermute ich, dass das Reading nicht ganz korrekt ist (es sieht so aus, als ob eine Zelenende auch im Wert des Readings steht). Kann das sein?
Du solltest vielleicht mal Deine sub überprüfen, ob die hier inkorrekte Werte ins Reading packt
Zum zweiten Problem - das Verhalten ist so bei der sogenannten "set magic", dass ein nicht existierendes Reading dazuführt, dass der Text unverändert zurückgegeben wird, Das ist generell auch bei anderen Befehlen der Fall. Du kannst aber einfach durch einen perl-Ausdruck mit der Funktion ReadingsVal eine Lösung bauen
Zitat von: viegener am 30 März 2018, 12:36:45
Zu dem ersten Problem: aus den Informationen vermute ich, dass das Reading nicht ganz korrekt ist (es sieht so aus, als ob eine Zelenende auch im Wert des Readings steht). Kann das sein?
Du solltest vielleicht mal Deine sub überprüfen, ob die hier inkorrekte Werte ins Reading packt
Zum zweiten Problem - das Verhalten ist so bei der sogenannten "set magic", dass ein nicht existierendes Reading dazuführt, dass der Text unverändert zurückgegeben wird, Das ist generell auch bei anderen Befehlen der Fall. Du kannst aber einfach durch einen perl-Ausdruck mit der Funktion ReadingsVal eine Lösung bauen
Erstmal danke. Die Lösung beim ersten war in der Tat ein zeilenende was irgendwie im Reading stand und würde jetzt gefixt. Klappt! Beim 2. : okay verstehe das generelle Problem aber kapier noch nicht ganz wie mir readingsval in diesem Zusammenhang jetzt hilft. Also wenn ich readingsval im Zusammenhang eines nicht existierenden readings nutzen würde schreibt mir Telegram dann keine Info? Probier ich morgen mal
Gesendet von iPhone mit Tapatalk
Zitat von: Andre0909 am 30 März 2018, 17:01:36
Erstmal danke. Die Lösung beim ersten war in der Tat ein zeilenende was irgendwie im Reading stand und würde jetzt gefixt. Klappt! Beim 2. : okay verstehe das generelle Problem aber kapier noch nicht ganz wie mir readingsval in diesem Zusammenhang jetzt hilft. Also wenn ich readingsval im Zusammenhang eines nicht existierenden readings nutzen würde schreibt mir Telegram dann keine Info? Probier ich morgen mal
Gesendet von iPhone mit Tapatalk
Wenn Du in der Commandref schaust, siehst Du, das Readingsval einen default wert unterstützt, wenn das Reading nicht existiert. Das ist doch genau das was Du willst?
Hallo,
Hatte nach dem Update auf die neuste Version von 50_TelegramBot.pm einen Ausfall. Senden von FHEM an einen eigenen Bot hat nicht mehr funktioniert. Im Log gab es keine Meldung. Nach einem Downgrade auf Version 15652 geht nun alles wieder wie vorher.
Gibt es einen Bug in Version 16552?
Grüsse
@Xcoder: Bisher ist mir kein Fehler bekannt und ich habe auch dazu keine Meldung gesehen. Der letzte Checkin von mir ist vom 11.3., wenn es hierbei ein grundsätzliches problem gäbe, vermute ich, dass es bereits Meldungen gäbe.
Aus Deiner Beschreibung ist leider nicht viel ersichtlich, aber es gab Ausfälle der Telegramserver-Infrastruktur vielleicht hängt es damit zusammen?
Hi,
bei mir läuft Telegram problemlos (routinemäßige Statusmeldungen kommen immer durch).
Viele Grüße
Rainer
Hallo allerseits,
mein Status bzgl. Telegam / Telegram X:
Grundsätzliches theoretisches Grundwissen, aber keinerlei praktische Erfahrung. Telegram ist auf Handy nicht installiert. In FHME kein telegram-bot.
Verständnisfragen:
* Funktioniert verschlüsselte Ende-Ende-Kommunikation?
* Gilt das auch für Nachrichten an Gruppen von Telegram-Nutzern?
* Am Rande: Installation Telegram-App auf Android-6: Werden Kontaktdaten ungefragt an Telegram-Cloud übertragen?
Ich danke schon mal.
Hilft das?
https://telegram.org/faq/de#f-wie-unterscheidet-sich-telegram-von-whatsapp (https://telegram.org/faq/de#f-wie-unterscheidet-sich-telegram-von-whatsapp)
Zitat von: andies am 06 April 2018, 22:41:14
Hilft das?
Negativ.
Ich möchte lernen, ob FHEM mit dem Telegram-Client
verschlüsselt und
Ende-zu-Ende kommuniziert. Und die weiteren Fragen oben.
Es deutet sich via google-Suche an, dass das so ein könnte. Aber mal ganz ehrlich: Ich lese jetzt nicht 130 Seiten durch in der Hoffnung, dass da die Antwort steht.
Die Sache ist ansich sehr einfach:
Ich hoffe auf eine freundliche Seele, die meine Fragen nach dem ja/nein-Schema kurz und knackig beantwortet.
@curt: Zu deiner Frage -
Verschlüsselt ist relativ allgemein
Ende-zu-Ende bezieht sich wahrscheinlich auf die Kommunikation mit dem Bot
Ich vermute es geht Dir darum, ob Du mit dem TelegramBot aus FHEM - Ende-zu-Ende verschlüsselt kommunizierst - ohne, dass Telegram (also der Anbieter) mitlesen kann --> Antwort ist Nein (und das liegt daran, dass bots das nicht können)
Ich vermute die anderen Frage hat sich dann erledigt
Wenn Du eine andere Frage im Sinn hattest, bitte konkret den Anwendungsfall beschreiben
Das beantwortet meine Frage umfänglich, leider negativ. Ich danke Dir.
Ich ein anderer (ähnlicher) Dienst bekannt, der das (die Ende-zu-Ende-Verschlüsselung) kann?
Zitat von: curt am 08 April 2018, 00:15:29
Das beantwortet meine Frage umfänglich, leider negativ. Ich danke Dir.
Ich ein anderer (ähnlicher) Dienst bekannt, der das (die Ende-zu-Ende-Verschlüsselung) kann?
Eventuell das hier: https://forum.fhem.de/index.php/topic,30745.msg233319.html#msg233319
Gruß, Joachim
Hallo Joachim,
danke für den Hinweis. Ich werde mir das genauer anschauen.
Hallo,
ich versuche in meiner FHEM-Installation das TelegramBot-Modul zu installieren. Vorbereitet ist alles, aber sobald ich versuche das Device zu erzeugen, wird immer ein Device mit leerer Def angelegt. Es ist dabei völlig egal was ich als Token eingebe (meinen, das Beispiel aus der Wiki oder 12345). Es macht auch keinen Unterschied ob ich es per Define-Kommando, über ModifyDev im leeren Device oder direkt in der fhem.cfg eintrage. Mache ich irgendwas falsch? FHEM läuft auf einem Raspi 3 und ist aktuell (auch Jessi ist auf dem aktuellen Stand).
Danke im Voraus
Tom
@terkens: Das ist völlig normal, das Authtoken wird bei der Definition verwendet und dann verschlüsselt gespeichert. Hintergrund ist, dass das AuthToken nicht bei einem list oded auch sonst im Device nicht so einfach sichtbar sein soll.
Verstehe.
Danke für die schnelle Antwort.
Gruß
Tom
Hi, ich hatte gefragt wie man eine Nachricht an andere Empfänger senden kann wenn standartmäßig ein Chat als Empfänger genutzt wird...
Zitat von: Amenophis86 am 27 März 2018, 17:43:56
Vor dem Senden der Nachricht prüfen an wen es gehen soll und dem entsprechend nur den Empfänger eintragen.
Leider verstehe ich nicht rechet wie man das macht... Wie prüfe ich vor dem versenden an wen es gehen soll??
Das ist der standart Empfänger DOIF bzw da sieht man ja nicht an wen es gehe soll... wenn es jetzt z.B. an TanteMarie gehen soll, wie muss dan das DOIF aussehen?
Vielen Dank!
([SENSOR_1_Tor] eq "open" and [?Haus] eq "absent")
(get CAMHof image)
(set Telegram message TOR geöffnet!!!)
(set Telegram sendPhoto /opt/fhem/www/snapshots/CAMHof_snapshot.jpg)
DOELSEIF
([SENSOR_1_Tor] eq "closed" and [?Haus] eq "absent") (set Telegram message TOR geschlossen)
(wie praktisch immer:) Commandref bzw. "Device spcific help" und dann schauen wie man beim Aufruf "message" bzw. "sendPhoto" einen bestimmten Empfänger mit angibt...
Kurz, da nur mobil...
Gruß, Joachim
Ich habs... ist ja eigentlich gaanz einfach...
einfach nur sendPhoto @NAME ...
oder message @NAME Text
Vielen Dank!
Hallo Zusammen ich nutze den Bot um ein schönes Menü mit Untermenüs aufzubauen und dort sind dann Aktionen hinterlegt.
Das Funktioniert soweit auch alles.
Allerdings hab ich das Problem das nach jedem drücken eines Button unter dem Menü eine nervige Meldung abgesetzt wird.
TelegramBot FHEM - Befehl:{telegramRecognition("menuData:Hauptmenü")}: - Ergebnis: OK
Wisst ihr wie ich das weg bekommen könnte.
Hab schon mehrere Attr im Bot versucht.
Hallo,
seit heute morgen bekomme ich folgende Fehlermeldung:
Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 2225.
Um 00:17 funktionierte noch alles, seit 04:17 kommt diese Fehlermeldung.
Kennt dies auch noch jemand?
Viele Grüße Rainer
Bei mir geht Telegram seit gestern Nacht auch nicht mehr. Scheint also nicht an dir zu liegen
Edit: jup... liegt an telegram http://allestörungen.de/stoerung/telegram
Zur Info für die die nicht suchen können / wollen:
https://forum.fhem.de/index.php?topic=87377.0
Gesendet von meinem S60 mit Tapatalk
Hallo Frank_Huber
dann liegt es bei mir wohl am "können", denn das "wollen" brachte mit nicht weiter. Das Forum brachte mit nicht auf den von Dir zitierten Eintrag.
Am Nachnamen kann es auch nicht liegen, denn da sind wir identisch.
Problem liegt bei mir akut noch vor, obwohl die Meldungen was anderes sagen. -> Es sollte wieder funktionieren, aber bei mir ist es nicht so.
Jetzt frage ich mich, ob es auch hier am "können" oder am "wollen" liegt. Ich warte mal ab, geh ein Viertele trinken und schau dann noch mal nach 8) .
Viele Grüße
Rainer
Bei mir lief es heute irgendwann wieder. Vielleicht mal bei FHEM ein shutdown restart machen
Seit dem Datumswechsel ist wieder alles beim Alten. Es funktioniert wieder :D .
Viele Grüße
Rainer
Hallo zusammen,
ich habe hier ein kleines Problem. Gestern funktionierte mein Bot noch. Hab Nachmittag noch die Poolpumpe eingeschalten und 19.00 Uhr noch eine Nachricht vom Abfallkalender bekommen.
Jetzt wollte ich gerade die Poolpumpe starten, mein "/cmd" bekam allerdings nur ein rotes Ausrufezeichen. In meinem Desktop-Client steht mein Bot nun als "Deleted Account" und im Fhem selber ":Unauthorized:".
Bedeutet also vmtl. mein Bot wurde gelöscht. Aber warum? Hatte mich damals extra für Telegram entschieden, da es hieß, da wäre das ohne Probleme möglich bzw. erwünscht.
@stauraum: Es ist auch weiterhin erwünscht. Meines Wissens sind auch noch keine Accounts von Telegram-Seite gelöscht worden, also wird es vermutlich eine andere Ursache haben. Kann es sein, dass jemand zugang zum Account hat entweder dem Bot oder dem Account unter dem es angelegt wurde?
@viegener
nicht das ich mir bewußt wäre. In der Fhem-Konfiguration sind auch nur 2 Clienten eingetragen.
Hmm ... dann muss ich mich wohl mal ran setzen und einen neuen Bot einrichten etc. Zum Glück passt das Wetter dazu gerade ...
Hallo zusammen,
Habe mir mit Queryinline ein Menü gebaut, soweit so gut. Da sowohl meine Frau als auch ich die Nachrichten bekommen, bekommt meine Frau also bei jedem Klick eine ,,notification". Kann man analog zu silwntmsg auch die Benachrichtigungen für queryinline ausstellen , so dass auch nur die wichtigen Dinge informieren und nicht jedes durchklicken?
2. frage: habe im Wetter bot gesehen dass dieser ein Menü statt des Keyboards nutzt wo ich auch Einstellungen machen kann etc. finde ich natürlich aufgehäufter als ein aufgeblähter Chat wegen Darstellung jedes einzelnen Untermenüs. Bisher habe ich nicht mit Favoriten gearbeitet aber laut Commandref wüsste ich keine Möglichkeit daraus Untermenüs zu bauen. Funktioniert sowas über FHEM? Wäre bei einer Telegram Nutzung zu zweit natürlich geiler :) Danke !
Versuche es mir nem 2. Bot über Telegramm und richte dann aus dem 2. Pi Telegramm mit dem 2. Bot ein.
Nur so ein Gedanke
Gruß Sascha
Gesendet von meinem E6653 mit Tapatalk
Zitat von: Dia81 am 10 Juni 2018, 19:16:31
Hallo zusammen,
Habe mir mit Queryinline ein Menü gebaut, soweit so gut. Da sowohl meine Frau als auch ich die Nachrichten bekommen, bekommt meine Frau also bei jedem Klick eine ,,notification". Kann man analog zu silwntmsg auch die Benachrichtigungen für queryinline ausstellen , so dass auch nur die wichtigen Dinge informieren und nicht jedes durchklicken?
2. frage: habe im Wetter bot gesehen dass dieser ein Menü statt des Keyboards nutzt wo ich auch Einstellungen machen kann etc. finde ich natürlich aufgehäufter als ein aufgeblähter Chat wegen Darstellung jedes einzelnen Untermenüs. Bisher habe ich nicht mit Favoriten gearbeitet aber laut Commandref wüsste ich keine Möglichkeit daraus Untermenüs zu bauen. Funktioniert sowas über FHEM? Wäre bei einer Telegram Nutzung zu zweit natürlich geiler :) Danke !
Schau dir msgDialog an..
Grüße
Zitat von: Esjay am 10 Juni 2018, 19:50:31
Schau dir msgDialog an..
Grüße
Gerade mal angeschaut... Erster Gedanke..UFFF....
Sieht mir recht komplex aus, ich glaub da lebe ich dann lieber damit das wir beide zugespamt werden wenn man die Inlines nicht silent schlalten kann. Trotzdem Danke für den Tipp. Wenns mal kalt und düster wird fuchse ich mich da evtl mal rein
Zitat von: Dia81 am 10 Juni 2018, 19:16:31
Hallo zusammen,
Habe mir mit Queryinline ein Menü gebaut, soweit so gut. Da sowohl meine Frau als auch ich die Nachrichten bekommen, bekommt meine Frau also bei jedem Klick eine ,,notification". Kann man analog zu silwntmsg auch die Benachrichtigungen für queryinline ausstellen , so dass auch nur die wichtigen Dinge informieren und nicht jedes durchklicken?
2. frage: habe im Wetter bot gesehen dass dieser ein Menü statt des Keyboards nutzt wo ich auch Einstellungen machen kann etc. finde ich natürlich aufgehäufter als ein aufgeblähter Chat wegen Darstellung jedes einzelnen Untermenüs. Bisher habe ich nicht mit Favoriten gearbeitet aber laut Commandref wüsste ich keine Möglichkeit daraus Untermenüs zu bauen. Funktioniert sowas über FHEM? Wäre bei einer Telegram Nutzung zu zweit natürlich geiler :) Danke !
Ich bin nicht sicher, wie Du das Menu mit queryInline gebaut hast und wie / welche Nachrichten bei beiden ankommen.
Ist das eine Gruppe, in der Ihr beide schreibt? Warum macht Ihr dann nicht jeweils einen eigenen Chat mit dem Bot auf?
Eine Gruppe kann ja immer noch für allgemeine Benachrichtigungen verwendet werden?
Verwendest Du auch queryEditInline ?
Hallo :)
Also ich rufe mir mein Menü mit Menü auf und bekomme dann mit querryinline verschiedenste Buttons angezeigt z.b Lampen Rollos Modus .. beim Klick darauf erscheinen verschiedene Untermenüs mit wieryinline die wiederum eine Lampe Ein oder ausschalten oder mir die letzen Bewegungen Anzeigen, ein kamerafoto machen und schicken etc. Dabei habe ich im Code die Ausgabe immer auf mich und Meine Frau als User. Weil sie soll das Menü ja auch nutzen. Wir kommunizieren also mit dem selben bot. Rufe ich Menü auf kommt das Menü bei ihr auch als ungelesen Nachricht. Und andersrum...
Deswegen dachte ich wenn schon jeder alles vom anderen bekommt wäre es ja sinnvoll das Menü welches wieder online aufgerufen wird Silent zu machen. Meine Frau sieht dann zwar im chatverlauf was ich tue bekommt aber nicht alle 3 sec eine Benachrichtigung. Kann gerne morgen mal ein codeschnipsel schicken.
Queryeditinline nutze ich nicht
Zitat von: viegener am 11 Juni 2018, 14:12:50
Ich bin nicht sicher, wie Du das Menu mit queryInline gebaut hast und wie / welche Nachrichten bei beiden ankommen.
Ist das eine Gruppe, in der Ihr beide schreibt? Warum macht Ihr dann nicht jeweils einen eigenen Chat mit dem Bot auf?
Eine Gruppe kann ja immer noch für allgemeine Benachrichtigungen verwendet werden?
Verwendest Du auch queryEditInline ?
Ein Auszug:
define teleBot11 notify teleBot:queryData:.Ⓜ set teleBot queryInline @André @Jenny_K (✔|🏡|🛫|❌) (Ⓜ⚠|Ⓜ🔔) (🔝) Ⓜ <b>Modus </b>;; set teleBot send @André @Jenny_K Ⓜ <b>{(ReadingsVal("Automatikmodus","state",0))}</b> ⚠ <b>{(ReadingsVal("Ueberwachungsmodus","state",0))}</b> 🔔 <b>{(ReadingsVal("Klingelbenachrichtigungsdummy","state",0))}</b>
define teleBot12 notify teleBot:queryData:.Ⓜ⚠ set teleBot queryInline @André @Jenny_K (⚠⏱|⚠✔|⚠❌) (Ⓜ|🔝) ⚠ <b>Überwachung</b>
define teleBot13 notify teleBot:queryData:.Ⓜ🔔 set teleBot queryInline @André @Jenny_K (🔔✔|🔔❌) (Ⓜ|🔝) <b>Klingel</b>
Usw
@Dia81: Du sendest ja in Deinen notifies an beide Benutzer und nicht an den ursprünglich Anfragenden. Du solltest hier nicht die festen Benutzernamen eintragen sondern diese aus dem Reading(queryPeerId) lesen. Das kann ja das Modul nicht übernehmen, da Du ja immer beide Benutzer angibst.
Wichtig (!!!): Du solltest unbedingt eine Überprüfung der ID durchführen auf Berechtigung wenn Du nicht willst, dass jeder der Deinen Bot kontaktieren kann auch Deine Hausautomatisierung steuern kann.
Hey,
ich habe gerade versucht, den TeleGram Bot einzurichten.
Allerdings behält er den "Token" unter DEF nicht und nach einem Reload ist er verschwunden.
Über die API erhalte ich via Browser korrekte Rückmeldungen, aber in FHEM reagiert er nicht.
Vermutlich kann er nicht pollen, weil der Token fehlt und nicht gespeichert wird.
Kann mir jemand von Euch helfen ?
Wenn ihr noch was wissen müsst, sagt Bescheid =)
@Tardar: Das beim define angegebene API token wird sicher gespeichert und aus der Definition entfernt, damit es nicht in falsche Hände gerät. Es ist also weiterhin verfügbar, auch wenn es nicht mehr inder Config / Definition steht. Auch ein rename ist möglich. mit set ... token lässt sich ein neues APItoken setzen.
Vielleicht pollingTimeout nicht korrekt gesetzt?
dass das Token verschwindet ist normal (Sicherheitsgründe).Es verschwindet aber nur in der Ansicht.
WEnn trotzdem etwas nicht funktioniert, dann höchstwahrscheinlich aus anderen Gründen.
Mir hatte die Anleitung unter
https://waschto.eu/telegrambot-kommuniziere-mit-deiner-fhem-installation/ (https://waschto.eu/telegrambot-kommuniziere-mit-deiner-fhem-installation/)
damals gut geholfen.
VG,
al
Danke euch beiden :)
Zitat von: justcallmeal am 22 Juni 2018, 16:45:19
dass das Token verschwindet ist normal (Sicherheitsgründe).Es verschwindet aber nur in der Ansicht.
WEnn trotzdem etwas nicht funktioniert, dann höchstwahrscheinlich aus anderen Gründen.
Mir hatte die Anleitung unter
https://waschto.eu/telegrambot-kommuniziere-mit-deiner-fhem-installation/ (https://waschto.eu/telegrambot-kommuniziere-mit-deiner-fhem-installation/)
damals gut geholfen.
VG,
al
Die ANleitung und der Tipp, den Token neu zu setzen, hat Früchte getragen ;)
Besten Dank nochmal
Hat jemand eine Idee, wo folgende Einträge im Log herkommen, bzw was man dagegen machen kann?
2018.07.14 11:17:20 2: TelegramBot_ContactUpdate Updated Contact list :460341108:کورد:@artabchi5 526118033:❀⇚〖๓๑вïทα〗⇛✿: 579497109:Paria😶:@paoejwiw 603948663:同床: 617302963:tina: 560012419:mahbobeh__-): 543348269:💄💄رویا_جووون💃: 554561110:عاطفه: 514683036:رها_سکسی: 606463386:khanoom_ghasemi:@khanoomghasemi 511101143:jeiran_vafaei:@JEIRANVAFAEI 683560846:P: 559222955:._❯ཱཱཱཱཱིཻིིིིིུ͟͞ᴇཱཱཱཱཱིིིིིཷ̶͕̲͗̅͗ꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོིཻུٜٜٜٓ͟͞ʀ͟͞ཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོིཻུٜٜٜٓғ͟͞ꯨཱཱཱཱཱིོིིིིིٜٜٜٓཷ̶ིཻུ͕̲͗̅͗ᴀ̶ཱཱཱཱཱིིིིི͕̲͗̅͗͟͞ཷꯨིོིཻུٜٜٜٓɴꯨ̶ིོٜٜٜ͕̲ٓ͗̅͗ཷཷཱཱཱཱཱིིིིིིཻུ͟͞ᴘ̶ིཻུ͕̲͗̅͗͟͞ཷཱཱཱཱཱིིིིིꯨིོٜٜٜٓʜིཻུཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོٜٜٜٓ͟͞ᴘ̶͕̲͗̅͗͟͞❮: 593848413:Anahita_Amanda: 614867611:پریناز: 553336885:انتظار_.: 564146229:._꧁͟͞ᬼ᜴͟͞͞ᴍ꙱̶͟͞⃟ᬼ̶᜴͟͞ɪ̶͟͞꙱ᬼ⃟̶᜴͟͞s̶͟͞꙱ᬼ̶᜴͟͞⃟s̶꙱͟͞ᬼ⃟̶᜴͟͞ᴢ̶͟͞꙱ᬼ⃟̶᜴͟͞ᴏ꙱̶͟͞ᬼ⃟̶᜴͟͞ʜ͟͞꙱̶ᬼ̶᜴͟͞⃟ʀ̶꙱͟͞ᬼ̶᜴͟͞⃟ᴇ꙱̶̶͟͞ᬼ̶͟͞꧂_.: 608070144:roya_bqr:@royabqr 501424409:🎀ⓈɦⓔЯMⓘŋム🎀:@Shermina56 552285228:امیر: 138029853:f_.dr:@foadderakhshani 518874994:Hanane_Joooon💦:@halapbsbw 104751033:S,,,,A,,,,,,: 468117087:A:@b2313 598476493:💟HìLďA💋👙:@Hilda356 277192267:Stefan_Riese: 469219224:✾بـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـ℘ـʘ͜͡ـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـنـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـاز✾: 485714081:dorsa: 610464109:نرگس_قلی_نژاد: 496478995:فرزاد_طهماسبی: 587152496:Mitra27: 562953384:Maryam: 567597636:sheyda_elh:@sheydaelh 616907148:nazi: 609050031:علی_چ: 562625619:🔇🔇🔇🔇: 153687057:مـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٗ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖٖٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖاریٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖا:@Marya4543 578124362:fatiw: 506890034:بــًٍٍٍٍََٰٓٓٓٓ🍁ـ✿͜͡ـٰٰٖٖٖـ͜͡ـًٍٍٍٍََٰٓٓٓٓ🍁ـاراڹ: 616728122:Jenifer_Azpas: 199873849:˙·٠•●♥parsa♥●•٠·˙:@Parsa0910 548672589:ᴹᴵˢˢ_°]_ᴘAɴɪZ_🌹:@Kiribalabsh 553783329:پری_بلا: 572477965:مهلا: 414117966:زندگی_من:@Zendegimantoie 596088474:[S]hahrzad: 456904349:raha: 549546922:nguyen_vuong: 486623510:Shima: -1001117839287::#😨مجرد.متاهل😎 597030127:سارا_جون: 451492143:baran_jigal__p: 561238577:💞Marjan💞: 556910132:Hamide_Mosavi: 545472323:nazi: 604029287:maryam_jooon: 614637756:Mitra37: 98946506:ʄǟʄǟա:@miss_sshhp 361597102:❄🔥🔱شاه_حسن🔱🔥❄:@Hassan_Tak_Del 611377849:Sᴀᴀᴅ✯ᴛiᴢᴇr🇱🇰:@dmghc 561220830:Shiva: 418866373:Saeed_Honarmand:@S_h_1365 510925868:اسمان_اذری: 556206987:Aida: 525216467:negen::
2018.07.14 11:17:46 2: TelegramBot_ContactUpdate Updated Contact list :361597102:❄🔥🔱شاه_حسن🔱🔥❄:@Hassan_Tak_Del 611377849:Sᴀᴀᴅ✯ᴛiᴢᴇr🇱🇰:@dmghc 561238577:💞Marjan💞: 556910132:Hamide_Mosavi: 604029287:maryam_jooon: 614637756:Mitra37: 545472323:nazi: 98946506:ʄǟʄǟա:@miss_sshhp 556206987:Aida: 525216467:negen: 561220830:Shiva: 418866373:Saeed_Honarmand:@S_h_1365 510925868:اسمان_اذری: 548672589:ᴹᴵˢˢ_°]_ᴘAɴɪZ_🌹:@Kiribalabsh 572477965:مهلا: 553783329:پری_بلا: 562625619:🔇🔇🔇🔇: 153687057:مـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٗ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖٖٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖاریٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖا:@Marya4543 609050031:علی_چ: 578124362:fatiw: 506890034:بــًٍٍٍٍََٰٓٓٓٓ🍁ـ✿͜͡ـٰٰٖٖٖـ͜͡ـًٍٍٍٍََٰٓٓٓٓ🍁ـاراڹ: 616728122:Jenifer_Azpas: 199873849:˙·٠•●♥parsa♥●•٠·˙:@Parsa0910 486623510:Shima: -1001117839287::#😨مجرد.متاهل😎 597030127:سارا_جون: 451492143:baran_jigal__p: 456904349:raha: 549546922:nguyen_vuong: 414117966:زندگی_من:@Zendegimantoie 596088474:[S]hahrzad: 552285228:امیر: 616253214:J: 138029853:f_.dr:@foadderakhshani 518874994:Hanane_Joooon💦:@halapbsbw 104751033:S,,,,A,,,,,,: 598476493:💟HìLďA💋👙:@Hilda356 468117087:A:@b2313 559222955:._❯ཱཱཱཱཱིཻིིིིིུ͟͞ᴇཱཱཱཱཱིིིིིཷ̶͕̲͗̅͗ꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོིཻུٜٜٜٓ͟͞ʀ͟͞ཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོིཻུٜٜٜٓғ͟͞ꯨཱཱཱཱཱིོིིིིིٜٜٜٓཷ̶ིཻུ͕̲͗̅͗ᴀ̶ཱཱཱཱཱིིིིི͕̲͗̅͗͟͞ཷꯨིོིཻུٜٜٜٓɴꯨ̶ིོٜٜٜ͕̲ٓ͗̅͗ཷཷཱཱཱཱཱིིིིིིཻུ͟͞ᴘ̶ིཻུ͕̲͗̅͗͟͞ཷཱཱཱཱཱིིིིིꯨིོٜٜٜٓʜིཻུཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོٜٜٜٓ͟͞ᴘ̶͕̲͗̅͗͟͞❮: 593848413:Anahita_Amanda: 614867611:پریناز: 553336885:انتظار_.: 564146229:._꧁͟͞ᬼ᜴͟͞͞ᴍ꙱̶͟͞⃟ᬼ̶᜴͟͞ɪ̶͟͞꙱ᬼ⃟̶᜴͟͞s̶͟͞꙱ᬼ̶᜴͟͞⃟s̶꙱͟͞ᬼ⃟̶᜴͟͞ᴢ̶͟͞꙱ᬼ⃟̶᜴͟͞ᴏ꙱̶͟͞ᬼ⃟̶᜴͟͞ʜ͟͞꙱̶ᬼ̶᜴͟͞⃟ʀ̶꙱͟͞ᬼ̶᜴͟͞⃟ᴇ꙱̶̶͟͞ᬼ̶͟͞꧂_.: 608070144:roya_bqr:@royabqr 501424409:🎀ⓈɦⓔЯMⓘŋム🎀:@Shermina56 496478995:فرزاد_طهماسبی: 587152496:Mitra27: 562953384:Maryam: 567597636:sheyda_elh:@sheydaelh 616907148:nazi: 277192267:Stefan_Riese: 469219224:✾بـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـ℘ـʘ͜͡ـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـنـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـاز✾: 485714081:dorsa: 610464109:نرگس_قلی_نژاد: 460341108:کورد:@artabchi5 526118033:❀⇚〖๓๑вïทα〗⇛✿: 579497109:Paria😶:@paoejwiw 617302963:tina: 603948663:同床: 511101143:jeiran_vafaei:@JEIRANVAFAEI 683560846:P: 560012419:mahbobeh__-): 554561110:عاطفه: 543348269:💄💄رویا_جووون💃: 514683036:رها_سکسی: 606463386:khanoom_ghasemi:@khanoomghasemi:
Aktuell nutze ich Telegram nur zum Benachrichtigen und nicht zum Steuern.
Zitat von: gloob am 14 Juli 2018, 11:23:34
Hat jemand eine Idee, wo folgende Einträge im Log herkommen, bzw was man dagegen machen kann?
2018.07.14 11:17:20 2: TelegramBot_ContactUpdate Updated Contact list :460341108:کورد:@artabchi5 526118033:❀⇚〖๓๑вïทα〗⇛✿: 579497109:Paria[emoji55]:@paoejwiw 603948663:同床: 617302963:tina: 560012419:mahbobeh__-): 543348269:[emoji168][emoji168]رویا_جووون[emoji126]: 554561110:عاطفه: 514683036:رها_سکسی: 606463386:khanoom_ghasemi:@khanoomghasemi 511101143:jeiran_vafaei:@JEIRANVAFAEI 683560846:P: 559222955:._❯ཱཱཱཱཱིཻིིིིིུ͟͞ᴇཱཱཱཱཱིིིིིཷ̶͕̲͗̅͗ꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོིཻུٜٜٜٓ͟͞ʀ͟͞ཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོིཻུٜٜٜٓғ͟͞ꯨཱཱཱཱཱིོིིིིིٜٜٜٓཷ̶ིཻུ͕̲͗̅͗ᴀ̶ཱཱཱཱཱིིིིི͕̲͗̅͗͟͞ཷꯨིོིཻུٜٜٜٓɴꯨ̶ིོٜٜٜ͕̲ٓ͗̅͗ཷཷཱཱཱཱཱིིིིིིཻུ͟͞ᴘ̶ིཻུ͕̲͗̅͗͟͞ཷཱཱཱཱཱིིིིིꯨིོٜٜٜٓʜིཻུཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོٜٜٜٓ͟͞ᴘ̶͕̲͗̅͗͟͞❮: 593848413:Anahita_Amanda: 614867611:پریناز: 553336885:انتظار_.: 564146229:._꧁͟͞ᬼ᜴͟͞͞ᴍ꙱̶͟͞⃟ᬼ̶᜴͟͞ɪ̶͟͞꙱ᬼ⃟̶᜴͟͞s̶͟͞꙱ᬼ̶᜴͟͞⃟s̶꙱͟͞ᬼ⃟̶᜴͟͞ᴢ̶͟͞꙱ᬼ⃟̶᜴͟͞ᴏ꙱̶͟͞ᬼ⃟̶᜴͟͞ʜ͟͞꙱̶ᬼ̶᜴͟͞⃟ʀ̶꙱͟͞ᬼ̶᜴͟͞⃟ᴇ꙱̶̶͟͞ᬼ̶͟͞꧂_.: 608070144:roya_bqr:@royabqr 501424409:[emoji166]ⓈɦⓔЯMⓘŋム[emoji166]:@Shermina56 552285228:امیر: 138029853:f_.dr:@foadderakhshani 518874994:Hanane_Joooon[emoji97]:@halapbsbw 104751033:S,,,,A,,,,,,: 468117087:A:@b2313 598476493:[emoji738]HìLďA[emoji182][emoji160]:@Hilda356 277192267:Stefan_Riese: 469219224:✾بـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـ℘ـʘ͜͡ـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـنـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـاز✾: 485714081:dorsa: 610464109:نرگس_قلی_نژاد: 496478995:فرزاد_طهماسبی: 587152496:Mitra27: 562953384:Maryam: 567597636:sheyda_elh:@sheydaelh 616907148:nazi: 609050031:علی_چ: 562625619:[emoji347][emoji347][emoji347][emoji347]: 153687057:مـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٗ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖٖٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖاریٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖا:@Marya4543 578124362:fatiw: 506890034:بــًٍٍٍٍََٰٓٓٓٓ[emoji260]ـ✿͜͡ـٰٰٖٖٖـ͜͡ـًٍٍٍٍََٰٓٓٓٓ[emoji260]ـاراڹ: 616728122:Jenifer_Azpas: 199873849:˙·٠•●[emoji813]parsa[emoji813]●•٠·˙:@Parsa0910 548672589:ᴹᴵˢˢ_°]_ᴘAɴɪZ_[emoji257]:@Kiribalabsh 553783329:پری_بلا: 572477965:مهلا: 414117966:زندگی_من:@Zendegimantoie 596088474:[S]hahrzad: 456904349:raha: 549546922:nguyen_vuong: 486623510:Shima: -1001117839287::#[emoji32]مجرد.متاهل[emoji41] 597030127:سارا_جون: 451492143:baran_jigal__p: 561238577:[emoji179]Marjan[emoji179]: 556910132:Hamide_Mosavi: 545472323:nazi: 604029287:maryam_jooon: 614637756:Mitra37: 98946506:ʄǟʄǟա:@miss_sshhp 361597102:[emoji300][emoji91][emoji823]شاه_حسن[emoji823][emoji91][emoji300]:@Hassan_Tak_Del 611377849:Sᴀᴀᴅ✯ᴛiᴢᴇr[emoji1224]:@dmghc 561220830:Shiva: 418866373:Saeed_Honarmand:@S_h_1365 510925868:اسمان_اذری: 556206987:Aida: 525216467:negen::
2018.07.14 11:17:46 2: TelegramBot_ContactUpdate Updated Contact list :361597102:[emoji300][emoji91][emoji823]شاه_حسن[emoji823][emoji91][emoji300]:@Hassan_Tak_Del 611377849:Sᴀᴀᴅ✯ᴛiᴢᴇr[emoji1224]:@dmghc 561238577:[emoji179]Marjan[emoji179]: 556910132:Hamide_Mosavi: 604029287:maryam_jooon: 614637756:Mitra37: 545472323:nazi: 98946506:ʄǟʄǟա:@miss_sshhp 556206987:Aida: 525216467:negen: 561220830:Shiva: 418866373:Saeed_Honarmand:@S_h_1365 510925868:اسمان_اذری: 548672589:ᴹᴵˢˢ_°]_ᴘAɴɪZ_[emoji257]:@Kiribalabsh 572477965:مهلا: 553783329:پری_بلا: 562625619:[emoji347][emoji347][emoji347][emoji347]: 153687057:مـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٗ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖٖٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖاریٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖا:@Marya4543 609050031:علی_چ: 578124362:fatiw: 506890034:بــًٍٍٍٍََٰٓٓٓٓ[emoji260]ـ✿͜͡ـٰٰٖٖٖـ͜͡ـًٍٍٍٍََٰٓٓٓٓ[emoji260]ـاراڹ: 616728122:Jenifer_Azpas: 199873849:˙·٠•●[emoji813]parsa[emoji813]●•٠·˙:@Parsa0910 486623510:Shima: -1001117839287::#[emoji32]مجرد.متاهل[emoji41] 597030127:سارا_جون: 451492143:baran_jigal__p: 456904349:raha: 549546922:nguyen_vuong: 414117966:زندگی_من:@Zendegimantoie 596088474:[S]hahrzad: 552285228:امیر: 616253214:J: 138029853:f_.dr:@foadderakhshani 518874994:Hanane_Joooon[emoji97]:@halapbsbw 104751033:S,,,,A,,,,,,: 598476493:[emoji738]HìLďA[emoji182][emoji160]:@Hilda356 468117087:A:@b2313 559222955:._❯ཱཱཱཱཱིཻིིིིིུ͟͞ᴇཱཱཱཱཱིིིིིཷ̶͕̲͗̅͗ꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོིཻུٜٜٜٓ͟͞ʀ͟͞ཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོིཻུٜٜٜٓғ͟͞ꯨཱཱཱཱཱིོིིིིིٜٜٜٓཷ̶ིཻུ͕̲͗̅͗ᴀ̶ཱཱཱཱཱིིིིི͕̲͗̅͗͟͞ཷꯨིོིཻུٜٜٜٓɴꯨ̶ིོٜٜٜ͕̲ٓ͗̅͗ཷཷཱཱཱཱཱིིིིིིཻུ͟͞ᴘ̶ིཻུ͕̲͗̅͗͟͞ཷཱཱཱཱཱིིིིིꯨིོٜٜٜٓʜིཻུཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོٜٜٜٓ͟͞ᴘ̶͕̲͗̅͗͟͞❮: 593848413:Anahita_Amanda: 614867611:پریناز: 553336885:انتظار_.: 564146229:._꧁͟͞ᬼ᜴͟͞͞ᴍ꙱̶͟͞⃟ᬼ̶᜴͟͞ɪ̶͟͞꙱ᬼ⃟̶᜴͟͞s̶͟͞꙱ᬼ̶᜴͟͞⃟s̶꙱͟͞ᬼ⃟̶᜴͟͞ᴢ̶͟͞꙱ᬼ⃟̶᜴͟͞ᴏ꙱̶͟͞ᬼ⃟̶᜴͟͞ʜ͟͞꙱̶ᬼ̶᜴͟͞⃟ʀ̶꙱͟͞ᬼ̶᜴͟͞⃟ᴇ꙱̶̶͟͞ᬼ̶͟͞꧂_.: 608070144:roya_bqr:@royabqr 501424409:[emoji166]ⓈɦⓔЯMⓘŋム[emoji166]:@Shermina56 496478995:فرزاد_طهماسبی: 587152496:Mitra27: 562953384:Maryam: 567597636:sheyda_elh:@sheydaelh 616907148:nazi: 277192267:Stefan_Riese: 469219224:✾بـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـ℘ـʘ͜͡ـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـنـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـاز✾: 485714081:dorsa: 610464109:نرگس_قلی_نژاد: 460341108:کورد:@artabchi5 526118033:❀⇚〖๓๑вïทα〗⇛✿: 579497109:Paria[emoji55]:@paoejwiw 617302963:tina: 603948663:同床: 511101143:jeiran_vafaei:@JEIRANVAFAEI 683560846:P: 560012419:mahbobeh__-): 554561110:عاطفه: 543348269:[emoji168][emoji168]رویا_جووون[emoji126]: 514683036:رها_سکسی: 606463386:khanoom_ghasemi:@khanoomghasemi:
Aktuell nutze ich Telegram nur zum Benachrichtigen und nicht zum Steuern.
Hast du deinen Bot richtig abgesichert?
Grüße Schnitzelbrain
Zitat von: schnitzelbrain am 14 Juli 2018, 11:39:40
Hast du deinen Bot richtig abgesichert?
Grüße Schnitzelbrain
Sorry bin unterwegs und kann mit Tapatalk anscheinend nicht meine posts bearbeiten.
Ich meinte die absicherung in FHEM, schau dir mal die Wiki für den TelegrammBot in FHEM an. Betreff known peers. Und add unknown peers.
Und in den Einstellungen bei Telegramm selbst betreffend.
/setjoingroups — toggle whether your bot can be added to groups or not. Any bot must be able to process private messages, but if your bot was not designed to work in groups, you can disable this.
/setprivacy — set which messages your bot will receive when added to a group. With privacy mode disabled, the bot will receive all messages. We recommend leaving privacy mode enabled.
Grüße Schnitzelbrain
Zitat von: gloob am 14 Juli 2018, 11:23:34
Hat jemand eine Idee, wo folgende Einträge im Log herkommen, bzw was man dagegen machen kann?
2018.07.14 11:17:20 2: TelegramBot_ContactUpdate Updated Contact list :460341108:کورد:@artabchi5 526118033:❀⇚〖๓๑вïทα〗⇛✿: 579497109:Paria😶:@paoejwiw 603948663:同床: 617302963:tina: 560012419:mahbobeh__-): 543348269:💄💄رویا_جووون💃: 554561110:عاطفه: 514683036:رها_سکسی: 606463386:khanoom_ghasemi:@khanoomghasemi 511101143:jeiran_vafaei:@JEIRANVAFAEI 683560846:P: 559222955:._❯ཱཱཱཱཱིཻིིིིིུ͟͞ᴇཱཱཱཱཱིིིིིཷ̶͕̲͗̅͗ꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོིཻུٜٜٜٓ͟͞ʀ͟͞ཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོིཻུٜٜٜٓғ͟͞ꯨཱཱཱཱཱིོིིིིིٜٜٜٓཷ̶ིཻུ͕̲͗̅͗ᴀ̶ཱཱཱཱཱིིིིི͕̲͗̅͗͟͞ཷꯨིོིཻུٜٜٜٓɴꯨ̶ིོٜٜٜ͕̲ٓ͗̅͗ཷཷཱཱཱཱཱིིིིིིཻུ͟͞ᴘ̶ིཻུ͕̲͗̅͗͟͞ཷཱཱཱཱཱིིིིིꯨིོٜٜٜٓʜིཻུཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོٜٜٜٓ͟͞ᴘ̶͕̲͗̅͗͟͞❮: 593848413:Anahita_Amanda: 614867611:پریناز: 553336885:انتظار_.: 564146229:._꧁͟͞ᬼ᜴͟͞͞ᴍ꙱̶͟͞⃟ᬼ̶᜴͟͞ɪ̶͟͞꙱ᬼ⃟̶᜴͟͞s̶͟͞꙱ᬼ̶᜴͟͞⃟s̶꙱͟͞ᬼ⃟̶᜴͟͞ᴢ̶͟͞꙱ᬼ⃟̶᜴͟͞ᴏ꙱̶͟͞ᬼ⃟̶᜴͟͞ʜ͟͞꙱̶ᬼ̶᜴͟͞⃟ʀ̶꙱͟͞ᬼ̶᜴͟͞⃟ᴇ꙱̶̶͟͞ᬼ̶͟͞꧂_.: 608070144:roya_bqr:@royabqr 501424409:🎀ⓈɦⓔЯMⓘŋム🎀:@Shermina56 552285228:امیر: 138029853:f_.dr:@foadderakhshani 518874994:Hanane_Joooon💦:@halapbsbw 104751033:S,,,,A,,,,,,: 468117087:A:@b2313 598476493:💟HìLďA💋👙:@Hilda356 277192267:Stefan_Riese: 469219224:✾بـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـ℘ـʘ͜͡ـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـنـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـاز✾: 485714081:dorsa: 610464109:نرگس_قلی_نژاد: 496478995:فرزاد_طهماسبی: 587152496:Mitra27: 562953384:Maryam: 567597636:sheyda_elh:@sheydaelh 616907148:nazi: 609050031:علی_چ: 562625619:🔇🔇🔇🔇: 153687057:مـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٗ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖٖٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖاریٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖا:@Marya4543 578124362:fatiw: 506890034:بــًٍٍٍٍََٰٓٓٓٓ🍁ـ✿͜͡ـٰٰٖٖٖـ͜͡ـًٍٍٍٍََٰٓٓٓٓ🍁ـاراڹ: 616728122:Jenifer_Azpas: 199873849:˙·٠•●♥parsa♥●•٠·˙:@Parsa0910 548672589:ᴹᴵˢˢ_°]_ᴘAɴɪZ_🌹:@Kiribalabsh 553783329:پری_بلا: 572477965:مهلا: 414117966:زندگی_من:@Zendegimantoie 596088474:[S]hahrzad: 456904349:raha: 549546922:nguyen_vuong: 486623510:Shima: -1001117839287::#😨مجرد.متاهل😎 597030127:سارا_جون: 451492143:baran_jigal__p: 561238577:💞Marjan💞: 556910132:Hamide_Mosavi: 545472323:nazi: 604029287:maryam_jooon: 614637756:Mitra37: 98946506:ʄǟʄǟա:@miss_sshhp 361597102:❄🔥🔱شاه_حسن🔱🔥❄:@Hassan_Tak_Del 611377849:Sᴀᴀᴅ✯ᴛiᴢᴇr🇱🇰:@dmghc 561220830:Shiva: 418866373:Saeed_Honarmand:@S_h_1365 510925868:اسمان_اذری: 556206987:Aida: 525216467:negen::
2018.07.14 11:17:46 2: TelegramBot_ContactUpdate Updated Contact list :361597102:❄🔥🔱شاه_حسن🔱🔥❄:@Hassan_Tak_Del 611377849:Sᴀᴀᴅ✯ᴛiᴢᴇr🇱🇰:@dmghc 561238577:💞Marjan💞: 556910132:Hamide_Mosavi: 604029287:maryam_jooon: 614637756:Mitra37: 545472323:nazi: 98946506:ʄǟʄǟա:@miss_sshhp 556206987:Aida: 525216467:negen: 561220830:Shiva: 418866373:Saeed_Honarmand:@S_h_1365 510925868:اسمان_اذری: 548672589:ᴹᴵˢˢ_°]_ᴘAɴɪZ_🌹:@Kiribalabsh 572477965:مهلا: 553783329:پری_بلا: 562625619:🔇🔇🔇🔇: 153687057:مـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٗ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖـٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖٖٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖاریٰٰٰٰٰٰٰٰٰٰٰٰٖٖٖٖٖٖٖٖٖٖٗـٰٰٰٖ៚ـٰٰٰٰٰٰٰٖٖٖٖٖٖٖا:@Marya4543 609050031:علی_چ: 578124362:fatiw: 506890034:بــًٍٍٍٍََٰٓٓٓٓ🍁ـ✿͜͡ـٰٰٖٖٖـ͜͡ـًٍٍٍٍََٰٓٓٓٓ🍁ـاراڹ: 616728122:Jenifer_Azpas: 199873849:˙·٠•●♥parsa♥●•٠·˙:@Parsa0910 486623510:Shima: -1001117839287::#😨مجرد.متاهل😎 597030127:سارا_جون: 451492143:baran_jigal__p: 456904349:raha: 549546922:nguyen_vuong: 414117966:زندگی_من:@Zendegimantoie 596088474:[S]hahrzad: 552285228:امیر: 616253214:J: 138029853:f_.dr:@foadderakhshani 518874994:Hanane_Joooon💦:@halapbsbw 104751033:S,,,,A,,,,,,: 598476493:💟HìLďA💋👙:@Hilda356 468117087:A:@b2313 559222955:._❯ཱཱཱཱཱིཻིིིིིུ͟͞ᴇཱཱཱཱཱིིིིིཷ̶͕̲͗̅͗ꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོٜٜٜٓꯨིོིཻུٜٜٜٓ͟͞ʀ͟͞ཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོིཻུٜٜٜٓғ͟͞ꯨཱཱཱཱཱིོིིིིིٜٜٜٓཷ̶ིཻུ͕̲͗̅͗ᴀ̶ཱཱཱཱཱིིིིི͕̲͗̅͗͟͞ཷꯨིོིཻུٜٜٜٓɴꯨ̶ིོٜٜٜ͕̲ٓ͗̅͗ཷཷཱཱཱཱཱིིིིིིཻུ͟͞ᴘ̶ིཻུ͕̲͗̅͗͟͞ཷཱཱཱཱཱིིིིིꯨིོٜٜٜٓʜིཻུཷ̶ཱཱཱཱཱིིིིི͕̲͗̅͗ꯨིོٜٜٜٓ͟͞ᴘ̶͕̲͗̅͗͟͞❮: 593848413:Anahita_Amanda: 614867611:پریناز: 553336885:انتظار_.: 564146229:._꧁͟͞ᬼ᜴͟͞͞ᴍ꙱̶͟͞⃟ᬼ̶᜴͟͞ɪ̶͟͞꙱ᬼ⃟̶᜴͟͞s̶͟͞꙱ᬼ̶᜴͟͞⃟s̶꙱͟͞ᬼ⃟̶᜴͟͞ᴢ̶͟͞꙱ᬼ⃟̶᜴͟͞ᴏ꙱̶͟͞ᬼ⃟̶᜴͟͞ʜ͟͞꙱̶ᬼ̶᜴͟͞⃟ʀ̶꙱͟͞ᬼ̶᜴͟͞⃟ᴇ꙱̶̶͟͞ᬼ̶͟͞꧂_.: 608070144:roya_bqr:@royabqr 501424409:🎀ⓈɦⓔЯMⓘŋム🎀:@Shermina56 496478995:فرزاد_طهماسبی: 587152496:Mitra27: 562953384:Maryam: 567597636:sheyda_elh:@sheydaelh 616907148:nazi: 277192267:Stefan_Riese: 469219224:✾بـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـ℘ـʘ͜͡ـٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـنـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِــٍٍٍٍٰٰٖٖۘۘ͜͡ـٍٰٖٖٖٖۘۘۘـَُُِِـاز✾: 485714081:dorsa: 610464109:نرگس_قلی_نژاد: 460341108:کورد:@artabchi5 526118033:❀⇚〖๓๑вïทα〗⇛✿: 579497109:Paria😶:@paoejwiw 617302963:tina: 603948663:同床: 511101143:jeiran_vafaei:@JEIRANVAFAEI 683560846:P: 560012419:mahbobeh__-): 554561110:عاطفه: 543348269:💄💄رویا_جووون💃: 514683036:رها_سکسی: 606463386:khanoom_ghasemi:@khanoomghasemi:
Aktuell nutze ich Telegram nur zum Benachrichtigen und nicht zum Steuern.
Die Einträge sagen aus, dass neue (oder veränderte) Kontakte Deinen Bot angeschrieben haben. Das lässt sich auch nicht verhindern, denn die Bots sind in Telegram sichtbar und können kontaktiert werden.
Wenn Du diese Einträge im log (und in der Kontaktliste vom telegrambot in FHEM) nbicht haben möchtest empfiehlt es sich das attribut:
allowUnknownContacts auf 0 zu setzen. Um die Kontaktlist aufzuräumen kannst Du mit set ...
replaceContacts diese neu setzen.
unterstützt telegrambot end-2-end Verschlüsselung? Falls ja, was muss ich tun um verschlüsselte Nachrichten (inkl. Bilf) zu senden?
@FhemPiUser: Das Bot-API von Telegram unterstützt momentan keine End-2-End-Verschlüsselung und ich vermute, dass das auch eher nicht umgesetzt wird. Damit wird das für das FHEM-Modul auch eher nicht möglich sein. Das API setzt heute gerade darauf, dass die Server von Telegram die komplexen Teile Kommunikation abhandeln
ok, verstehe. schade. ich kam beim lesen des heise artikels https://www.heise.de/security/meldung/Smartphone-Messenger-Weltweiter-Telegram-Traffic-in-den-Iran-umgeleitet-4123900.html (https://www.heise.de/security/meldung/Smartphone-Messenger-Weltweiter-Telegram-Traffic-in-den-Iran-umgeleitet-4123900.html) darauf, dass end-2-end verschlüsselung schon besser wäre...
ich dachte die api kann es (siehe https://core.telegram.org/api/end-to-end (https://core.telegram.org/api/end-to-end)), aber das ist ja leider nicht die bot api. es gibt aber wohl eine bot payments api (https://core.telegram.org/bots/payments (https://core.telegram.org/bots/payments)). ginge es mit der?
finde dein fhem modul echt klasse, vielen dank für die entwicklung!
Zitat von: FhemPiUser am 02 August 2018, 21:33:11
ich dachte die api kann es (siehe https://core.telegram.org/api/end-to-end (https://core.telegram.org/api/end-to-end)), aber das ist ja leider nicht die bot api. es gibt aber wohl eine bot payments api (https://core.telegram.org/bots/payments (https://core.telegram.org/bots/payments)). ginge es mit der?
Auf den ersten blick scheint mir das payment api dafür auch keine möglichkeit zu sein um eine bedienbare e2e verschlüsselung zu bauen. Das passport api scheint da mehr zu bieten, aber auch das wäre irgendwie wohl nicht wirklich gut einsetzbar. Ich bin aber nicht tief eingestiegen bisher.
Es gibt aber offensichtlich schritte in die richtige richtung vielleicht kommt bald ja doch wirkliche end2end verschlüsselung
Zitat von: viegener am 13 Juni 2018, 13:26:08
@Dia81: Du sendest ja in Deinen notifies an beide Benutzer und nicht an den ursprünglich Anfragenden. Du solltest hier nicht die festen Benutzernamen eintragen sondern diese aus dem Reading(queryPeerId) lesen. Das kann ja das Modul nicht übernehmen, da Du ja immer beide Benutzer angibst.
Wichtig (!!!): Du solltest unbedingt eine Überprüfung der ID durchführen auf Berechtigung wenn Du nicht willst, dass jeder der Deinen Bot kontaktieren kann auch Deine Hausautomatisierung steuern kann.
Das stimmt aber wie ändere ich das, dass nur der Anfragende die anefordeten Anzeigen bekommt. Raff gerade nicht wie ich das Codetechnisch ändern müsste in Zusammenhang mit queryPeerID
Steht im Wiki zu notify(Und Verknüpfung z.B). Ansonsten beschäftige dich mit msgDialog! Da geht das recht Simpel!
Grüße
Zitat von: Esjay am 09 August 2018, 17:32:02
Steht im Wiki zu notify(Und Verknüpfung z.B). Ansonsten beschäftige dich mit msgDialog! Da geht das recht Simpel!
Grüße
Ich glaube es ist noch viel simpler oder?
Wenn ich das
send msg @Person1 @ PErson2
ersetze durch
set Telegram msg @[teleBot:msgPeer] test
und schon kriegt nur der "Absender" den Response
Hallo Leute
Könnte jemand mir vielleicht jemand sagen wo ich meinen Fehler habe??
Ich kann ihn nicht finden.
Internals:
FAILS 0
NAME StefanTelegram
NR 109
OLD_POLLING 161
POLLING 161
SNAME StefanTelegram
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me 6160445:Middorf:@MidderfBot
offset_id 40258785
sentLastResult SUCCESS
sentMsgId 89
sentMsgOptions
sentMsgPeer Stefan
sentMsgPeerId 6803950
sentMsgResult SUCCESS
sentMsgText TelegramBot FHEM - Befehl:[Esszimmer Licht]=set Brennstuhl_C off: - Ergebnis:\nUnknown command [Esszimmer, try help.
AliasCmds:
Contacts:
680783950 683950:Stefan:
HU_DO_PARAMS:
NAME
addr https://api.telegram.org:443
auth 0
boundary TelegramBot_boundary-x0123
buf
code 200
compress 1
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Sun, 12 Aug 2018 11:21:03 GMT
Content-Type: application/json
Content-Length: 337
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
hu_blocking 0
hu_filecount 20
hu_port 443
hu_portSfx
loglevel 4
method POST
path /bot616080445:Ag4EW3kcE/sendMessage
protocol https
redirects 0
ZloIg4EW3kcE/sendMessage
args:
680783950
TelegramBot FHEM - Befehl:[Esszimmer Licht]=set Brennstuhl_C off: - Ergebnis:\nUnknown command [Esszimmer, try help.
undef
0
undef
undef
1
hash:
sslargs:
HU_UPD_PARAMS:
FD 5
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 1021
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset 402538785
path /bot616080445:AAFUTnCGnEW3kcE/getUpdates?offset=402538785&limit=5&timeout=120
protocol https
redirects 0
timeout 245
url mXZloIg4EW3kcE/getUpdates?offset=402538785&limit=5&timeout=120
hash:
sslargs:
READINGS:
2018-07-22 01:04:30 Contacts 6807:Stefan:
2018-08-12 03:13:41 PollingErrCount 2
2018-08-12 03:13:41 PollingLastError Callback returned error :Bad Gateway:
2018-08-12 13:10:46 StoredCommands Fhem set Brennstuhl_A on
Fhem set Brennstuhl_A off
Fhem set ZWave_SENSOR_NOTIFICATION_3:temperature
Fhem ReadingVal ZWave_SENSOR_NOTIFICATION_3:temperature
Fhem set reading ZWave_SENSOR_NOTIFICATION_3:temperature
Fhem
Fhem set Brennstuhl_C on
2018-08-12 13:21:03 msgChat Stefan
2018-08-12 13:21:03 msgChatId 680783950
2018-08-12 13:21:03 msgFileId
2018-08-12 13:21:03 msgId 88
2018-08-12 13:21:03 msgPeer Stefan
2018-08-12 13:21:03 msgPeerId 680783950
2018-08-12 13:21:03 msgReplyMsgId
2018-08-12 13:21:03 msgText kurz3 = [Esszimmer Licht]=set Brennstuhl_C off
2018-08-12 13:21:03 prevMsgChat Stefan
2018-08-12 13:21:03 prevMsgFileId
2018-08-12 13:21:03 prevMsgId 86
2018-08-12 13:21:03 prevMsgPeer Stefan
2018-08-12 13:21:03 prevMsgPeerId 680783950
2018-08-12 13:21:03 prevMsgReplyMsgId
2018-08-12 13:21:03 prevMsgText kurz
2018-08-12 13:21:03 sentMsgId 89
2018-08-12 13:21:03 sentMsgPeerId 680783950
2018-08-12 13:21:03 sentMsgResult SUCCESS
inlinechats:
sentQueue:
Attributes:
cmdFavorites kurz
cmdKeyword Fhem
favorites [Garagentor]=set IT_0FF000000F on;[Esszimmer Licht]=set Brennstuhl_C on;[Esszimmer Licht]=set Brennstuhl_C off
pollingTimeout 120
room Nachrichten
wenn ich bei mir den befehl Fhem Brennstuhl_C off/on eingebe wird der Befehl ausgeführt. Wenn ich aber kurz eingebe und dann über die Favoriten gehe bekomme ich eine Fehlermeldung. Weiß einer voran das liegt? Danke schon mal im vorraus
Ich dachte, die Favoriten müssen vom Namen her eineindeutig sein, sehe hier aber zwei Mal '[Esszimmer Licht]'...
Peter
@Wasserwerk33: Wenn Beschreibungen oder Aliase für Favoriten gegeben werden, muss der Favorit mit / eingeleitet werden. Also probier doch mal:
/[Garagentor]=set IT_0FF000000F on; /[Esszimmer Licht]=set Brennstuhl_C on; /[Esszimmer Licht]=set Brennstuhl_C off
@viegener
Danke es klappt super danke für die Hilfe.
Hallo zusammen,
ich baue momentan eine Lösung auf, wo ein Raspberry mit Fhem über LTE an einem entfernten Standort ist. Hier möchte ich gerne soweit wie möglich Daten reduzieren, um einen kleinen Tarif zu nutzen. Für Nachrichten zum empfangen/senden und Fhem etwas zu steuern benutze ich Telegram. Funktioniert tadellos! Mir ist nur aufgefallen, dass die Verbindung zum Bot doch recht viele Daten verbraucht (ca. 20 MB) am Tag ohne den zu nutzen.
Was gibt es dort für Möglichkeiten, außer das Modul in gewissen Zeiten auf Disabled zu setzen?
Das Senden aus Fhem heraus ist mir am wichtigsten. Empfangen von Daten in Fhem, kann auf bestimmte Zeiten reduziert werden.
Vielen Dank für Eure Ideen.
Gruß,
SteRa
was passiert denn, wenn dein Tarif aufgebraucht ist? wird dann gedrosselt oder gekappt?
Falls nur gedrosselt wird wäre das ja alles halb so wild, da die Daten ja trotzdem durchgehen, wenn auch nicht so schnell.
Gruß Michael
@stera: Die grösste (vermeidbare) Datenmenge beim Telegrambot entsteht wohl durch das Polling. Denn auch wenn keine Nachricht ansteht für den Empfang wird doch jedesmal einiges über die Leitung geschickt. Also würde ich im Zeitfenster wenn normalerweise keine Nachrichten anstehen das Intervall z.B. auf 1 h erhöhen. Wenn das Pollingintervall sonst auf 30 sec steht heisst das schonmal 99% der Daten pro Stunde gespart. Beim Senden kannst Du nur durch kleinere Nachrichten wirklich etwas reduzieren.
Ja genau das Suche ich.. Es geht auch gut, wenn man das Modul zwischenzeitlich auf disable stellt, aber die Funktion wäre noch schöner.. Nur wie kann ich den interval bzw. pollen auf 60min stellen? Attrb. steht leider dafür nicht zur Auswahl,nur der timeout oder habe ich was übersehen?
Danke und Gruß SteRa
Zitat von: stera am 10 September 2018, 16:53:34
Ja genau das Suche ich.. Es geht auch gut, wenn man das Modul zwischenzeitlich auf disable stellt, aber die Funktion wäre noch schöner.. Nur wie kann ich den interval bzw. pollen auf 60min stellen? Attrb. steht leider dafür nicht zur Auswahl,nur der timeout oder habe ich was übersehen?
Danke und Gruß SteRa
pollingTimeout ist schon das Attribut, dass hier das Intervall einstellt zu dem ein neuer longpoll stattfindet. Es gab früher eine Einschränkung, bei dem Telegram hier maximal sehr kleine Werte akzeptiert hat. Das ist irgendwann erweitert worden, ich kann Dir aber nicht sagen, ob wirklich 1h möglich ist.
Wenn das nicht reicht, wäre es vermutlich am besten zeitweise über einen Wert 0 das Polling auszuschalten. Senden geht dann weiterhin.
Hi,
kann man eigentlich mit der GEOFENCY APP eigentlich auch über Telegram NAchrichten an FHEM schicken und damit was steuern?
Ich wollte die APP nicht direkt auf FHEM im Heimnetz freischalten.
VG
René
@fireball: Ich kenne leider die Geofency App nicht, deshalb gehört die Frage wohl vielleicht eher in den Geofency-Thread. Grundsätzlich kann durch das Telegram-Modul eigentlich alles in FHEM gesteuert werden. Es muss nur eine entsprechende Nachricht auf dem Telefon generiert werden. Ganz wichtig: Diese Nachricht darf nicht von einem Telegram-Bot gesendet werden, sonst sieht das Modul in FHEM sie nicht (Bots können nicht an Bots senden). Die Nachricht muss also von einem "normalen" Benutzeraccount kommen.
Hallo,
mit der Geofancy App plus Telgram Plugin kannst du was ortsbedingt steuern. Das funktioniert. Allerdings habe ich mit einem S7 und Android 8. öfter das Problem, dass er immer nur das abwesend sendet und nicht wenn man innerhalb der Zone kommt. Dann muss manuell die App und das TelegramPlugin einmal geöffnet werden. Dann geht´s wieder für eine bestimmte Zeit.
@viegener: Das mit langen polltimeout funktioniert leider nicht.. Die Zeit ist doch relativ kurz, wo er Nachrichten empfängt. Ich habe das nun so gelöst, dass ich den Bot abschalte und nur zur gewissen Zeit mal auf mache.. Das reicht mir.
define doif_StartUp DOIF ([global:?INITIALIZED])
(attr XXBot disable 0)
(set XXBot message @StR Raspi: Fhem wurde neu gestartet!)
((defmod at_autocreate1_$SELF at +00:00:50 attr XXBot disable 1;; sleep 5;; save))
DOELSE
Gruß,
SteRa
Hi,
danke für die Antworten, ich hatte mittlerweile auch rausgefunden, dass ich noch dieses EgiGoZone Telegram Plugin benötigte.
Dann konnte ich die Testnachrichten aus dem Plugin senden und das hat funktioniert.
Aber dann ging es immernoch nicht wirklich, den Grund habe ich auch noch rausgefunden, in der EgiGoZone App muss man dann noch den Haken bei "Übermittlung an Plugins erlauben" setzen.
Nun funktioniert es.
VG und Danke!
René
Zitat von: fireball am 23 September 2018, 17:28:59
Hi,
kann man eigentlich mit der GEOFENCY APP eigentlich auch über Telegram NAchrichten an FHEM schicken und damit was steuern?
Ich wollte die APP nicht direkt auf FHEM im Heimnetz freischalten.
VG
René
Ich benutze die Geofancy APP und bin sehr zufrieden damit. Den Webhook von Geofancy, also die Nachrichten an FHEM, lasse ich via https durch mein Reverse Proxy laufen. Der übernimmt dann auch die Authentifizierung.
Grüße
Hallo zusammen
Seit einiger Zeit erhalte ich keine telegram nachrichten mehr, ich habe jetzt viele tage im Forum und imWiki gelesen und probiert, jedoch ohne Erfolg, das ganze wieder herzustellen
Laut Telegram ist der letzte Eintrag der 10.September, leider finde ich aber in meiner Log keinen Hinweis an diesem Tag, wonach ich suchen muss
anbei mal list Device
Internals:
FAILS 0
NAME Telegram0176
NR 2271
OLDFAILS 53
OLD_POLLING 54
POLLING 0
SNAME Telegram0176
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me Failed - see log file for details
sentLastResult NonBlockingGet: returned FAILED peer not found :Falkenxxxx:
sentMsgId
sentMsgOptions
sentMsgPeer
sentMsgPeerId
sentMsgResult NonBlockingGet: returned FAILED peer not found :Falkenxxxx:
AliasCmds:
/ 2
Contacts:
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:
NAME
addr https://api.telegram.org:443
auth 0
buf
code 401
compress 1
conn
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
httpheader HTTP/1.1 401 Unauthorized
Server: nginx/1.12.2
Date: Sun, 21 Oct 2018 13:43:51 GMT
Content-Type: application/json
Content-Length: 58
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
hu_blocking 0
hu_filecount 9
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset 0
path /bot TOKENschlüsse/getUpdates?offset=0&limit=5&timeout=120
protocol https
redirects 0
timeout 245
url https://api.telegram.org/botTokenschlüssel/getUpdates?offset=0&limit=5&timeout=120
hash:
sslargs:
READINGS:
2018-10-21 14:24:32 Contacts
2018-10-21 15:43:44 PollingErrCount 142
2018-10-21 15:43:43 PollingLastError Callback returned error :Unauthorized:
2018-10-06 13:46:20 msgChat م_پ
2018-10-06 13:46:20 msgChatId 172059451
2018-10-06 13:46:20 msgFileId
2018-10-06 13:46:20 msgId 5501
2018-10-06 13:46:20 msgPeer م_پ
2018-10-06 13:46:20 msgPeerId 172059451
2018-10-06 13:46:20 msgReplyMsgId
2018-10-06 13:46:20 msgText /start
2018-10-06 13:46:20 prevMsgChat م_پ
2018-10-06 13:46:20 prevMsgFileId
2018-10-06 13:46:20 prevMsgId 5500
2018-10-06 13:46:20 prevMsgPeer م_پ
2018-10-06 13:46:20 prevMsgPeerId 172059451
2018-10-06 13:46:20 prevMsgReplyMsgId
2018-10-06 13:46:20 prevMsgText /start
2018-10-06 13:46:20 replyId م_پ
2018-10-21 15:43:36 sentMsgId
2018-10-21 15:43:36 sentMsgPeerId
2018-10-21 15:43:36 sentMsgResult NonBlockingGet: returned FAILED peer not found :Falkenxxxx:
inlinechats:
sentQueue:
Attributes:
allowUnknownContacts 1
cmdFavorites /menu
cmdKeyword Heyfhem
cmdReturnEmptyResult 0
defaultPeer @Falkenxxxx
favorites /[abschliessen]=set Schloss lock;/ [Warmwasser aus]=set Buderus WaterDayTemp 30; /[warmwasser an]=set Buderus WaterDayTemp 50;/[Wohnzimmerlicht an]= set WZDeckenleuchte off; /[Wohnzimmerlicht aus]=set WZDeckenleuchte on
pollingTimeout 120
room Telegram
saveStateOnContactChange 1
userReadings replyId:msgText.* {ReadingsVal($name, "msgChat", "") eq "" ? ReadingsVal($name, "msgPeerId", "") : (split(" ", ReadingsVal($name, "msgChat", ""), 2))[0]}
verbose 5
Auszug aus LogDatei
2018.10.21 15:42:43 5: TelegramBot_Callback Telegram0176: called from Polling
2018.10.21 15:42:43 5: TelegramBot_Callback Telegram0176: data returned :{"ok":false,"error_code":401,"description":"Unauthorized"}:
2018.10.21 15:42:43 5: TelegramBot_Deepencode Telegram0176: encoded a String from :401: to :401:
2018.10.21 15:42:43 5: TelegramBot_Deepencode Telegram0176: encoded a String from :Unauthorized: to :Unauthorized:
2018.10.21 15:42:43 5: TelegramBot_Deepencode Telegram0176: encoded a String from :0: to :0:
2018.10.21 15:42:43 5: TelegramBot_Deepencode Telegram0176: found a HASH
2018.10.21 15:42:43 5: TelegramBot_Callback Telegram0176: after encoding
2018.10.21 15:42:43 5: TelegramBot_Callback Telegram0176: polling returned result? <undef>
2018.10.21 15:42:43 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:42:43 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:42:44 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:42:44 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:42:44 5: TelegramBot_UpdatePoll Telegram0176: called
2018.10.21 15:42:44 5: TelegramBot_UpdatePoll Telegram0176: got fails :52: wait 54 seconds
2018.10.21 15:42:44 4: TelegramBot_Callback Telegram0176: resulted in Callback returned error :Unauthorized: from Polling
2018.10.21 15:42:44 5: TelegramBot_Callback Telegram0176: - Ende > Control back to FHEM
2018.10.21 15:42:48 3: TempSZ: IF: unknown reading: Thermometer:temperatured
2018.10.21 15:43:05 1: Timeout for MilightBridge_DoPing reached, terminated process 6422
2018.10.21 15:43:05 3: BlockingCall for milight was aborted
2018.10.21 15:43:13 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:17 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:17 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:17 5: TelegramBot_Get Telegram0176: called
2018.10.21 15:43:36 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:36 4: TelegramBot_Set Telegram0176: Processing TelegramBot_Set( message )
2018.10.21 15:43:36 5: TelegramBot_Set Telegram0176: start send for cmd :message: and sendType :0:
2018.10.21 15:43:36 5: TelegramBot_SendIt Telegram0176: called
2018.10.21 15:43:36 5: TelegramBot_SendIt Telegram0176: try to send message to :Falkenxxxx: -:bla bla: - add :<undef>: - replyid :<undef>:: options ::
2018.10.21 15:43:36 4: TelegramBot_GetFullnameForContact # Contacts is <undef>
2018.10.21 15:43:36 3: TelegramBot_SendIt Telegram0176: Failed with :FAILED peer not found :Falkenxxxx::
2018.10.21 15:43:36 5: TelegramBot_Callback Telegram0176: called from SendIt
2018.10.21 15:43:36 3: TelegramBot_Callback Telegram0176: resulted in NonBlockingGet: returned FAILED peer not found :Falkenxxxx: from SendIt
2018.10.21 15:43:36 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:36 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:36 5: TelegramBot_Callback Telegram0176: - Ende > Control back to FHEM
2018.10.21 15:43:36 5: TelegramBot_Set Telegram0176: message failed with :FAILED peer not found :Falkenxxxx::
2018.10.21 15:43:38 5: TelegramBot_UpdatePoll Telegram0176: called
2018.10.21 15:43:38 5: TelegramBot_UpdatePoll Telegram0176: - Initiate non blocking polling - With callback set
2018.10.21 15:43:38 5: TelegramBot_readToken: Read Telegram API token from file
2018.10.21 15:43:38 4: TelegramBot_UpdatePoll Telegram0176: initiate polling with nonblockingGet with 120s
2018.10.21 15:43:38 5: TelegramBot_UpdatePoll Telegram0176: - Ende > next polling started
2018.10.21 15:43:43 5: TelegramBot_Callback Telegram0176: called from Polling
2018.10.21 15:43:43 5: TelegramBot_Callback Telegram0176: data returned :{"ok":false,"error_code":401,"description":"Unauthorized"}:
2018.10.21 15:43:43 5: TelegramBot_Deepencode Telegram0176: encoded a String from :Unauthorized: to :Unauthorized:
2018.10.21 15:43:43 5: TelegramBot_Deepencode Telegram0176: encoded a String from :401: to :401:
2018.10.21 15:43:43 5: TelegramBot_Deepencode Telegram0176: encoded a String from :0: to :0:
2018.10.21 15:43:43 5: TelegramBot_Deepencode Telegram0176: found a HASH
2018.10.21 15:43:43 5: TelegramBot_Callback Telegram0176: after encoding
2018.10.21 15:43:43 5: TelegramBot_Callback Telegram0176: polling returned result? <undef>
2018.10.21 15:43:44 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:44 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:44 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:44 5: TelegramBot_Set Telegram0176: called
2018.10.21 15:43:44 5: TelegramBot_UpdatePoll Telegram0176: called
2018.10.21 15:43:44 5: TelegramBot_UpdatePoll Telegram0176: got fails :53: wait 55 seconds
2018.10.21 15:43:44 4: TelegramBot_Callback Telegram0176: resulted in Callback returned error :Unauthorized: from Polling
2018.10.21 15:43:44 5: TelegramBot_Callback Telegram0176: - Ende > Control back to FHEM
Da ich weder im Handy noch in der FHEM Telegram einstellung etwas geändert hatte, weiis ich keinen Ansatz, woher dieses Unauthorized herrühren kann
ich freue mich über jede Hilfestellung, da ich mit meinem Mini wissen, nicht mehr weiter komme
Vielen Dank im voraus
VG Tagedieb
Hallo tagedieb,
ich würde als erstes mal diese Beiträge: "« Antwort #1950 am: 01 Juni 2018, 13:29:35 »" ff.
https://forum.fhem.de/index.php/topic,38328.1950.html
lesen und prüfen, ob mir mein Bot überhaupt noch gehört. (-> Token überprüfen, ob vllt. ein Fremder eingedrungen ist? + Token ändern !unbedingt!)
Zu deiner eigenen Sicherheit würde ich meinen Post hier "Autor: tagedieb « am: Heute um 16:00:42 »" bearbeiten und sicherheitsrelevante :
<attr> <device> <allowUnknownContacts> / <cmdKeyword> / <favorites> unkenntlich machen.
Vllt. hilft dir das schon weiter. :)
mfG Stefan
Ja, und im BotFather Chat prüfen, dass die APIkey mit deinem "Tokenschlüssel" stimmt.
@tagedieb,
ach ja und auf jeden Fall folgendes setzen:
attr <device> allowUnknownContacts 0
das hilft in Zukunft gegen Eindringlinge. ;)
@tagedieb: Offensichtlich versucht jemand mit Deinem Bot zu reden. Das ist nicht unbedingt kritisch, denn die Bots sind ja bei Telegram über die Suche zu finden und jemand versucht rauszufinden, ob man mit Deinem Bot reden kann.
Im Listing scheint es aber so, dass Dein Attribut Contacts leer ist. Damit kann die Namensaufläsung für den defaultpeer nicht funktionieren.
Also am besten 2 Dinge tun:
1) Eine Nachricht an Deinen Bot senden von dem default peer account - damit sollte der Account wieder in Contacts erscheinen (und nach einem Save auch dort verbleiben)
2) Den Defaultpeer von Name (@...) auf die Contact ID umstellen (generell sollte eher mit IDs gearbeitet werden)
Warum die Kontakte leer sind, kann ich nicht sagen, das solltest Du beobachten.
Wenn das geht, gehört Dir der Bot auf jeden Fall noch und auch dasa Senden sollte gehen. Wenn es nicht geht, musst Du wie schon empfohlen, das token neu zu genereieren und im device ablegen.
Hallo, habe auf die neueste FHEM Version Featurelevel: 5.9 geupdated. Aktuell Funkt mein TelegramBot nicht mehr. Liegts an mir oder hat noch jemand das Problem?
Edit: Erledigt. https://forum.fhem.de/index.php?topic=68382.0 replacecontacts hat geholfen. Die Readings waren wohl weg.
Zitat von: Adriano am 25 Oktober 2018, 16:50:16
Hallo, habe auf die neueste FHEM Version Featurelevel: 5.9 geupdated. Aktuell Funkt mein TelegramBot nicht mehr. Liegts an mir oder hat noch jemand das Problem?
Bin seit einiger Zeit auf 5.9 ohne Probleme: Telegram funktioniert...
EDIT: letzter Update vor ca. zwei Wochen...
Gruß, Joachim
Wie gesagt, das contacts reading war weg. replacecontacts und alles wieder gut.
Bei mir das gleiche: Nach Update sind die Contacts weg. Was genau muss man machen um das zu fixen?
Edit: Okay, in einem Backup das Reading gefunden und mit replacecontacts den Wert einfach wieder gesetzt.
@prodigy7, Adriano: Habt Ihr eine Erklärung, warum die Readings bei Euch verschwunden sind? Wenn es hier ein systematisches Problem gibt, würde ich das gerne lösen.
Servus. Nutze erfolgreich Telegram als Info Tool im Haus und mit einer Menüsteuerung. Wenn es klingelt sendet mir Telegram ein Tür Screenshot als Image und Uhrzeit und Datum als Text . Soweit so gut. Jetzt bekomme ich wegen den 2 befehlen (einmal Sendmsg und ein mal Sendimage) natürlich immer 2 Nachrichten wenn es klingelt. Gibt es hier die Chance das do zu vereinfachen dass nur eine Message kommt mit Text Absatz Bild? Würde das ganze sehr übersichtlicher gestalten :) Danke für Hilfen Ideen oder Anregungen :)
Zitat von: viegener am 05 November 2018, 18:29:09
@prodigy7, Adriano: Habt Ihr eine Erklärung, warum die Readings bei Euch verschwunden sind? Wenn es hier ein systematisches Problem gibt, würde ich das gerne lösen.
Leider Nein! Es ist mir auch erst aufgefallen, als ich mit programmierten Kommandos eine Aktion auslösen wollte und die nicht angenommen wurde. Die Benachrichtigung, das was am meisten genutzt wird, hat ja weiterhin funktioniert. Zwischen Upgrade und Auffallen des Fehlers lag bestimmt so eine Woche, so dass ich nicht mehr wirklich etwas rekonstruieren oder einkreisen kann,
Hallo,
irgendwie stehe ich grad (mächtig) auf dem Schlauch.
Ich bin gerade dabei meine "Verkehrsdaten-Versendung" umzubauen und dabei habe ich ein Problem:
in einem Reading bei GoogleTraffic stehen verschiedene alternative Wege drin.
Die lese ich aus, klappt.
Mittels split (die Alternativen sind Komma getrennt) habe ich sie dann in einem Array, klappt.
So nun kommt's:
ich baue mir meine Nachricht wie folgt zusammen:
@Alternatives = split(",", ReadingsVal($Name, "alternatives", "n.a."));
$Message = "Delays: " . ReadingsNum($NameP1, "delay", 0) . ", " . ReadingsNum($NameP2, "delay", 0) . ", " . ReadingsNum($NameP3, "delay", 0) . "\n";
$Message .= $ActDelayCalc . " vs. " . $ActDelay . "\n";
$Message .= $Alternatives[0];
Schicke ich die Nachricht habe ich folgendes im Log:
2018.11.19 12:38:32 1: my_SendTraffic_new Message: Delays: 0, 0, 0
0 vs. 0
Südwesttangente - 26 mins.
2018.11.19 12:39:03 3: TelegramBot_Callback MadMaxFhemBot: resulted in NonBlockingGet timed out on read from <hidden> after 30s from SendIt
Gut irgendwie habe/hatte ich das 'ü' in Verdacht was auch das Problem irgendwie zu sein scheint...
...ABER:
folgendes geht:
@Alternatives = split(",", ReadingsVal($Name, "alternatives", "n.a."));
$Message = "Delays: " . ReadingsNum($NameP1, "delay", 0) . ", " . ReadingsNum($NameP2, "delay", 0) . ", " . ReadingsNum($NameP3, "delay", 0) . "\n";
$Message .= $ActDelayCalc . " vs. " . $ActDelay . "\n";
$Message .= "Südwesttangente - 27 mins";
und folgendes auch
@Alternatives = split(",", ReadingsVal($Name, "alternatives", "n.a."));
$Alternative = "Südwesttangente - 27 mins";
$Message = "Delays: " . ReadingsNum($NameP1, "delay", 0) . ", " . ReadingsNum($NameP2, "delay", 0) . ", " . ReadingsNum($NameP3, "delay", 0) . "\n";
$Message .= $ActDelayCalc . " vs. " . $ActDelay . "\n";
$Message .= $Alternative;
und das auch
@Alternatives = split(",", ReadingsVal($Name, "alternatives", "n.a."));
$Message = "Delays: " . ReadingsNum($NameP1, "delay", 0) . ", " . ReadingsNum($NameP2, "delay", 0) . ", " . ReadingsNum($NameP3, "delay", 0) . "\n";
$Message .= $ActDelayCalc . " vs. " . $ActDelay . "\n";
$Message .= urlEncode($Alternatives[0]);
aber es kommt nat als "encoded" Text an, also das 'ü' (klar) und auch die Leerzeichen und alles...
...also so ist es dann "unlesbar"...
Jetzt die Frage:
was muss ich da tun, damit ich den Inhalt vom Array ($Alternatives[0]) in der Nachricht verschickt bekomme.
Und wie geschrieben: den identischen Text direkt (hard coded) dranhängen und schicken geht.
Und auch wenn ich den identischen Text vorher einer Variablen zuweise geht es...
Ich habe auch schon versucht das ganze in "" zu packen (also "$Alternatives[0]") und auch erst einer Variablen zuzuweisen und das dann dran zu hängen...
Alles ohne Erfolg... :-|
EDIT: nehme ich $Alternatives[1] (wo "A73 - 33 mins" drin steht) geht es auch...
EDIT2: habe es eben noch mal getestet (locale umgestellt auf de_utf8 hat auf meinem Testsystem schon das eine oder andere "behoben" / leider hier nicht) und bekomme vor dem geposteten Fehler/Eintrag noch Ausgaben von HTTPUtils:
2018.11.19 18:50:54 1: PERL WARNING: substr outside of string at FHEM/HttpUtils.pm line 611.
2018.11.19 18:50:54 1: PERL WARNING: Use of uninitialized value $data in numeric eq (==) at FHEM/HttpUtils.pm line 612.
2018.11.19 18:51:24 3: TelegramBot_Callback MadMaxFhemBot: resulted in NonBlockingGet timed out on read from <hidden> after 30s from SendIt
2018.11.19 18:51:24 3: TelegramBot_Callback MadMaxFhemBot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg 215671167 : Delays: 0, 0, 0
0 vs. 0
Südwesttangente - 26 mins
EDIT3: GELÖST! :) also so geht's:
$Message .= encode("iso-8859-1", $Alternatives[0]);
Vielen Dank schon mal, Joachim
Zitat von: Dia81 am 05 November 2018, 22:36:53
Servus. Nutze erfolgreich Telegram als Info Tool im Haus und mit einer Menüsteuerung. Wenn es klingelt sendet mir Telegram ein Tür Screenshot als Image und Uhrzeit und Datum als Text . Soweit so gut. Jetzt bekomme ich wegen den 2 befehlen (einmal Sendmsg und ein mal Sendimage) natürlich immer 2 Nachrichten wenn es klingelt. Gibt es hier die Chance das do zu vereinfachen dass nur eine Message kommt mit Text Absatz Bild? Würde das ganze sehr übersichtlicher gestalten :) Danke für Hilfen Ideen oder Anregungen :)
Ruft das Bild ab im gespeicherten Pfad und setzt den Text direkt ans Bild ran. Damit hast du 1 Nachricht!
fhem ("set HomeBot sendImage \@xxxxxx /media/public/Snapshots/Wohnzimmer_aktuell.jpg Snapshot Wohnzimmer aktuell!");
Vg denny
Hallo zusammen,
ich habe hier einen Fall von:
Zitat
HttpUtils: <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first
es hilft nur polling auf 0 wie auf Seite 107 in diesem Thread beschrieben, gibt es mittlerweile mehr Information woran das liegt?
Gruß
Zitat von: rohlande am 26 November 2018, 21:20:10
Ruft das Bild ab im gespeicherten Pfad und setzt den Text direkt ans Bild ran. Damit hast du 1 Nachricht!
fhem ("set HomeBot sendImage \@xxxxxx /media/public/Snapshots/Wohnzimmer_aktuell.jpg Snapshot Wohnzimmer aktuell!");
Vg denny
so einfach..danke
Hallo.
Ich lasse über ein DOIF meine Fensterkontakte überwachen.
([Alarmanlage] eq "AN" and [":^opened$"]) (set telebot message @XXXXX @XXXXX ACHTUNG!!! Folgender Kontakt hat ausgelöst : $DEVICE !)
$DEVICE sagt mir dann welches ausgelöst hat. Leider steht dann da nur MAX_XXXXXX.
Ist es möglich das Alias zu schicken?
MfG Manley
Zitat von: Manley am 11 Dezember 2018, 17:59:02
Hallo.
Ich lasse über ein DOIF meine Fensterkontakte überwachen.
([Alarmanlage] eq "AN" and [":^opened$"]) (set telebot message @XXXXX @XXXXX ACHTUNG!!! Folgender Kontakt hat ausgelöst : $DEVICE !)
$DEVICE sagt mir dann welches ausgelöst hat. Leider steht dann da nur MAX_XXXXXX.
Ist es möglich das Alias zu schicken?
MfG Manley
Kannst du mittels AttrVal("Devicename", "AttrName","Ersatzwert") auslesen...
https://forum.fhem.de/index.php?topic=44641.0
https://wiki.fhem.de/wiki/DevelopmentModuleIntro
Gruß, Joachim
Moinsen,
weiß jemand wie ich eine Telefonnummer anklickbar zum Anruf versenden kann?
Bei html wäre es tel://, greift jedoch nicht.
Ich nehme das reading aus der Fritzbox in dem die Nummer steht, also
set msg TelegramBot Neuer Anruf von [Device:reading]
und kann in der Nachricht dann ganz normal draufklicken, um zurückzurufen.
Sprich es ist kein bestimmtes Format notwendig.
Grüße
Bei mir nicht. Hoffe ja nicht das es am Format liegt:
ZitatEingehender Anruf: Max Mustermann 01234567890
@accessburn
Ich habe als Backend Asterisk und lasse mir die CID immer mit Landesvorwahl nach Telegram schicken - das ist dann anklickbar. Probier doch mal bitte statt der "0" vorn ein "+49" schicken zu lassen.
Im Test habe ich mir von fhem "test 012345" und danach "test +4912345" senden lassen. Das erste war nicht anklickbar das zweite schon. Meines Wissens ist der jeweilige Telegram-Client für die Anzeigen zuständig. Mein Telegram-Client läuft unter Android - aufm IPhone meiner Frau läufts aber auch wie gewünscht.
Viel Erfolg, ich drück die Daumen :)
Beste Grüße
rob
Okay, dann muss ich nur rauskriegen wie ich das mache.
Wenn erste Ziffer eine Null ist, dann abschneiden. Mit PHP würde ich das über substr lösen.
Sry, aber ich kann das so nicht bestätigen, ich bekomme nur Nummern wie 053XXXXXX 0800330XXXX, und kann diese anklicken. Auch Handynummern welche mit 01XXXXXXXX anfangen sind anklickbar.
Wo kommen deine Nummern denn her?
Vll ist das eine Möglichkeit das Thema für alle zu klären.
Ja mann kann das über PHP oder 5 andere Wege machen, aber nicht jeder ist dem mächtig.
Die Geschichte mit Android oder IOS ist schonmal interessant. Ich nutze ebenfalls IOS.
@accessburn, welche Platform nutzt du?
Grüße
Hallo.
Ja, ich denke es liegt am Client. Habe mit dem Beispiel (0123456) einfach mal meine Frau genervt und mit meinem Android verglichen (default ist ein Gruppenchat).
command | |result Android | |result iOS | |clickable Adroid | |clickable iOS |
-------------------------------------------------- | ------------------------- | ------------------------ | -------------------- | ---------------- |
set myTelegram msg 0123456 | |0123456 | |0123456 (http://0123456) | |NO | |YES |
set myTelegram msg +0123456 | |+0123456 | |+0123456 | |NO | |NO |
set myTelegram msg +123456 | |+123456 | |+123456 (http://+123456) | |NO | |YES |
set myTelegram msg +49123456 | |+49123456 (http://+49123456) | |+49123456 (http://+49123456) | |YES | |YES |
set myTelegram msg [0123456] 0123456 | |[0123456] 0123456 | |[0123456 (http://0123456)] 0123456 (http://0123456) | |NO | |YES |
Mein uraltes iPhone 3GS greift ebenfalls auf die Gruppe zu - alles analog zum neuen iPhone. Scheint, als wäre Telegram unter iOS wesentlich kulanter :)
Android ist bei mir 7.0. Vielleicht ändert es sich mit künftigen Versionen oder Telegram Neuerungen.
Anscheinend gibt´s generell noch Probleme bei sehr langen Nachrichten (https://stackoverflow.com/questions/40590683/how-to-make-phone-number-a-link-in-telegram-bot (https://stackoverflow.com/questions/40590683/how-to-make-phone-number-a-link-in-telegram-bot)), aber davon ist hier ja nicht die Rede.
Viele Grüße
rob
Zitat von: Esjay am 14 Dezember 2018, 09:24:04
@accessburn, welche Platform nutzt du?
Andro 8.0 mit dem telegram eigenen clienten.
Tach..
kann das sein, dass die silentmsg mit telegram nicht mehr funktioniert?
Wäre echt schade, denn manchmal brauche ich einfach keinen Signalton :)
Hi Jackson,
bei mir funktioniert es problemlos. silent bleibt silent.
Viele GrüßeRainer
Hallo würde gerne vom Handy an FHEM ein Bild senden das dann automatisch auf einem usbstick gespeichert wird.
Habe dazu ein Thema auf gemacht
https://forum.fhem.de/index.php/topic,94739.0.html
Hallo,
heute war mein System plötzlich ganz träge und hohe Systemauslastung.
Hat ein bisschen gedauert, bis ich drauf bekommen bin.
Hatte bei einen Bot "allowUnknownContacts" auf 1. Und irgedendwas hat mich dann mit hunderten Contacten zugepallert....wie gibts das?
Aber nur Bot's, dachte Bot an Bot geht nicht!
2018.12.27 10:09:59 2: TelegramBot_ContactUpdate Updated Contact list :-1001146498129::#Lotto_80k 561409117:Kaffeebot:@Vivaldibot 414347045:António:@Toni_Cat_bot 633867333:Sopravvissuto_8: 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 244966414:E._Lu: 175104816:Dottor_Sopravvissuto:@Amiketa 51349517:Bel_Oil:@Wagnerbot 240968237:Marco: -170234301::#Haus_Info 778743876:Sopravvissuto_4: 729007216:Andante:@Andantebot -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot:
2018.12.27 10:09:59 3: TelegramBot_ContactUpdate new contact :167541289:RossiniBot:@RossiniGangstasBot:
2018.12.27 10:09:59 2: TelegramBot_ContactUpdate Updated Contact list :-1001146498129::#Lotto_80k 561409117:Kaffeebot:@Vivaldibot 633867333:Sopravvissuto_8: 414347045:António:@Toni_Cat_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 244966414:E._Lu: 167541289:RossiniBot:@RossiniGangstasBot 175104816:Dottor_Sopravvissuto:@Amiketa 240968237:Marco: 51349517:Bel_Oil:@Wagnerbot 729007216:Andante:@Andantebot -170234301::#Haus_Info 778743876:Sopravvissuto_4: -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot:
2018.12.27 10:09:59 3: TelegramBot_ContactUpdate new contact :547592110:Mozartbot:@Almightmusicbot:
2018.12.27 10:09:59 2: TelegramBot_ContactUpdate Updated Contact list :-1001146498129::#Lotto_80k 561409117:Kaffeebot:@Vivaldibot 633867333:Sopravvissuto_8: 414347045:António:@Toni_Cat_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 244966414:E._Lu: 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 240968237:Marco: 51349517:Bel_Oil:@Wagnerbot 729007216:Andante:@Andantebot -170234301::#Haus_Info 778743876:Sopravvissuto_4: -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot:
2018.12.27 10:09:59 3: TelegramBot_ContactUpdate new contact :206249817:notobot:@beethovenbot:
2018.12.27 10:09:59 2: TelegramBot_ContactUpdate Updated Contact list :-1001146498129::#Lotto_80k 561409117:Kaffeebot:@Vivaldibot 414347045:António:@Toni_Cat_bot 633867333:Sopravvissuto_8: 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 244966414:E._Lu: 175104816:Dottor_Sopravvissuto:@Amiketa 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 240968237:Marco: -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot:
2018.12.27 10:09:59 3: TelegramBot_ContactUpdate new contact :494551139:Ssylka:@Haydnbot:
2018.12.27 10:09:59 2: TelegramBot_ContactUpdate Updated Contact list :-175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 240968237:Marco: 175104816:Dottor_Sopravvissuto:@Amiketa 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 244966414:E._Lu: 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 414347045:António:@Toni_Cat_bot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot 561409117:Kaffeebot:@Vivaldibot -1001146498129::#Lotto_80k:
2018.12.27 10:09:59 3: TelegramBot_ContactUpdate new contact :244061826:likemachine:@lisztbot:
2018.12.27 10:10:00 2: TelegramBot_ContactUpdate Updated Contact list :167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 244966414:E._Lu: -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 240968237:Marco: 51349517:Bel_Oil:@Wagnerbot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 561409117:Kaffeebot:@Vivaldibot -1001146498129::#Lotto_80k 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 494551139:Ssylka:@Haydnbot 633867333:Sopravvissuto_8: 414347045:António:@Toni_Cat_bot 244061826:likemachine:@lisztbot:
2018.12.27 10:10:00 3: TelegramBot_ContactUpdate new contact :266863710:Bachbot:@Bachbot:
2018.12.27 10:10:00 2: TelegramBot_ContactUpdate Updated Contact list :206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 240968237:Marco: -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 244966414:E._Lu: 175104816:Dottor_Sopravvissuto:@Amiketa 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 414347045:António:@Toni_Cat_bot 244061826:likemachine:@lisztbot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot 521886102:Puccini:@Puccini_bot 266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot -1001146498129::#Lotto_80k 561409117:Kaffeebot:@Vivaldibot:
2018.12.27 10:10:00 3: TelegramBot_ContactUpdate new contact :133476392:شرکت_معماری_باروک:@baroquebot:
2018.12.27 10:10:00 2: TelegramBot_ContactUpdate Updated Contact list :561409117:Kaffeebot:@Vivaldibot 133476392:شرکت_معماری_باروک:@baroquebot -1001146498129::#Lotto_80k 266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 494551139:Ssylka:@Haydnbot 414347045:António:@Toni_Cat_bot 244061826:likemachine:@lisztbot 633867333:Sopravvissuto_8: 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 244966414:E._Lu: -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 51349517:Bel_Oil:@Wagnerbot 240968237:Marco: 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 729007216:Andante:@Andantebot:
2018.12.27 10:10:00 3: TelegramBot_ContactUpdate new contact :152583647:Rococobot:@rococobot:
2018.12.27 10:10:00 2: TelegramBot_ContactUpdate Updated Contact list :266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 414347045:António:@Toni_Cat_bot 244061826:likemachine:@lisztbot 633867333:Sopravvissuto_8: 561409117:Kaffeebot:@Vivaldibot 133476392:شرکت_معماری_باروک:@baroquebot -1001146498129::#Lotto_80k -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 51349517:Bel_Oil:@Wagnerbot 240968237:Marco: 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 729007216:Andante:@Andantebot 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 244966414:E._Lu::
2018.12.27 10:10:00 3: TelegramBot_ContactUpdate new contact :226327983:Wesam:@Impressbot:
2018.12.27 10:10:00 2: TelegramBot_ContactUpdate Updated Contact list :-1001146498129::#Lotto_80k 133476392:شرکت_معماری_باروک:@baroquebot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 494551139:Ssylka:@Haydnbot 633867333:Sopravvissuto_8: 414347045:António:@Toni_Cat_bot 244061826:likemachine:@lisztbot 266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 152583647:Rococobot:@rococobot 244966414:E._Lu: 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 240968237:Marco: 51349517:Bel_Oil:@Wagnerbot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot:
2018.12.27 10:10:00 3: TelegramBot_ContactUpdate new contact :488714246:خیس_شو:@Khis_sho_azizm_bot:
2018.12.27 10:10:00 2: TelegramBot_ContactUpdate Updated Contact list :494551139:Ssylka:@Haydnbot 488714246:خیس_شو:@Khis_sho_azizm_bot 414347045:António:@Toni_Cat_bot 244061826:likemachine:@lisztbot 633867333:Sopravvissuto_8: 266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 152583647:Rococobot:@rococobot 133476392:شرکت_معماری_باروک:@baroquebot -1001146498129::#Lotto_80k 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 51349517:Bel_Oil:@Wagnerbot 240968237:Marco: 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 729007216:Andante:@Andantebot -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 244966414:E._Lu: 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa:
2018.12.27 10:10:00 3: TelegramBot_ContactUpdate new contact :664659504:MKX_|_MELBET:@MKX_refbot:
2018.12.27 10:10:01 2: TelegramBot_ContactUpdate Updated Contact list :175104816:Dottor_Sopravvissuto:@Amiketa 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 240968237:Marco: 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 133476392:شرکت_معماری_باروک:@baroquebot -1001146498129::#Lotto_80k 521886102:Puccini:@Puccini_bot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 414347045:António:@Toni_Cat_bot 244061826:likemachine:@lisztbot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot 488714246:خیس_شو:@Khis_sho_azizm_bot:
2018.12.27 10:10:01 3: TelegramBot_ContactUpdate new contact :416398921:Ali_resbot:@Akejshebot:
2018.12.27 10:10:01 2: TelegramBot_ContactUpdate Updated Contact list :-175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 51349517:Bel_Oil:@Wagnerbot 240968237:Marco: 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 729007216:Andante:@Andantebot 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: 266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 488714246:خیس_شو:@Khis_sho_azizm_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 244061826:likemachine:@lisztbot 633867333:Sopravvissuto_8: 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 133476392:شرکت_معماری_باروک:@baroquebot -1001146498129::#Lotto_80k:
2018.12.27 10:10:01 3: TelegramBot_ContactUpdate new contact :453280883:resort:@resortbot:
2018.12.27 10:10:01 2: TelegramBot_ContactUpdate Updated Contact list :729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 240968237:Marco: 51349517:Bel_Oil:@Wagnerbot -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: 175104816:Dottor_Sopravvissuto:@Amiketa 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 633867333:Sopravvissuto_8: 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 244061826:likemachine:@lisztbot 488714246:خیس_شو:@Khis_sho_azizm_bot 494551139:Ssylka:@Haydnbot 521886102:Puccini:@Puccini_bot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 133476392:شرکت_معماری_باروک:@baroquebot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot:
2018.12.27 10:10:01 3: TelegramBot_ContactUpdate new contact :652770269:RespectBot:@Respect09Bot:
2018.12.27 10:10:01 2: TelegramBot_ContactUpdate Updated Contact list :633867333:Sopravvissuto_8: 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 244061826:likemachine:@lisztbot 488714246:خیس_شو:@Khis_sho_azizm_bot 494551139:Ssylka:@Haydnbot 521886102:Puccini:@Puccini_bot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 133476392:شرکت_معماری_باروک:@baroquebot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 240968237:Marco: 51349517:Bel_Oil:@Wagnerbot -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: 175104816:Dottor_Sopravvissuto:@Amiketa 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot:
2018.12.27 10:10:01 3: TelegramBot_ContactUpdate new contact :252416931:Sara_Ruiz:@SaraBot:
2018.12.27 10:10:01 2: TelegramBot_ContactUpdate Updated Contact list :252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 240968237:Marco: 51349517:Bel_Oil:@Wagnerbot -175982459::#Haus_Energie 513467999:allegrobot:@Nariasbot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: 175104816:Dottor_Sopravvissuto:@Amiketa 167541289:RossiniBot:@RossiniGangstasBot 547592110:Mozartbot:@Almightmusicbot 633867333:Sopravvissuto_8: 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 244061826:likemachine:@lisztbot 488714246:خیس_شو:@Khis_sho_azizm_bot 494551139:Ssylka:@Haydnbot 521886102:Puccini:@Puccini_bot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 133476392:شرکت_معماری_باروک:@baroquebot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot:
2018.12.27 10:10:01 3: TelegramBot_ContactUpdate new contact :267288442:sarahcell8384:@sarahcell8384_bot:
2018.12.27 10:10:01 2: TelegramBot_ContactUpdate Updated Contact list :494551139:Ssylka:@Haydnbot 633867333:Sopravvissuto_8: 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 133476392:شرکت_معماری_باروک:@baroquebot 51349517:Bel_Oil:@Wagnerbot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 453280883:resort:@resortbot -1001146498129::#Lotto_80k 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 240968237:Marco: 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 167541289:RossiniBot:@RossiniGangstasBot 267288442:sarahcell8384:@sarahcell8384_bot:
2018.12.27 10:10:01 3: TelegramBot_ContactUpdate new contact :117114615:Saeed_A-J:@Saharabot:
2018.12.27 10:10:01 2: TelegramBot_ContactUpdate Updated Contact list :513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 240968237:Marco: 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 244061826:likemachine:@lisztbot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 117114615:Saeed_A-J:@Saharabot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 453280883:resort:@resortbot -1001146498129::#Lotto_80k 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 175104816:Dottor_Sopravvissuto:@Amiketa 547592110:Mozartbot:@Almightmusicbot 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot 133476392:شرکت_معماری_باروک:@baroquebot:
2018.12.27 10:10:01 3: TelegramBot_ContactUpdate new contact :383989632:انسان:@arasbot:
2018.12.27 10:10:02 2: TelegramBot_ContactUpdate Updated Contact list :206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 383989632:انسان:@arasbot 175104816:Dottor_Sopravvissuto:@Amiketa 547592110:Mozartbot:@Almightmusicbot 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot 133476392:شرکت_معماری_باروک:@baroquebot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 240968237:Marco: 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 244061826:likemachine:@lisztbot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 117114615:Saeed_A-J:@Saharabot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 453280883:resort:@resortbot -1001146498129::#Lotto_80k:
2018.12.27 10:10:02 3: TelegramBot_ContactUpdate new contact :776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot:
2018.12.27 10:10:02 2: TelegramBot_ContactUpdate Updated Contact list :-1001146498129::#Lotto_80k 453280883:resort:@resortbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 167541289:RossiniBot:@RossiniGangstasBot 267288442:sarahcell8384:@sarahcell8384_bot 240968237:Marco: 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 133476392:شرکت_معماری_باروک:@baroquebot 494551139:Ssylka:@Haydnbot 633867333:Sopravvissuto_8: 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 51349517:Bel_Oil:@Wagnerbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4::
2018.12.27 10:10:02 3: TelegramBot_ContactUpdate new contact :676752767:api_arashbot:@api_arashbot:
2018.12.27 10:10:02 2: TelegramBot_ContactUpdate Updated Contact list :652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 244966414:E._Lu: 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 547592110:Mozartbot:@Almightmusicbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 51349517:Bel_Oil:@Wagnerbot 133476392:شرکت_معماری_باروک:@baroquebot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 494551139:Ssylka:@Haydnbot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 240968237:Marco: 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie -1001146498129::#Lotto_80k 453280883:resort:@resortbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot:
2018.12.27 10:10:03 3: TelegramBot_ContactUpdate new contact :385031409:لسته_انتحار_،:@lissta_bot:
2018.12.27 10:10:03 2: TelegramBot_ContactUpdate Updated Contact list :561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 167541289:RossiniBot:@RossiniGangstasBot 267288442:sarahcell8384:@sarahcell8384_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 240968237:Marco: 133476392:شرکت_معماری_باروک:@baroquebot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 51349517:Bel_Oil:@Wagnerbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4::
2018.12.27 10:10:03 3: TelegramBot_ContactUpdate new contact :551001546:موسيقى:@Tavasheh_bot:
2018.12.27 10:10:03 2: TelegramBot_ContactUpdate Updated Contact list :133476392:شرکت_معماری_باروک:@baroquebot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 494551139:Ssylka:@Haydnbot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 547592110:Mozartbot:@Almightmusicbot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 240968237:Marco::
2018.12.27 10:10:03 3: TelegramBot_ContactUpdate new contact :528710939:تقويم_روز:@TaqvimRooz_bot:
2018.12.27 10:10:03 2: TelegramBot_ContactUpdate Updated Contact list :133476392:شرکت_معماری_باروک:@baroquebot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 676752767:api_arashbot:@api_arashbot 633867333:Sopravvissuto_8: 547592110:Mozartbot:@Almightmusicbot 383989632:انسان:@arasbot 175104816:Dottor_Sopravvissuto:@Amiketa 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 51349517:Bel_Oil:@Wagnerbot 551001546:موسيقى:@Tavasheh_bot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 117114615:Saeed_A-J:@Saharabot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 453280883:resort:@resortbot -1001146498129::#Lotto_80k 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 240968237:Marco::
2018.12.27 10:10:03 3: TelegramBot_ContactUpdate new contact :573236807:Shop_Usa:@VictoriaS_bot:
2018.12.27 10:10:03 2: TelegramBot_ContactUpdate Updated Contact list :167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 240968237:Marco: 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 453280883:resort:@resortbot -1001146498129::#Lotto_80k 117114615:Saeed_A-J:@Saharabot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 573236807:Shop_Usa:@VictoriaS_bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 547592110:Mozartbot:@Almightmusicbot 383989632:انسان:@arasbot 175104816:Dottor_Sopravvissuto:@Amiketa 51349517:Bel_Oil:@Wagnerbot 551001546:موسيقى:@Tavasheh_bot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 133476392:شرکت_معماری_باروک:@baroquebot 494551139:Ssylka:@Haydnbot 676752767:api_arashbot:@api_arashbot 633867333:Sopravvissuto_8: 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot:
2018.12.27 10:10:03 3: TelegramBot_ContactUpdate new contact :212546770:Mirandabot:@Miranda_bot:
2018.12.27 10:10:04 2: TelegramBot_ContactUpdate Updated Contact list :244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 240968237:Marco: 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 212546770:Mirandabot:@Miranda_bot 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 494551139:Ssylka:@Haydnbot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 133476392:شرکت_معماری_باروک:@baroquebot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 573236807:Shop_Usa:@VictoriaS_bot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 547592110:Mozartbot:@Almightmusicbot:
2018.12.27 10:10:04 3: TelegramBot_ContactUpdate new contact :239875181:TomBot:@Tommy94Bot:
2018.12.27 10:10:04 2: TelegramBot_ContactUpdate Updated Contact list :652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 573236807:Shop_Usa:@VictoriaS_bot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 547592110:Mozartbot:@Almightmusicbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 133476392:شرکت_معماری_باروک:@baroquebot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 494551139:Ssylka:@Haydnbot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 239875181:TomBot:@Tommy94Bot 240968237:Marco: 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 212546770:Mirandabot:@Miranda_bot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot:
2018.12.27 10:10:04 3: TelegramBot_ContactUpdate new contact :681605919:Hayleybot:@HayleyLoveMeBot:
2018.12.27 10:10:04 2: TelegramBot_ContactUpdate Updated Contact list :267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 212546770:Mirandabot:@Miranda_bot 239875181:TomBot:@Tommy94Bot 240968237:Marco: 117114615:Saeed_A-J:@Saharabot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 453280883:resort:@resortbot -1001146498129::#Lotto_80k 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 383989632:انسان:@arasbot 175104816:Dottor_Sopravvissuto:@Amiketa 547592110:Mozartbot:@Almightmusicbot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 573236807:Shop_Usa:@VictoriaS_bot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 551001546:موسيقى:@Tavasheh_bot 133476392:شرکت_معماری_باروک:@baroquebot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 676752767:api_arashbot:@api_arashbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot:
2018.12.27 10:10:04 3: TelegramBot_ContactUpdate new contact :730199456:Emmabot:@Emmatalesbot:
2018.12.27 10:10:04 2: TelegramBot_ContactUpdate Updated Contact list :521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 117114615:Saeed_A-J:@Saharabot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 453280883:resort:@resortbot -1001146498129::#Lotto_80k 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 212546770:Mirandabot:@Miranda_bot 239875181:TomBot:@Tommy94Bot 240968237:Marco: 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 676752767:api_arashbot:@api_arashbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot 133476392:شرکت_معماری_باروک:@baroquebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 551001546:موسيقى:@Tavasheh_bot 383989632:انسان:@arasbot 175104816:Dottor_Sopravvissuto:@Amiketa 547592110:Mozartbot:@Almightmusicbot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 573236807:Shop_Usa:@VictoriaS_bot:
2018.12.27 10:10:04 3: TelegramBot_ContactUpdate new contact :138364632:Emma_Watson:@emmawatsonbot:
2018.12.27 10:10:05 2: TelegramBot_ContactUpdate Updated Contact list :167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 239875181:TomBot:@Tommy94Bot 240968237:Marco: 212546770:Mirandabot:@Miranda_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 573236807:Shop_Usa:@VictoriaS_bot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 133476392:شرکت_معماری_باروک:@baroquebot 494551139:Ssylka:@Haydnbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot:
2018.12.27 10:10:05 3: TelegramBot_ContactUpdate new contact :209350429:كتابات_مجنونه:@HollyBot:
2018.12.27 10:10:05 2: TelegramBot_ContactUpdate Updated Contact list :133476392:شرکت_معماری_باروک:@baroquebot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 573236807:Shop_Usa:@VictoriaS_bot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 209350429:كتابات_مجنونه:@HollyBot 212546770:Mirandabot:@Miranda_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot 239875181:TomBot:@Tommy94Bot 240968237:Marco::
2018.12.27 10:10:05 3: TelegramBot_ContactUpdate new contact :556175175:Watson_Chat_Bot:@WatsonChatCZBot:
2018.12.27 10:10:05 2: TelegramBot_ContactUpdate Updated Contact list :209350429:كتابات_مجنونه:@HollyBot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 239875181:TomBot:@Tommy94Bot 240968237:Marco: 212546770:Mirandabot:@Miranda_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 573236807:Shop_Usa:@VictoriaS_bot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 133476392:شرکت_معماری_باروک:@baroquebot 494551139:Ssylka:@Haydnbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot:
2018.12.27 10:10:05 3: TelegramBot_ContactUpdate new contact :120905511:Mastermind:@HolmesBot:
2018.12.27 10:10:05 2: TelegramBot_ContactUpdate Updated Contact list :453280883:resort:@resortbot -1001146498129::#Lotto_80k 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 209350429:كتابات_مجنونه:@HollyBot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 239875181:TomBot:@Tommy94Bot 240968237:Marco: 212546770:Mirandabot:@Miranda_bot 138364632:Emma_Watson:@emmawatsonbot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 133476392:شرکت_معماری_باروک:@baroquebot 494551139:Ssylka:@Haydnbot 676752767:api_arashbot:@api_arashbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 573236807:Shop_Usa:@VictoriaS_bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 547592110:Mozartbot:@Almightmusicbot 383989632:انسان:@arasbot 175104816:Dottor_Sopravvissuto:@Amiketa 120905511:Mastermind:@HolmesBot 51349517:Bel_Oil:@Wagnerbot 551001546:موسيقى:@Tavasheh_bot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot:
2018.12.27 10:10:05 3: TelegramBot_ContactUpdate new contact :464060739:GillesClone:@GillesBot:
2018.12.27 10:10:05 2: TelegramBot_ContactUpdate Updated Contact list :551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 120905511:Mastermind:@HolmesBot 383989632:انسان:@arasbot 573236807:Shop_Usa:@VictoriaS_bot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 464060739:GillesClone:@GillesBot 133476392:شرکت_معماری_باروک:@baroquebot 212546770:Mirandabot:@Miranda_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot 239875181:TomBot:@Tommy94Bot 240968237:Marco: 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 209350429:كتابات_مجنونه:@HollyBot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot -1001146498129::#Lotto_80k 453280883:resort:@resortbot:
2018.12.27 10:10:05 3: TelegramBot_ContactUpdate new contact :751873807:alert_system_bot:@alert_smith_bot:
2018.12.27 10:10:05 2: TelegramBot_ContactUpdate Updated Contact list :547592110:Mozartbot:@Almightmusicbot 120905511:Mastermind:@HolmesBot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 573236807:Shop_Usa:@VictoriaS_bot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 464060739:GillesClone:@GillesBot 133476392:شرکت_معماری_باروک:@baroquebot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 209350429:كتابات_مجنونه:@HollyBot 212546770:Mirandabot:@Miranda_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot 239875181:TomBot:@Tommy94Bot 240968237:Marco: 751873807:alert_system_bot:@alert_smith_bot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot:
2018.12.27 10:10:05 3: TelegramBot_ContactUpdate new contact :614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT:
2018.12.27 10:10:06 2: TelegramBot_ContactUpdate Updated Contact list :152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 676752767:api_arashbot:@api_arashbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot 464060739:GillesClone:@GillesBot 133476392:شرکت_معماری_باروک:@baroquebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 551001546:موسيقى:@Tavasheh_bot 383989632:انسان:@arasbot 120905511:Mastermind:@HolmesBot 175104816:Dottor_Sopravvissuto:@Amiketa 547592110:Mozartbot:@Almightmusicbot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 573236807:Shop_Usa:@VictoriaS_bot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 453280883:resort:@resortbot -1001146498129::#Lotto_80k 138364632:Emma_Watson:@emmawatsonbot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 212546770:Mirandabot:@Miranda_bot 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT 751873807:alert_system_bot:@alert_smith_bot 239875181:TomBot:@Tommy94Bot 240968237:Marco: 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 209350429:كتابات_مجنونه:@HollyBot:
2018.12.27 10:10:06 3: TelegramBot_ContactUpdate new contact :305464210:Michealbot:@Schams_Bot:
2018.12.27 10:10:06 2: TelegramBot_ContactUpdate Updated Contact list :464060739:GillesClone:@GillesBot 133476392:شرکت_معماری_باروک:@baroquebot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 676752767:api_arashbot:@api_arashbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 547592110:Mozartbot:@Almightmusicbot 383989632:انسان:@arasbot 175104816:Dottor_Sopravvissuto:@Amiketa 120905511:Mastermind:@HolmesBot 573236807:Shop_Usa:@VictoriaS_bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 51349517:Bel_Oil:@Wagnerbot 551001546:موسيقى:@Tavasheh_bot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 453280883:resort:@resortbot -1001146498129::#Lotto_80k 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 209350429:كتابات_مجنونه:@HollyBot 212546770:Mirandabot:@Miranda_bot 138364632:Emma_Watson:@emmawatsonbot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 751873807:alert_system_bot:@alert_smith_bot 239875181:TomBot:@Tommy94Bot 305464210:Michealbot:@Schams_Bot 240968237:Marco: 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT:
2018.12.27 10:10:06 3: TelegramBot_ContactUpdate new contact :488934791:Футболбенч_бот:@foot_sherlockbot:
2018.12.27 10:10:06 2: TelegramBot_ContactUpdate Updated Contact list :488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 488934791:Футболбенч_бот:@foot_sherlockbot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 239875181:TomBot:@Tommy94Bot 305464210:Michealbot:@Schams_Bot 240968237:Marco: 751873807:alert_system_bot:@alert_smith_bot 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT 212546770:Mirandabot:@Miranda_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot 209350429:كتابات_مجنونه:@HollyBot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 494551139:Ssylka:@Haydnbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 133476392:شرکت_معماری_باروک:@baroquebot 464060739:GillesClone:@GillesBot 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 573236807:Shop_Usa:@VictoriaS_bot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 547592110:Mozartbot:@Almightmusicbot 175104816:Dottor_Sopravvissuto:@Amiketa 120905511:Mastermind:@HolmesBot 383989632:انسان:@arasbot:
2018.12.27 10:10:06 3: TelegramBot_ContactUpdate new contact :323410219:ShellBot:@azegobot:
2018.12.27 10:10:06 2: TelegramBot_ContactUpdate Updated Contact list :138364632:Emma_Watson:@emmawatsonbot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 212546770:Mirandabot:@Miranda_bot 323410219:ShellBot:@azegobot 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT 751873807:alert_system_bot:@alert_smith_bot 239875181:TomBot:@Tommy94Bot 305464210:Michealbot:@Schams_Bot 240968237:Marco: 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 209350429:كتابات_مجنونه:@HollyBot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 453280883:resort:@resortbot -1001146498129::#Lotto_80k 488934791:Футболбенч_бот:@foot_sherlockbot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 551001546:موسيقى:@Tavasheh_bot 383989632:انسان:@arasbot 175104816:Dottor_Sopravvissuto:@Amiketa 120905511:Mastermind:@HolmesBot 547592110:Mozartbot:@Almightmusicbot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 573236807:Shop_Usa:@VictoriaS_bot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 676752767:api_arashbot:@api_arashbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot 464060739:GillesClone:@GillesBot 133476392:شرکت_معماری_باروک:@baroquebot:
2018.12.27 10:10:06 3: TelegramBot_ContactUpdate new contact :669584416:للتواصــل_Mohamed_❥:@aishtaytalak_bot:
2018.12.27 10:10:07 2: TelegramBot_ContactUpdate Updated Contact list :561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 488934791:Футболбенч_бот:@foot_sherlockbot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 209350429:كتابات_مجنونه:@HollyBot 669584416:للتواصــل_Mohamed_❥:@aishtaytalak_bot 212546770:Mirandabot:@Miranda_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot 239875181:TomBot:@Tommy94Bot 305464210:Michealbot:@Schams_Bot 240968237:Marco: 751873807:alert_system_bot:@alert_smith_bot 323410219:ShellBot:@azegobot 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT 464060739:GillesClone:@GillesBot 133476392:شرکت_معماری_باروک:@baroquebot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 547592110:Mozartbot:@Almightmusicbot 120905511:Mastermind:@HolmesBot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 573236807:Shop_Usa:@VictoriaS_bot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4::
2018.12.27 10:10:07 3: TelegramBot_ContactUpdate new contact :593300744:GSM_Khaled:@GSM3RESEAUX_BOT:
2018.12.27 10:10:07 2: TelegramBot_ContactUpdate Updated Contact list :488934791:Футболбенч_бот:@foot_sherlockbot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 209350429:كتابات_مجنونه:@HollyBot 669584416:للتواصــل_Mohamed_❥:@aishtaytalak_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 239875181:TomBot:@Tommy94Bot 305464210:Michealbot:@Schams_Bot 240968237:Marco: 751873807:alert_system_bot:@alert_smith_bot 323410219:ShellBot:@azegobot 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT 212546770:Mirandabot:@Miranda_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot 133476392:شرکت_معماری_باروک:@baroquebot 464060739:GillesClone:@GillesBot 494551139:Ssylka:@Haydnbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 573236807:Shop_Usa:@VictoriaS_bot 593300744:GSM_Khaled:@GSM3RESEAUX_BOT 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 547592110:Mozartbot:@Almightmusicbot 120905511:Mastermind:@HolmesBot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4::
2018.12.27 10:10:07 3: TelegramBot_ContactUpdate new contact :571764936:Svetlana:@chainlighting_bot:
2018.12.27 10:10:07 2: TelegramBot_ContactUpdate Updated Contact list :681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 494551139:Ssylka:@Haydnbot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 133476392:شرکت_معماری_باروک:@baroquebot 464060739:GillesClone:@GillesBot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 573236807:Shop_Usa:@VictoriaS_bot 593300744:GSM_Khaled:@GSM3RESEAUX_BOT 120905511:Mastermind:@HolmesBot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 571764936:Svetlana:@chainlighting_bot 547592110:Mozartbot:@Almightmusicbot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 488934791:Футболбенч_бот:@foot_sherlockbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 323410219:ShellBot:@azegobot 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT 239875181:TomBot:@Tommy94Bot 305464210:Michealbot:@Schams_Bot 240968237:Marco: 751873807:alert_system_bot:@alert_smith_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot 212546770:Mirandabot:@Miranda_bot 209350429:كتابات_مجنونه:@HollyBot 669584416:للتواصــل_Mohamed_❥:@aishtaytalak_bot 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot:
2018.12.27 10:10:07 3: TelegramBot_ContactUpdate new contact :614973709:Moana_Pozzi:@MoanaPozziBot:
2018.12.27 10:10:07 2: TelegramBot_ContactUpdate Updated Contact list :571764936:Svetlana:@chainlighting_bot 547592110:Mozartbot:@Almightmusicbot 120905511:Mastermind:@HolmesBot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 614973709:Moana_Pozzi:@MoanaPozziBot 573236807:Shop_Usa:@VictoriaS_bot 593300744:GSM_Khaled:@GSM3RESEAUX_BOT 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 464060739:GillesClone:@GillesBot 133476392:شرکت_معماری_باروک:@baroquebot 266863710:Bachbot:@Bachbot 152583647:Rococobot:@rococobot 494551139:Ssylka:@Haydnbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 267288442:sarahcell8384:@sarahcell8384_bot 209350429:كتابات_مجنونه:@HollyBot 669584416:للتواصــل_Mohamed_❥:@aishtaytalak_bot 212546770:Mirandabot:@Miranda_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot 239875181:TomBot:@Tommy94Bot 305464210:Michealbot:@Schams_Bot 240968237:Marco: 751873807:alert_system_bot:@alert_smith_bot 323410219:ShellBot:@azegobot 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 488934791:Футболбенч_бот:@foot_sherlockbot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 521886102:Puccini:@Puccini_bot 488714246:خیس_شو:@Khis_sho_azizm_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot:
2018.12.27 10:10:07 3: TelegramBot_ContactUpdate new contact :598889721:TinToc_Ops_Bot:@TinTocOpsBot:
2018.12.27 10:10:07 2: TelegramBot_ContactUpdate Updated Contact list :323410219:ShellBot:@azegobot 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT 239875181:TomBot:@Tommy94Bot 305464210:Michealbot:@Schams_Bot 240968237:Marco: 751873807:alert_system_bot:@alert_smith_bot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 138364632:Emma_Watson:@emmawatsonbot 598889721:TinToc_Ops_Bot:@TinTocOpsBot 212546770:Mirandabot:@Miranda_bot 209350429:كتابات_مجنونه:@HollyBot 669584416:للتواصــل_Mohamed_❥:@aishtaytalak_bot 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot -1001146498129::#Lotto_80k 453280883:resort:@resortbot 488934791:Футболбенч_бот:@foot_sherlockbot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 551001546:موسيقى:@Tavasheh_bot 51349517:Bel_Oil:@Wagnerbot 652770269:RespectBot:@Respect09Bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 573236807:Shop_Usa:@VictoriaS_bot 593300744:GSM_Khaled:@GSM3RESEAUX_BOT 120905511:Mastermind:@HolmesBot 175104816:Dottor_Sopravvissuto:@Amiketa 383989632:انسان:@arasbot 614973709:Moana_Pozzi:@MoanaPozziBot 571764936:Svetlana:@chainlighting_bot 547592110:Mozartbot:@Almightmusicbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 676752767:api_arashbot:@api_arashbot 494551139:Ssylka:@Haydnbot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 133476392:شرکت_معماری_باروک:@baroquebot 464060739:GillesClone:@GillesBot:
2018.12.27 10:10:07 3: TelegramBot_ContactUpdate new contact :236160012:Gomorra:@gomorr_bot:
2018.12.27 10:10:08 2: TelegramBot_ContactUpdate Updated Contact list :383989632:انسان:@arasbot 614973709:Moana_Pozzi:@MoanaPozziBot 120905511:Mastermind:@HolmesBot 175104816:Dottor_Sopravvissuto:@Amiketa 547592110:Mozartbot:@Almightmusicbot 571764936:Svetlana:@chainlighting_bot 664659504:MKX_|_MELBET:@MKX_refbot 385031409:لسته_انتحار_،:@lissta_bot 244966414:E._Lu: 652770269:RespectBot:@Respect09Bot 573236807:Shop_Usa:@VictoriaS_bot 593300744:GSM_Khaled:@GSM3RESEAUX_BOT 206249817:notobot:@beethovenbot -170234301::#Haus_Info 778743876:Sopravvissuto_4: 730199456:Emmabot:@Emmatalesbot 252416931:Sara_Ruiz:@SaraBot 729007216:Andante:@Andantebot 51349517:Bel_Oil:@Wagnerbot 551001546:موسيقى:@Tavasheh_bot 464060739:GillesClone:@GillesBot 236160012:Gomorra:@gomorr_bot 133476392:شرکت_معماری_باروک:@baroquebot 152583647:Rococobot:@rococobot 266863710:Bachbot:@Bachbot 676752767:api_arashbot:@api_arashbot 681605919:Hayleybot:@HayleyLoveMeBot 633867333:Sopravvissuto_8: 494551139:Ssylka:@Haydnbot 267288442:sarahcell8384:@sarahcell8384_bot 167541289:RossiniBot:@RossiniGangstasBot 528710939:تقويم_روز:@TaqvimRooz_bot 209350429:كتابات_مجنونه:@HollyBot 669584416:للتواصــل_Mohamed_❥:@aishtaytalak_bot 138364632:Emma_Watson:@emmawatsonbot 513467999:allegrobot:@Nariasbot -175982459::#Haus_Energie 598889721:TinToc_Ops_Bot:@TinTocOpsBot 212546770:Mirandabot:@Miranda_bot 323410219:ShellBot:@azegobot 614906273:Bill_Gates_from_Twitter_bot:@BGFT_BOT 751873807:alert_system_bot:@alert_smith_bot 239875181:TomBot:@Tommy94Bot 305464210:Michealbot:@Schams_Bot 240968237:Marco: 117114615:Saeed_A-J:@Saharabot 556175175:Watson_Chat_Bot:@WatsonChatCZBot 561409117:Kaffeebot:@Vivaldibot 226327983:Wesam:@Impressbot 453280883:resort:@resortbot -1001146498129::#Lotto_80k 488934791:Футболбенч_бот:@foot_sherlockbot 521886102:Puccini:@Puccini_bot 699243062:Sopravvissuto_3: 607933280:Robi:@XiaomiSaugRoBot 244061826:likemachine:@lisztbot 776329605:ممبرگیر👑هکxسیستم👑آرشX:@arasehXMAHRSA_bot 414347045:António:@Toni_Cat_bot 416398921:Ali_resbot:@Akejshebot 488714246:خیس_شو:@Khis_sho_azizm_bot:
2018.12.27 10:10:08 3: TelegramBot_ContactUpdate new contact :750975552:Timcerdas_:@tugas_pokok_mari_bot:
War bei mir auch so, gestern seit 16 Uhr 100% CPU und hunderte Bots in der contact list ...
Lösung gibt es hier:
https://forum.fhem.de/index.php/topic,38328.msg818564.html#msg818564
Bitte diesen ewigen Post kürzen
Guten Abend zusammen,
ist es möglich, die Rückmeldung des TelegramBots komplett zu deaktivieren?
Wenn ich Beispielsweise ein Favoriten-Befehl ausführe, kommen 1-2 Rückmeldungen. Die habe ich zwar auf einen Punkt reduzieren können, aber komplett abschalten konnte ich sie nicht. :(
Hmm komisch mein Fhembot schickt mir keine Antwort.
Meine cmdFavoriten haben Set als trigger
Sende ich jetzt Set1 führt er den Befehl aus und gut ist, ne Rückmeldung bekomme ich nicht.
Was hast du denn für Attribute gesetzt?
Ich habe folgendes gesetzt:
cmdFavorites
cmdKeyword
defaultPeer (die Gruppe, da mit mehreren Personen)
favorites
pollingTimeout
allowUnknownContacts auf 1
und dann habe ich auf der Suche, wie ich die Rückmeldung deaktivieren kann, zusätzlich folgende Attribute gesetzt:
textResponseCommands
textResponseConfirm
textResponseFavorites
textResponseResult
Habe mit 0, 1, Leerzeichen (was nichts bringt) ausprobiert und bin am Ende beim Punkt angekommen, damit es nicht so lang ist.
Allerdings ist es doof, wenn da 2-3 Nachrichten hintereinander kommen.
textResponseResult habe ich \n
Die drei habe ich gar nicht
textResponseCommands
textResponseConfirm
textResponseFavorites
Perfekt!
\n hat genau den gewünschten Effekt gebracht.
Vielen Dank.
Hi,
Wenn ich die cmdref richtig verstehe, sollte
set teleBot cmdSendSilent @270815 @270816 { plotAsPng('SVG_logdb_1') }
Funktionieren. Bekomme aber als Rückmeldung
TelegramBot_Set: Command cmdSendSilent, need exactly one peer
Grüße!
Du hast zwei Empfänger, da steht doch das es nur einen Empfänger geben darf.
Richtig. In der commandref steht es aber anders.
Hallo viegener,
ich arbeite gerade daran in meinem SSCam-Modul den Versand von Schnappschüssen integriert anzubieten. Das funktioniert für Email schon sehr gut. Siehe Wiki: https://wiki.fhem.de/wiki/SSCAM_-_Steuerung_von_Kameras_in_Synology_Surveillance_Station#Integrierten_Email-Client_nutzen
Nun möchte ich gerne dein Modul einbinden etwa nach diesem Schema:
* über ein Attribut in SSCam wird festgelegt welches Telegram Device zum Versand verwendet werden soll
* ein oder mehrere Schnappschüsse werden ausgelöst
* alle diese Schnappschüsse werden alle in einer Message zusammengefasst und mit Text versehen per Telegram gesendet
Ich weiß wie man mit Telegram ein File versenden kann. Es muss aber meines Wissens physisch für FHEM zugänglich sein. Und auch nur eins (?) pro Message.
Mit meinem internen Mailclient im SSCam verwende ich aber Memory-Handles weil die Files remote auf der Synology liegen und nicht lokal. Das ist auch ein Vorteil weil man dann keine Mounts benötigt.
Das sieht etwa so aus:
### Images liegen in einem Hash (Ref in $sdat) base64-codiert vor und werden dekodiert in ein "in-memory IO" gespeichert (snap)
my ($ct,$img,$decoded);
@as = sort{$a<=>$b}keys%{$sdat};
foreach my $key (@as) {
$ct = $sdat->{$key}{createdTm};
$img = $sdat->{$key}{imageData};
$fname = $sdat->{$key}{fileName};
$fh = '$fh'.$key;
$decoded = MIME::Base64::decode_base64($img);
my $mh = '';
if(open ($fh, '>', \$mh)) { # in-memory IO Handle
binmode $fh;
print $fh $decoded;
close $fh;
open ($fh, '<', \$mh);
.....
Jetzt suche ich eine Einsprungpunkt in dein Modul um ein solches Konstrukt zum Versand übergeben zu können oder eine andere Möglichkeit.
Hättest du eine Idee ob/wo ich einen Übergabepunkt in deinem Code finden könnte oder hast du Lust mit mir gemeinsam eine solche Möglichkeit zu implementieren ?
Grüße
Heiko
Zitat von: juppzupp am 03 Januar 2019, 12:28:52
Richtig. In der commandref steht es aber anders.
Ja - Du hast recht, ist ein Fehler im Code, ich habe bereits eine Korrektur gemacht, ich werde demnächst eine neue Version hochladen in der dann mehrere Peers angegeben werden können. Ist interessanterweise in den letzten 16 Monaten nicht aufgefallen, solange ist der Fehler bereits drin.
Zitat von: DS_Starter am 05 Januar 2019, 13:29:26
...
Nun möchte ich gerne dein Modul einbinden etwa nach diesem Schema:
* über ein Attribut in SSCam wird festgelegt welches Telegram Device zum Versand verwendet werden soll
* ein oder mehrere Schnappschüsse werden ausgelöst
* alle diese Schnappschüsse werden alle in einer Message zusammengefasst und mit Text versehen per Telegram gesendet
Ich weiß wie man mit Telegram ein File versenden kann. Es muss aber meines Wissens physisch für FHEM zugänglich sein. Und auch nur eins (?) pro Message.
Mit meinem internen Mailclient im SSCam verwende ich aber Memory-Handles weil die Files remote auf der Synology liegen und nicht lokal. Das ist auch ein Vorteil weil man dann keine Mounts benötigt.
...
Jetzt suche ich eine Einsprungpunkt in dein Modul um ein solches Konstrukt zum Versand übergeben zu können oder eine andere Möglichkeit.
Hättest du eine Idee ob/wo ich einen Übergabepunkt in deinem Code finden könnte oder hast du Lust mit mir gemeinsam eine solche Möglichkeit zu implementieren ?
Also mehrere Bilder in einer Message sind wohl über das Bot API nicht möglich, zumindest lese ich die API-Beschreibung so. Auf jeden Fall ist es im Modul nicht vorgesehen und wäre auch nicht einfach zu realisieren, insbesondere wg. der Möglichkeit auch Bilder zu versenden, die nicht als File existieren.
Im Modul gibt es bereits statt eines Dateinamens einen Stream zu übergeben --> siehe Beispiel in der Command ref zu cmdSend :
Example: The following command would sent the resulting SVG picture to the default peer:
set tbot cmdSend { plotAsPng('SVG_FileLog_Aussen') }
Dahinter liegt eine rudimentäre Erkennung von Dateitypen (insbesondere png und jpg für Bilder)
Hilft das?
ZitatIm Modul gibt es bereits statt eines Dateinamens einen Stream zu übergeben --> siehe Beispiel in der Command ref zu cmdSend :
Code: [Auswählen]
Example: The following command would sent the resulting SVG picture to the default peer:
set tbot cmdSend { plotAsPng('SVG_FileLog_Aussen') }
Dahinter liegt eine rudimentäre Erkennung von Dateitypen (insbesondere png und jpg für Bilder)
Hilft das?
Danke für die Info! Könnte schon was sein. Ich schaue mir das mal an und probiere etwas.
Wenn wir noch ein bisschen mit der Implementierung experimentieren müssen würde ich einen separaten Thread aufmachen um den hier damit nicht zu stören.
LG,
Heiko
Zitat von: DS_Starter am 06 Januar 2019, 17:37:31
Danke für die Info! Könnte schon was sein. Ich schaue mir das mal an und probiere etwas.
Wenn wir noch ein bisschen mit der Implementierung experimentieren müssen würde ich einen separaten Thread aufmachen um den hier damit nicht zu stören.
LG,
Heiko
Die wichtigste Frage wäre, welches Dateiformat Deine Bilder haben, wenn es nicht png oder jpg ist, wird dieser Weg nicht erfolgreich sein.
Das sind jpg. Deswegen habe ich etwas Hoffnung.
Bots können nun Nachrichten ja auch löschen, wie setze ich das am Besten via FHEM(-Bot) um?
Also dass eine Nachricht zB. nach 60 Sekunden/5-Minuten/x-Stunden wieder gelöscht wird?
Wenn das gut ginge, könnte ich FHEM besser für Push-Nachrichten "missbrauchen" ohne dass es sämtliche Geräte vollspammt :)
set <Bot> msgDelete <prevMsgId>
Okay, dann klappt das auf jeden Fall schonmal, kann ich das in ein DOIF einbauen, dass die Nachricht dieses DOIFs wieder gelöscht wird?
Es soll ja nicht alle Nachrichten betreffen, sondern nur die von bestimmten DOIFs :)
Hallo,
es gibt ja einige Bots, die ganz interessant sind, z.B. Novi. Die würde ich gerne abrufen. Aber Bot2bot geht wohl nicht, oder?
Hat da jemand einen guten workaround?
Vielen Dank
es gibt wohl ziemliche sicherheitsprobleme mit der telegram bot api (siehe https://www.heise.de/security/meldung/Telegram-Bots-lassen-sich-anzapfen-4282130.html (https://www.heise.de/security/meldung/Telegram-Bots-lassen-sich-anzapfen-4282130.html)).
gibt es die möglichkeit für ende-zu-ende verschlüsselte kommunikation (,,geheime chats") mit diesem modul?
Telegram Bots unterstützen keine Ende zu Ende Verschlüsselung (und werden das wohl auch nicht unterstützen, da das nicht mit dem Botkonzept funktioniert).
Wenn ich die Meldung aber richtig verstehe haben die Forscher sich zwischen Bot und Telegram-Server als Man-in-the-middle eingeklinkt, das sollte aber nur gelingen, wenn jemand das im eigenen HAUS-Netz tut und dann hat er vermutlich noch ganz andere Möglichkeiten:
Zitat...Dazu müssten sie jedoch die Transportverschlüsselung TLS der Kommunikation des Bots aufbrechen – etwa indem sie sich in die Position eines Man-in-the-Middle bringen....
Wie schon hier mehrfach beschrieben, ist das API-Token der kritische Teil und darf nicht in falsche Hände geraten, wie jedes Passwort
Hallo
glöst:
attr parseModeSend 1_Markdown
*fett* _kursiv_
Wie kann ich Fettschrift und Kursiv mit dem TelegramBot realisieren?
Danke und beste Grüße
Heinz
Hallo viegener,
ich habe es erfogreich hinbekommen einen Kameraschnappschuss mit SSCam integriert mit "cmdSend" zu verschicken.
Sehe ich es richtig, dass man bei dieser Funktion keinen beschreibenden Text mit hinzufügen kann oder übersehe ich etwas ?
Telegram signalisiert "Bild" und zeigt den Schnappschuß.
Grüße
Heiko
Hi,
habe es hinbekommen dass mehrere Schnappschüsse und auch begleitende Texte über TelgramBot direkt aus SScam heraus versendet werden können.
Wen es interessiert -> https://forum.fhem.de/index.php/topic,45671.msg899175.html#msg899175
Grüße
Heiko
Hallo zusammen,
ich habe seit kurzem das Problem, dass nach der Benutzung des Menüs Telegram nicht automatisch wieder die Standardtastatur anzeigt.
Hatte im MsgDialog Thread schonmal davon geschrieben.
Hat sonst noch jemand das Problem, oder eine Idee, wie ich das beheben kann?
Zitat von: jazzor am 03 Februar 2019, 10:47:58
Tatsächlich nutze ich die normalen Keyboards.
Anbei mal zwei Bilder, um das Problem zu verdeutlichen.
Nachdem ich abbrechen eingegeben habe, wird das Keyboard nicht ausgeblendet, und ich war mir sicher, dass es früher ausgeblendet wurde.
Hallo,
ich möchte mit einem Notify mit Stichwort Bilder verschicken: fhem("set teleBot sendImage ./www/snapshots/K.Sim_snapshot.jpg ");
Kein Thema, funktioniert. Jetzt möchte ich aber an 2 Adressen gleichzeitig verschicken.
@837453xxx und an @832123xxx oder auch an @-528381xxx
Alle 3 Adressen tuns mit diesem Befehl: set teleBot message @-528381xxx TEST
Sobald ich aber ein
set teleBot sendImage @-528381xxx ./www/snapshots/K.Sim_snapshot.jpg oder
set teleBot sendImage @837453xxx @832123xxx ./www/snapshots/K.Sim_snapshot.jpg
kommt nichts mehr an.
Hab die msgChatIds geändert.
Gibts da () [] Regeln, die ich nicht gefunden hab..?
Hallo, eine strukturelle Frage habe ich auch noch zu Telebot:
ich habe 2 FHEM Instanzen, die räumlich getrennt und nicht mit fhem2fhem verbunden sind. TelegrammBot nutze ich mit dem System 1 sehr intensiv und möchte dies auch gerne im System 2 nutzen. Wie ist hier die Vorgehensweise bezüglich Botfather etc. Das ganze soll ja über ein Mobil Geräte laufen?
ich habe eine Frage zum Bot. Ich nutze MarkDown und es soll eigentlich folgender Text gesendet werden
Zitatset TelegramBot _msg '''2019.02.11 23:00:00 1: [YAAHM_tonight] on device Profil called for this day
2019.02.12 00:00:33 1: [YAAHM_updater] on device Profil called for this day
2019.02.12 06:00:00 1: RMDIR: ./restoreDir/save/2019-02-09
2019.02.12 06:00:02 1: [YAAHM_today] on device Profil called for this day
2019.02.12 08:00:00 1: PERL WARNING: Argument "" isn't numeric in numeric lt (<) at (eval 1966639) line 1.
2019.02.12 08:43:55 1: PERL WARNING: Subroutine ShabbatSetzen redefined at ./FHEM/99_myUtils.pm line 296.
2019.02.12 08:43:55 1: PERL WARNING: Subroutine UptimeHolenUndSetzen redefined at ./FHEM/99_myUtils.pm line 317.
2019.02.12 08:43:55 1: PERL WARNING: Subroutine FensterOffenMailSenden redefined at ./FHEM/99_myUtils.pm line 339.
2019.02.12 08:43:55 1: PERL WARNING: Subroutine Einzelzeileholen redefined at ./FHEM/99_myUtils.pm line 355.
2019.02.12 08:43:55 1: PERL WARNING: Subroutine Plananzeige redefined at ./FHEM/99_myUtils.pm line 377.
''';
(Das sind die letzten Zeilen des Logfiles). Statt dessen erhalte ich aber die Fehlermeldung
Unknown command ), try help.
Weiß jemand, was da los ist? Das Senden selbst mit Telegram funktioniert ohne Probleme, die Schwierigkeiten tauchten erst seit der Verwendung des MarkDown-Attributs auf.
<edit> Es hat zu tun mit der Ersetzung der <, > und &-Zeichen, Hebe ich das auf, geht es durch. Nur soll man die nicht ersetzen?
Wenn wir das Kommando sehen könnten, was du versuchst, könnte man vielleicht helfen.
Sorry
sub LogFileEintraegeSenden(){
my $datum;
$datum = POSIX::strftime("%Y-%m",localtime(time));
my $nachricht;
$nachricht = qx(tail -n10 /opt/fhem/log/fhem-$datum.log);
$nachricht =~ s/;//g; ##Semikolon entfernen
$nachricht =~ s/&//g; ##siehe https://core.telegram.org/bots/api#markdown-style
$nachricht =~ s/<//g; ##
$nachricht =~ s/>//g; ##
fhem("set TelegramBot _msg ```".$nachricht."```; sleep 10; defmod LogfileDelete at +13:00:00 set TelegramBot msgDelete ".InternalVal("TelegramBot", "sentMsgId",0));
}
Gesendet von iPhone mit Tapatalk Pro
Funktioniert es mit nur eine Zeile (tail -n1)?
Wenn ja, versuch mal noch dazu diese Zeile hinzufügen:
$nachricht =~ s/\n/%0A/g; ##
\n in einem Nachricht sollte gehen, aber... nicht sicher, dass in deinem Kontext er alles korrekt interpretiert.
Wenn nicht, versuch mal den Rest zu trennen:
fhem("set TelegramBot _msg ```".$nachricht."```");
fhem("sleep 10; defmod LogfileDelete at +13:00:00 set TelegramBot msgDelete ".InternalVal("TelegramBot", "sentMsgId",0));
}
jetzt geht es: ich habe die drei zeichen <, > und & ersatzlos entfernt (da es sich um einen logfile handelt, brauche ich die auch nicht) und jetzt klappt alles. so richtig erklären kann ich mir das nicht, aber da meine lösung behelfsmäßig geht, ist das ok. es muss damit zu tun haben, dass diese drei symbole als steuerzeichen interpretiert werden.
Gesendet von iPad mit Tapatalk Pro
Hallo,
ich bin da sehr ratlos, was ich bei meinen beiden oben beschriebenen "Aufgabe" noch machen kann. Hab heute gelesen, ohne Erfolg.
Hab ich so einen Unsinn gefragt und ist dieser schon x mal beantwortet. Ich habs nicht gefunden.
Nr. 2047 und 2048.
Zitat von: UweUwe am 12 Februar 2019, 08:25:39
Hallo, eine strukturelle Frage habe ich auch noch zu Telebot:
ich habe 2 FHEM Instanzen, die räumlich getrennt und nicht mit fhem2fhem verbunden sind. TelegrammBot nutze ich mit dem System 1 sehr intensiv und möchte dies auch gerne im System 2 nutzen. Wie ist hier die Vorgehensweise bezüglich Botfather etc. Das ganze soll ja über ein Mobil Geräte laufen?
Am besten einen zweiten bot einrichten. Doppelte Verwendung mag telegram nicht.
Gesendet von meinem Doogee S60 mit Tapatalk
Zitat von: andies am 12 Februar 2019, 09:47:28
ich habe eine Frage zum Bot. Ich nutze MarkDown und es soll eigentlich folgender Text gesendet werden(Das sind die letzten Zeilen des Logfiles). Statt dessen erhalte ich aber die Fehlermeldung
Unknown command ), try help.
Weiß jemand, was da los ist? Das Senden selbst mit Telegram funktioniert ohne Probleme, die Schwierigkeiten tauchten erst seit der Verwendung des MarkDown-Attributs auf.
<edit> Es hat zu tun mit der Ersetzung der <, > und &-Zeichen, Hebe ich das auf, geht es durch. Nur soll man die nicht ersetzen?
Wenn ich es richtig verstehe versendest du die Logfile-Zeilen. In dem Text ist ein Semikolon enthalten, das ist ein Kommandotrenner. Hat also erstmal nichts mit Markdown oder Telegram zu tun, sondern damit, dass in FHEM in Befehlen bestimmte Zeichen Sonderfunktionen haben.
Nach dem ; steht ein ) also auch die Fehlermeldung.
Zitat von: UweUwe am 10 Februar 2019, 13:06:04
Hallo,
ich möchte mit einem Notify mit Stichwort Bilder verschicken: fhem("set teleBot sendImage ./www/snapshots/K.Sim_snapshot.jpg ");
Kein Thema, funktioniert. Jetzt möchte ich aber an 2 Adressen gleichzeitig verschicken.
@837453xxx und an @832123xxx oder auch an @-528381xxx
Alle 3 Adressen tuns mit diesem Befehl: set teleBot message @-528381xxx TEST
Sobald ich aber ein
set teleBot sendImage @-528381xxx ./www/snapshots/K.Sim_snapshot.jpg oder
set teleBot sendImage @837453xxx @832123xxx ./www/snapshots/K.Sim_snapshot.jpg
kommt nichts mehr an.
Hab die msgChatIds geändert.
Gibts da () [] Regeln, die ich nicht gefunden hab..?
Das sollte eigentlich funktionieren (snedImage auch mit mehreren account-IDs) und habe es eben auch noch mal bei mir probiert. Die Frage nach den ()-Regeln verstehe ich nicht.
Um das zu analysieren müsstest Du erstmal nach Fehlermeldungen im log schauen oder Rückmeldungen von Telegrambot.
Hallo,
hab leider nicht gefunden, wie man einen Kontakt aus dem Contact Reading löscht.
Mit "setreading Telegram contacts" wurde zwar der Kontakt gelöscht, taucht dann aber kurze Zeit später wieder auf.
Danke für eure Hilfe!
Ciao
Michael
Zitat von: dinkel75 am 14 März 2019, 19:48:16
Hallo,
hab leider nicht gefunden, wie man einen Kontakt aus dem Contact Reading löscht.
Mit "setreading Telegram contacts" wurde zwar der Kontakt gelöscht, taucht dann aber kurze Zeit später wieder auf.
Danke für eure Hilfe!
Ciao
Michael
Wenn der Kontakt wieder auftaucht sind zwei Dinge bei Dir erfüllt:
- Das Attribut allowUnknownContacts ist nicht auf den Wert 0 gesetzt --> damit werden auch unbekannte Kontakte immer wieder hinzugefügt
- Der Kontakt ruft den Bot danach wieder auf - also hatte noch einen offenen Chat mit dem Bot. Damit wird der Kontakt wieder angelegt
Also solltest Du allowUnknownContacts auf 0 setzen und dann den Kontakt entfernen
Ist auf 0. Komisch!
Zitat von: dinkel75 am 15 März 2019, 12:27:01
Ist auf 0. Komisch!
Dann ist die Frage, ob Du nach Ändern der Kontakte auch gespeichert hast?
Speichern! Danke! Das wars!
Hallo,
ich lasse mir über ein Favoriten-Kommando die aktuellen Spritpreise schicken. Allerdings sieht das Ergebnis etwas doof aus...
Das Kommando:
/[Sprit]=set Telegram message Aral Diesel:[TS.Aral:Diesel]\nMetro Diesel:[TS.Metro:Diesel]\nGlobus Diesel:[TS.Globus:Diesel]\nJet Diesel:[TS.Jet:Diesel]\nAral E5:[TS.Aral:Super_E5]\nMetro E5:[TS.Metro:Super_E5]\nGlobus E5:[TS.Globus:Super_E5]\nJet E5:[TS.Jet:Super_E5];;
Das Ergebnis:
Aral Diesel:1.219
Metro Diesel:1.189
Globus Diesel:1.189
Jet Diesel:1.189
Aral E5:1.339
Metro E5:1.309
Globus E5:1.319
Jet E5:1.319
TelegramBot FHEM - Befehl:set Telegram message Aral Diesel:1.219
Metro Diesel:1.189
Globus Diesel:1.189
Jet Diesel:1.189
Aral E5:1.339
Metro E5:1.309
Globus E5:1.319
Jet E5:1.319: - Ergebnis:
OK
Es kommt also zuerst NUR die Ausgabe der Readings (genau so war es auch gewünscht), aber direkt danach kommt nochmal das gleiche nur anders formatiert.
Wie bekomme ich es hin, dass nur der erste Teil ausgegeben wird (also alles VOR dem Stichwort "TelegramBot FHEM...") ? Oder halt nur eine Ausgabe? Ich verstehe nicht, warum das doppelt kommt.
Danke.
@errazzor: ist bei Dir das attribut cmdReturnEmptyResult gesetzt (auf 0)?
Das war es! Super, vielen Dank!
Hallo zusammen,
habe seit einigen Monaten ein undefiniertes Telegramproblem was ohne Codeänderung auftrat. Ich nutze ein Menü in Telegram. Sobald ich dort etwas andrücke wurde sonst über queryinline der nötige Befehl/notify ausgeführt (z.B. Brunnen aus) seit einiger Zeit wird diese Befehl wiederholt ausgeführt, wenn Telegram offen bleibt bis zu 5 mal. schließe ich es nach dem andrücken dann sogar solange bis ich telegram wieder öffne - es steht dann auch oben immer "lädt" und auch der Befehl wird wiederholt ausgeführt . Irgendwie schein im Modul etwas mit der "queryinline" - Routine verändert worden zu sein? Das macht leider mein ganzen Menü kaputt. Dies passiert nicht bei Statusnachrichten die über Telegram reinkommen, nur das Menü und egal was ich dort anrücke!! (also betrifft nur die notifys in Zussammenhang mit Telegram) Woran kann das liegen?
Hier der Beispielcode mit entsprechender Iphone "Rückmeldung":
Entsprechender Menüeintrag:
define teleBot1032 notify teleBot:queryData:.💡OUT set teleBot queryInline @[teleBot:queryPeer] (BrunnenH|Gabione|Beet) (BrunnenV|Außenl|🔝) <b>💡OUT </b>
Entsprechender Code:
define teleBot110 notify teleBot:queryData:.BrunnenH set Fritz_Steckdose_Aussen toggle;;set teleBot send @[teleBot:queryPeer] ...;;sleep 10;; set teleBot send @[teleBot:queryPeer] Brunnen jetzt <b>{(ReadingsVal ("Fritz_Steckdose_Aussen","state",0))}</b>
und Ereignis in Telegram (seit ein paar Monaten) als Bild
PS. nicht wundern wegen Steckdosentausch ist der Brunnen aktuell auf "Beet" dort sind der Code aber analog aus.
Zitat von: Dia81 am 07 April 2019, 22:03:58
Irgendwie schein im Modul etwas mit der "queryinline" - Routine verändert worden zu sein?
Ich habe seit Monaten keine neue Version des Moduls mehr hochgeladen, deshalb bvermute ich erstmal eine andere Ursache, prüfe doch erstmal im Event monitor, welche Events dort ankommen.
Die andere Frage wäre natürlich was has Du ansonsetn geändert, was dieses Verhalten erzuegt haben könnte?
Es kann aber auch sein, dass sich auf Telegram-Server-Seite etwas geändert hat, so dass query-Daten mehrfach vom Server gesendet werden. tritt aber bei mir bisher nicht auf.
Hallo,
Ich befürchte irgendwo in den 138 Seiten wird die Antwort auf meine Frage versteckt sein, aber ich finde sie nicht :&
Ich habe auf 2 FHEM Instanzen Telegram Bots laufen.
Jetzt wäre es mir ganz recht, wenn eine Instanz Meldungen an die andere abgeben würde.
Leider gelingt mir das aber nicht. Als Resultat bekomme ich immer nur:
sentMsgResult
Callback returned error :Bad Request: chat not found:
Ich habe schon versuche den zweiten Bot per Hand in die Contacs des ersten einzutragen, aber auch das hat nicht geklappt.
Kennt jemand einen Weg dies hin zu bekommen?
Viele Grüße, Oliver
Zitat von: ohosch am 09 April 2019, 11:58:14
Hallo,
Ich befürchte irgendwo in den 138 Seiten wird die Antwort auf meine Frage versteckt sein, aber ich finde sie nicht :&
Ich habe auf 2 FHEM Instanzen Telegram Bots laufen.
Jetzt wäre es mir ganz recht, wenn eine Instanz Meldungen an die andere abgeben würde.
Leider gelingt mir das aber nicht. Als Resultat bekomme ich immer nur:
sentMsgResult
Callback returned error :Bad Request: chat not found:
Ich habe schon versuche den zweiten Bot per Hand in die Contacs des ersten einzutragen, aber auch das hat nicht geklappt.
Kennt jemand einen Weg dies hin zu bekommen?
Viele Grüße, Oliver
Bot zu Bot geht meines Wissens nach nicht.
Gruß
Dan
Sehr sonderbar, jetzt habe ich es über eine Gruppe versucht.
- Wenn ein User in die Gruppe schreibt, bekommen es alle User und alle Bots
- Wenn ein Bot in die Gruppe schreibt, bekommen es nur die User, aber nicht der andere Bot
Bei beiden Bots sind die privacy Einstellungen korrekt auf disabled gesetzt. Beide Bots habe ich noch mal aus der Gruppe raus und wieder rein genommen. Ich habe jetzt sogar beide Bots in der Gruppe als Admin definiert.
Es muss doch irgendwie möglich sein, dass der eine Bot einen Status vom anderen bekommen kann....
Viele Grüße
Oliver
Zitat von: ohosch am 09 April 2019, 14:43:54
Es muss doch irgendwie möglich sein, dass der eine Bot einen Status vom anderen bekommen kann....
NEIN!
https://core.telegram.org/bots/faq#why-doesn-39t-my-bot-see-messages-from-other-bots
Gruß
Dan
Schade, zumindest ist der Grund aber nachvollziehbar. Das könnte das Netz runterziehen.
Da bleibt mir dann wohl nur die Möglichkeit über das nicht mehr supportete Telegram User Modul.
Das compilieren (oder besser das configure Script) läuft da leider auf dem Pi auch nicht out of the box, das schaue ich mir später mal an.
Danke schon mal für die Antworden Dan, dann kann ich mir mehr Bastelei hier jetzt sparen.
Viele Grüße
Oliver
Zitat von: ohosch am 09 April 2019, 11:58:14
Jetzt wäre es mir ganz recht, wenn eine Instanz Meldungen an die andere abgeben würde.
Was hast Du denn genau vor bzw. was meinst Du mit "eine Instanz Meldungen an die andere abgeben"?
Du kennst RFHEM (https://wiki.fhem.de/wiki/RFHEM) und/oder FHEM2FHEM (https://wiki.fhem.de/wiki/FHEM2FHEM)?
Gruß
Dan
Zitat von: DeeSPe am 09 April 2019, 14:47:27
NEIN!
https://core.telegram.org/bots/faq#why-doesn-39t-my-bot-see-messages-from-other-bots
Gruß
Dan
@ohosch: Ich habe das jetzt auch mal ins wiki eingetragen zusammen mit der Fehlermeldung in sentMsgResult - dann sollte es beim Googlen der Fehlermeldung leichter zu interpretieren sein
hehe... ich habe das jetzt leider auch durch probieren rausgefunden... Bot2Bot geht echt nicht.
Schade... ich wollte in Tasker (mit einem anderen API Key als der FEHM-Bot) an den FEHM BOT meine Anwesenheit senden und eben beim verlassen des hauses auch.
Oder mit dem gleichen API-Key an sich selber...
Tasker hat bisher gut funktioniert, das mit dem GEOfency Plugin war nicht so stabil.
VG
René
Hallo zusammen,
ich nutze den TG Bot um mir die aktuellen Spritpreise in einer Gruppe zuschicken zu lassen.
Seit einigen Tagen hängt sich die Oberfläche von FHEM auf und ich muss mich per SSH verbinden und den RasPi neustarten.
Ich vermute, dass irgendwelche Leute meinen Bot in irgendwelche Gruppen hinzugefügt haben und er vlt. deswegen irgendwann ausgelastet ist und sich deswegen aufhängt. Ergo bekomme ich natürlich auch keine Nachrichten mit den Spritpreisen mehr.
- Kann ich meinen Bot irgendwie aus den Gruppen entfernen? Ich sehe nämlich unter Contacts einige Kontakte, die ich definitiv nicht kenne. In meiner Gruppe ist keiner dieser Kontakte drin.
- Kann ich feststellen, weswegen sich mein System so aufhängt? Vielleicht liege ich ja auch falsch?
Zitat von: krutojmax am 10 April 2019, 19:00:27
Hallo zusammen,
ich nutze den TG Bot um mir die aktuellen Spritpreise in einer Gruppe zuschicken zu lassen.
Seit einigen Tagen hängt sich die Oberfläche von FHEM auf und ich muss mich per SSH verbinden und den RasPi neustarten.
Ich vermute, dass irgendwelche Leute meinen Bot in irgendwelche Gruppen hinzugefügt haben und er vlt. deswegen irgendwann ausgelastet ist und sich deswegen aufhängt. Ergo bekomme ich natürlich auch keine Nachrichten mit den Spritpreisen mehr.
- Kann ich meinen Bot irgendwie aus den Gruppen entfernen? Ich sehe nämlich unter Contacts einige Kontakte, die ich definitiv nicht kenne. In meiner Gruppe ist keiner dieser Kontakte drin.
- Kann ich feststellen, weswegen sich mein System so aufhängt? Vielleicht liege ich ja auch falsch?
Ich finde jetzt wenig Ansätze um herauszulesen, dass es wirklich mit TelegramBot-Nachrichten zusammenhängt. Generell ist es relativ normal, dass einige unbekannte Kontakte unter contacts im telegramBot auftauschen, wenn man das Attribut
allowUnknownContacts nicht auf 0 gesetzt hat.
Der einfachste Weg herauszufinden, ob der Telegrambot Dein System beeinträchtigt, würde sein, wenn Du das Attribut
pollingTimeout auf 0 setzt. Dann werden keine Nachrichten mehr abgerufen und ganz egal in wieviele Gruppen der Bot eingetragen sein sollte.
Zitat von: viegener am 07 April 2019, 23:22:32
Ich habe seit Monaten keine neue Version des Moduls mehr hochgeladen, deshalb bvermute ich erstmal eine andere Ursache, prüfe doch erstmal im Event monitor, welche Events dort ankommen.
Die andere Frage wäre natürlich was has Du ansonsetn geändert, was dieses Verhalten erzuegt haben könnte?
Es kann aber auch sein, dass sich auf Telegram-Server-Seite etwas geändert hat, so dass query-Daten mehrfach vom Server gesendet werden. tritt aber bei mir bisher nicht auf.
Danke für deine Antwort. Kam erst heute dazu weiter auszuprobieren. Ich habe ein Untermenü mit Queryinline aufgerufen und Telegram sofort ua fdem Handy in den Hintergrund geschickt. Das Menü wurde natürlich wieder mehrfach geöffnet und mich mit Miteillungen dazu zugespamt. Im Event sieht das dann so aus:
2019-04-15 22:23:16.597 TelegramBot teleBot queryData: Ⓜ
2019-04-15 22:23:16.597 TelegramBot teleBot queryReplyMsgId: 9327
2019-04-15 22:23:16.739 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:23:16.739 TelegramBot teleBot sentMsgId: 9336
2019-04-15 22:23:16.739 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:23:16.856 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:23:16.856 TelegramBot teleBot sentMsgId: 9337
2019-04-15 22:23:16.856 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:23:16.990 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:23:16.990 TelegramBot teleBot sentMsgId: 9338
2019-04-15 22:23:16.990 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:23:17.115 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:23:17.115 TelegramBot teleBot sentMsgId: 9339
2019-04-15 22:23:17.115 TelegramBot teleBot sentMsgPeerId: 528847740
(...)
Hilft das zur Problemlösung weiter?
So sieht es in rictig aus:
019-04-15 22:30:06.177 TelegramBot teleBot queryPeerId: 528847740
2019-04-15 22:30:06.177 TelegramBot teleBot queryData: Ⓜ
2019-04-15 22:30:06.177 TelegramBot teleBot queryReplyMsgId: 9340
2019-04-15 22:30:06.283 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:30:06.283 TelegramBot teleBot sentMsgId: 9341
2019-04-15 22:30:06.283 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:30:06.431 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:30:06.431 TelegramBot teleBot sentMsgId: 9342
2019-04-15 22:30:06.431 TelegramBot teleBot sentMsgPeerId: 528847740
2 Nachrichten sind korrekt.
Was auffällt, drückt man im "menü" etwas an kommt sofort die Ausgabe, es steht aber ca. 5-6 Sekunden "lädt" am oberen rand. Wird in dieser Zeit die App zugemacht tut er so als wäre die nachricht nicht angekommen und schickt diese immer wieder :(
Code dazu:
define teleBot11 notify teleBot:queryData:.Ⓜ set teleBot queryInline @[teleBot:queryPeer] (✔|🏡|🛫|❌) (Ⓜ⚠|Ⓜ☀) (🔝) Ⓜ <b>Modus </b>;; set teleBot send @[teleBot:queryPeer] Ⓜ <b>{(ReadingsVal("Automatikmodus","state",0))}</b> ⚠ <b>{(ReadingsVal("Ueberwachungsmodus","state",0))}</b> ☀ <b>{(ReadingsVal("Beschattung","state",0))}</b>
Hier nochmal im Ganzen bei einmaligen Klick auf (M) und sofortiges App-Hintergrundschicken.
Menü 1 X angedrückt kommt nach schließen 3-4 mal:
2019-04-15 22:38:11.313 TelegramBot teleBot queryPeer: André
2019-04-15 22:38:11.313 TelegramBot teleBot queryPeerId: 528847740
2019-04-15 22:38:11.313 TelegramBot teleBot queryData: Ⓜ
2019-04-15 22:38:11.313 TelegramBot teleBot queryReplyMsgId: 9351
2019-04-15 22:38:11.458 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:11.458 TelegramBot teleBot sentMsgId: 9360
2019-04-15 22:38:11.458 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:11.580 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:11.580 TelegramBot teleBot sentMsgId: 9361
2019-04-15 22:38:11.580 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:13.220 TelegramBot teleBot queryID: 2271383748913111387
2019-04-15 22:38:13.220 TelegramBot teleBot queryPeer: André
2019-04-15 22:38:13.220 TelegramBot teleBot queryPeerId: 528847740
2019-04-15 22:38:13.220 TelegramBot teleBot queryData: Ⓜ
2019-04-15 22:38:13.220 TelegramBot teleBot queryReplyMsgId: 9351
2019-04-15 22:38:13.339 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:13.339 TelegramBot teleBot sentMsgId: 9362
2019-04-15 22:38:13.339 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:13.470 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:13.470 TelegramBot teleBot sentMsgId: 9363
2019-04-15 22:38:13.470 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:13.699 TelegramBot teleBot Contacts: ....
2019-04-15 22:38:13.738 TelegramBot teleBot queryID: 2271383750856839372
2019-04-15 22:38:13.738 TelegramBot teleBot queryPeer: André
2019-04-15 22:38:13.738 TelegramBot teleBot queryPeerId: 528847740
2019-04-15 22:38:13.738 TelegramBot teleBot queryData: Ⓜ
2019-04-15 22:38:13.738 TelegramBot teleBot queryReplyMsgId: 9351
2019-04-15 22:38:13.879 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:13.879 TelegramBot teleBot sentMsgId: 9364
2019-04-15 22:38:13.879 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:14.062 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:14.062 TelegramBot teleBot sentMsgId: 9365
2019-04-15 22:38:14.062 TelegramBot teleBot sentMsgPeerId: 528847740
Zitat von: Dia81 am 15 April 2019, 22:42:25
Hier nochmal im Ganzen bei einmaligen Klick auf (M) und sofortiges App-Hintergrundschicken.
Menü 1 X angedrückt kommt nach schließen 3-4 mal:
2019-04-15 22:38:11.313 TelegramBot teleBot queryPeer: André
2019-04-15 22:38:11.313 TelegramBot teleBot queryPeerId: 528847740
2019-04-15 22:38:11.313 TelegramBot teleBot queryData: Ⓜ
2019-04-15 22:38:11.313 TelegramBot teleBot queryReplyMsgId: 9351
2019-04-15 22:38:11.458 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:11.458 TelegramBot teleBot sentMsgId: 9360
2019-04-15 22:38:11.458 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:11.580 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:11.580 TelegramBot teleBot sentMsgId: 9361
2019-04-15 22:38:11.580 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:13.220 TelegramBot teleBot queryID: 2271383748913111387
2019-04-15 22:38:13.220 TelegramBot teleBot queryPeer: André
2019-04-15 22:38:13.220 TelegramBot teleBot queryPeerId: 528847740
2019-04-15 22:38:13.220 TelegramBot teleBot queryData: Ⓜ
2019-04-15 22:38:13.220 TelegramBot teleBot queryReplyMsgId: 9351
2019-04-15 22:38:13.339 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:13.339 TelegramBot teleBot sentMsgId: 9362
2019-04-15 22:38:13.339 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:13.470 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:13.470 TelegramBot teleBot sentMsgId: 9363
2019-04-15 22:38:13.470 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:13.699 TelegramBot teleBot Contacts: ....
2019-04-15 22:38:13.738 TelegramBot teleBot queryID: 2271383750856839372
2019-04-15 22:38:13.738 TelegramBot teleBot queryPeer: André
2019-04-15 22:38:13.738 TelegramBot teleBot queryPeerId: 528847740
2019-04-15 22:38:13.738 TelegramBot teleBot queryData: Ⓜ
2019-04-15 22:38:13.738 TelegramBot teleBot queryReplyMsgId: 9351
2019-04-15 22:38:13.879 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:13.879 TelegramBot teleBot sentMsgId: 9364
2019-04-15 22:38:13.879 TelegramBot teleBot sentMsgPeerId: 528847740
2019-04-15 22:38:14.062 TelegramBot teleBot sentMsgResult: SUCCESS
2019-04-15 22:38:14.062 TelegramBot teleBot sentMsgId: 9365
2019-04-15 22:38:14.062 TelegramBot teleBot sentMsgPeerId: 528847740
OK, ich habe Dein Szenario jetzt mal bei mir nachgestellt. Ja auch bei mir (unter iOS) wird der Event mehrfach generiert. Das Problem liegt aber ganz woanders. Bei der Benutzung von queryInline muss nach der Übertragung von queryData (also nach dem ein Knopf gedrückt wurde) zwingend eine Antwort (queryAnswer) mit der queryId gesendet werden.
Du sendest aber nur eine "normale" Nachricht, damit bleibt die Betätigung des Buttons unbestätigt und wird wohl von Telegram wiederholt bis die Reaktion (answer9 erfolgt ist.
Wenn Du also in Deiner Reaktion auf einen Knopf im notify statt
set teleBot send @[teleBot:queryPeer] ...
besser folgendes einfügst
set teleBot queryAnswer [teleBot:queryID] ...
sollte es funktionieren
Zitat von: viegener am 17 April 2019, 00:16:09
OK, ich habe Dein Szenario jetzt mal bei mir nachgestellt. Ja auch bei mir (unter iOS) wird der Event mehrfach generiert. Das Problem liegt aber ganz woanders. Bei der Benutzung von queryInline muss nach der Übertragung von queryData (also nach dem ein Knopf gedrückt wurde) zwingend eine Antwort (queryAnswer) mit der queryId gesendet werden.
Du sendest aber nur eine "normale" Nachricht, damit bleibt die Betätigung des Buttons unbestätigt und wird wohl von Telegram wiederholt bis die Reaktion (answer9 erfolgt ist.
Wenn Du also in Deiner Reaktion auf einen Knopf im notify statt
set teleBot send @[teleBot:queryPeer] ...
besser folgendes einfügst
set teleBot queryAnswer [teleBot:queryID] ...
sollte es funktionieren
Vielen Dank für deine Hilfe, werde es hoffentlich Ostern rum direkt testen dies zu ändern. Hoffe das dann dadurch trotzdem nur derjenige die "Antwort" bekommt der auch den Befehl gesendet hat. Meine Frau und ich nutzen das System nämlich beide und nur derjenige der was "tippt" soll ja auch die "Antwort" bekommen. Teste es und werde berichten :)
Zitat von: viegener am 17 April 2019, 00:16:09
OK, ich habe Dein Szenario jetzt mal bei mir nachgestellt. Ja auch bei mir (unter iOS) wird der Event mehrfach generiert. Das Problem liegt aber ganz woanders. Bei der Benutzung von queryInline muss nach der Übertragung von queryData (also nach dem ein Knopf gedrückt wurde) zwingend eine Antwort (queryAnswer) mit der queryId gesendet werden.
Du sendest aber nur eine "normale" Nachricht, damit bleibt die Betätigung des Buttons unbestätigt und wird wohl von Telegram wiederholt bis die Reaktion (answer9 erfolgt ist.
Wenn Du also in Deiner Reaktion auf einen Knopf im notify statt
set teleBot send @[teleBot:queryPeer] ...
besser folgendes einfügst
set teleBot queryAnswer [teleBot:queryID] ...
sollte es funktionieren
So kam heute zum testen. Leider funktioniert dies nicht :(
Habe besipeilweise folgenden Code nach deinem Rat geändert:
define teleBot11 notify teleBot:queryData:.Ⓜ set teleBot queryAnswer [teleBot:queryID] (✔|🏡|🛫|❌) (Ⓜ⚠|Ⓜ☀) (🔝) Ⓜ <b>Modus </b>;; set teleBot queryAnswer [teleBot:queryID] Ⓜ <b>{(ReadingsVal("Automatikmodus","state",0))}</b> ⚠ <b>{(ReadingsVal("Ueberwachungsmodus","state",0))}</b> ☀ <b>{(ReadingsVal("Beschattung","state",0))}</b>
Wenn ich jetzt auf Ⓜ drücke erscheint das untermenü
nicht im Chatverlauf sondern taucht nur kurz am oberen Rand auf.
Das aber immerhin nur einmal... :)
Siehe Foto...
Andere Ideen? Muss dorch irgendwie ansteuerbar sein. Warum auch immer diese "mehrfach"-Meldungen aufeinmal auftauchen :((
Im Anhang hab ich mal ein Foto wie es bei Klick auf (M) normalweise und mit dem "alten" Code aussehen sollte. Hier ist auch wieder das "lädt" auffällig was beim "schließen" der App das Untermenü dann nettterweise 4 x öffnet.
Zitat von: Dia81 am 22 April 2019, 22:28:07
Im Anhang hab ich mal ein Foto wie es bei Klick auf (M) normalweise und mit dem "alten" Code aussehen sollte.
Ich wusste gar nicht, dass man da auch nette Icons senden kann. Gibst du die einfach ein? Codiert? Wo kann man da was nachlesen?
Gesendet von iPad mit Tapatalk Pro
Zitat von: andies am 23 April 2019, 09:29:57
Ich wusste gar nicht, dass man da auch nette Icons senden kann. Gibst du die einfach ein? Codiert? Wo kann man da was nachlesen?
Gesendet von iPad mit Tapatalk Pro
In der Wiki zu Telegram ist betreffend Emoji ein link. Auf der Seite nur copy und paste in Code .
Zitat von: Dia81 am 22 April 2019, 22:21:03
So kam heute zum testen. Leider funktioniert dies nicht :(
Habe besipeilweise folgenden Code nach deinem Rat geändert:
define teleBot11 notify teleBot:queryData:.Ⓜ set teleBot queryAnswer [teleBot:queryID] (✔|🏡|🛫|❌) (Ⓜ⚠|Ⓜ☀) (🔝) Ⓜ <b>Modus </b>;; set teleBot queryAnswer [teleBot:queryID] Ⓜ <b>{(ReadingsVal("Automatikmodus","state",0))}</b> ⚠ <b>{(ReadingsVal("Ueberwachungsmodus","state",0))}</b> ☀ <b>{(ReadingsVal("Beschattung","state",0))}</b>
Wenn ich jetzt auf Ⓜ drücke erscheint das untermenü nicht im Chatverlauf sondern taucht nur kurz am oberen Rand auf.
Das aber immerhin nur einmal... :)
Siehe Foto...
Andere Ideen? Muss dorch irgendwie ansteuerbar sein. Warum auch immer diese "mehrfach"-Meldungen aufeinmal auftauchen :((
Vielleicht habe ich das nicht gut genug erklärt. Auf den Tastendruck muss zwingend ein queryAnswer erfolgen (dies ist aber kein normaler Messagesend, sondern nur eine Bestätigung, dass die Anfrage eingegangen ist). Also den queryAnswer zusätzlich und nicht mehrfach. Danach kann es weitergehen entweder mit neuem queryInline oder queryEditInline
Und nochmal die Mehrfachmeldungen hängen genau mit dem Punkt zusammen, dass Du die Bestätigung (also queryAnswer) nicht versendest, denn diese ist zwingend erforderlich und war so im Bot-API auch dokumentiert. Vermutlich hat Telegram eine Änderung gemacht, dass die Meldungen wiederholt werden, bis die Bestätigung kommt.
Es gibt aber auch noch das Attribut
queryAnswerText , damit kannst Du die Antowrt auch automatisch generieren lassen.
Zitat von: viegener am 23 April 2019, 16:08:24
Vielleicht habe ich das nicht gut genug erklärt. Auf den Tastendruck muss zwingend ein queryAnswer erfolgen (dies ist aber kein normaler Messagesend, sondern nur eine Bestätigung, dass die Anfrage eingegangen ist). Also den queryAnswer zusätzlich und nicht mehrfach. Danach kann es weitergehen entweder mit neuem queryInline oder queryEditInline
Und nochmal die Mehrfachmeldungen hängen genau mit dem Punkt zusammen, dass Du die Bestätigung (also queryAnswer) nicht versendest, denn diese ist zwingend erforderlich und war so im Bot-API auch dokumentiert. Vermutlich hat Telegram eine Änderung gemacht, dass die Meldungen wiederholt werden, bis die Bestätigung kommt.
Es gibt aber auch noch das Attribut queryAnswerText , damit kannst Du die Antowrt auch automatisch generieren lassen.
Vielen Dank aber ganz ehrlich ich kapier es nicht. Hast du Evtl ein Beispiel?
Zitat von: Dia81 am 23 April 2019, 16:37:44
Vielen Dank aber ganz ehrlich ich kapier es nicht. Hast du Evtl ein Beispiel?
Ist eigentlich ganz einfach, Du hattest mal folgenden Code gepostet:
define teleBot110 notify teleBot:queryData:.BrunnenH set Fritz_Steckdose_Aussen toggle;;set teleBot send @[teleBot:queryPeer] ...;;sleep 10;; set teleBot send @[teleBot:queryPeer] Brunnen jetzt <b>{(ReadingsVal ("Fritz_Steckdose_Aussen","state",0))}</b>
Daraus mach doch erstmal (ohne das jetzt ausprobiert zu haben)
define teleBot110 notify teleBot:queryData:.BrunnenH set teleBot queryAnswer [teleBot:queryID] ;; set Fritz_Steckdose_Aussen toggle;;set teleBot send @[teleBot:queryPeer] ...;;sleep 10;; set teleBot send @[teleBot:queryPeer] Brunnen jetzt <b>{(ReadingsVal ("Fritz_Steckdose_Aussen","state",0))}</b>
Also nur den queryAnswer-Befehl hinzufügen.
Wenn Du dann das vorherige Menu in einem zweiten Schritt verändern willst, dann ist es etwas komplizierter. Aber vielleicht erstmal das testen.
Zitat von: viegener am 23 April 2019, 16:46:21
Ist eigentlich ganz einfach, Du hattest mal folgenden Code gepostet:
define teleBot110 notify teleBot:queryData:.BrunnenH set Fritz_Steckdose_Aussen toggle;;set teleBot send @[teleBot:queryPeer] ...;;sleep 10;; set teleBot send @[teleBot:queryPeer] Brunnen jetzt <b>{(ReadingsVal ("Fritz_Steckdose_Aussen","state",0))}</b>
Daraus mach doch erstmal (ohne das jetzt ausprobiert zu haben)
define teleBot110 notify teleBot:queryData:.BrunnenH set teleBot queryAnswer [teleBot:queryID] ;; set Fritz_Steckdose_Aussen toggle;;set teleBot send @[teleBot:queryPeer] ...;;sleep 10;; set teleBot send @[teleBot:queryPeer] Brunnen jetzt <b>{(ReadingsVal ("Fritz_Steckdose_Aussen","state",0))}</b>
Also nur den queryAnswer-Befehl hinzufügen.
Wenn Du dann das vorherige Menu in einem zweiten Schritt verändern willst, dann ist es etwas komplizierter. Aber vielleicht erstmal das testen.
geändert und funktioniert :) kommt nur einmal und wie von vorher gewohnt! soweit so gut, jetzt frag ich mich wie das beim Menü > Untermenü funktionieren soll ?
[edit]
habe jetzt ÜBERALL "set teleBot queryAnswer [teleBot:queryID]" vorgesetzt, auch vor die Untermenüs die dann mit "inline" folgen. SCheint nach den ersten Versuchen zu funktionieren.. in aller Vorsicht..
Zitat von: Dia81 am 23 April 2019, 13:42:20
In der Wiki zu Telegram ist betreffend Emoji ein link. Auf der Seite nur copy und paste in Code .
Danke, gefunden. Das ist wirklich einfach. Für diejenigen, die wissen wollen, wie man die inline-keyboards erzeugt, hier noch ein Link. Vielleicht schaffe ich das, dies ins Wiki einzutragen
https://forum.fhem.de/index.php/topic,77297.msg692609.html#msg692609 (https://forum.fhem.de/index.php/topic,77297.msg692609.html#msg692609)
Hi,
ich setze den Telegram-Bot schon seit Jahren ein - funktioniert super, vielen Dank!
Jetzt hab ich allerdings ein Problemchen:
Ich lasse mir auf Anfrage die aktuellen Spritpreise "meiner" Tankstellen zukommen und zwar in dem Format Preis - Name der Tanke - Datum der letzten Aktualisierung.
Den String dazu bastle ich in der myUtils zusammen und lasse ihn auch loggen.
Ich hab zur besseren Lesbarkeit die Namen der Tankstellen mit Leerzeichen (oder testweise auch mit Underscores) rechts gepadded.
Im Log schaut das wunderbar aus, aber Telegram schneidet sowohl die Leerzeichen als auch die Underscores (hier ist es ein wenig besser) heraus. Ich hab schon versucht, den String vor dem Senden mit iso-8859-1 zu encoden, das hat leider auch nicht geholfen.
Weiss jemand, wie man Telegram abgewöhnen kann, Leerzeichen auszublenden? Ich hoffe, die Frage wurde nicht schon gestellt...
Cheers,
Pula
Kann man deinen Sendbefhel bzw. die myUtils Routine bitte sehen?
Klar, gerne.
Ist nicht besonders schön (man könnte da sicher einiges eleganter lösen) - funktioniert aber soweit - bis auf das mit dem bündigen ausgeben...
my $devspec = "dSpritpreis_.*";
my @spritlist = devspec2array($devspec);
my %tankstellen;
foreach (@spritlist) {
my $preis=ReadingsVal($_, "state", "0");
my $lastupdate = ReadingsTimestamp($_, "state", "0");
my $tankstelle = substr $_, 12;
$lastupdate = substr $lastupdate, 0, 16;
my $month = substr $lastupdate, 5,2;
my $day = substr $lastupdate, 8,2;
my $time = substr $lastupdate, 11, 5;
$lastupdate = $day . "." . $month . " " . $time;
$tankstellen{$tankstelle}{"preis"} = $preis;
$tankstellen{$tankstelle}{"update"} = $lastupdate;
}
$status = "";
foreach my $key ( #
sort { $tankstellen{$a}->{"preis"} cmp $tankstellen{$b}->{"preis"} } #
keys %tankstellen
)
{
my $value = $tankstellen{$key};
while (length($key)<14) { $key = $key . " "; };
$status .= $value->{"preis"} . " " . $key . " (" . $value->{"update"} . ")\n";
}
Log 1, "sprit: $status";
$status = encode("iso-8859-1", $status);
fhem "set telegram message \@" . $sender . " " . $status;
Zitat von: pula am 02 Mai 2019, 00:36:54
Hi,
ich setze den Telegram-Bot schon seit Jahren ein - funktioniert super, vielen Dank!
Jetzt hab ich allerdings ein Problemchen:
Ich lasse mir auf Anfrage die aktuellen Spritpreise "meiner" Tankstellen zukommen und zwar in dem Format Preis - Name der Tanke - Datum der letzten Aktualisierung.
Den String dazu bastle ich in der myUtils zusammen und lasse ihn auch loggen.
Ich hab zur besseren Lesbarkeit die Namen der Tankstellen mit Leerzeichen (oder testweise auch mit Underscores) rechts gepadded.
Im Log schaut das wunderbar aus, aber Telegram schneidet sowohl die Leerzeichen als auch die Underscores (hier ist es ein wenig besser) heraus. Ich hab schon versucht, den String vor dem Senden mit iso-8859-1 zu encoden, das hat leider auch nicht geholfen.
Weiss jemand, wie man Telegram abgewöhnen kann, Leerzeichen auszublenden? Ich hoffe, die Frage wurde nicht schon gestellt...
Cheers,
Pula
In diesem Fall ist Telegram sogar ziemlich unschuldig, denn das Problem liegt eher darin, dass in FHEm die parameter zu einem set-Befehl bekommen an einem Leerzeichen (oder mehreren) aufgetrennt werden. Danach setze ich die Teile wieder mit nur einem Leerzeichen zusammen, da die Information über die Trennzeichen nicht mehr vorhanden ist. Das ist auch nicht so einfach umzustellen.
Zitat von: viegener am 02 Mai 2019, 21:14:31
In diesem Fall ist Telegram sogar ziemlich unschuldig, denn das Problem liegt eher darin, dass in FHEm die parameter zu einem set-Befehl bekommen an einem Leerzeichen (oder mehreren) aufgetrennt werden. Danach setze ich die Teile wieder mit nur einem Leerzeichen zusammen, da die Information über die Trennzeichen nicht mehr vorhanden ist. Das ist auch nicht so einfach umzustellen.
Hmm... verstehe. Aber auch, als ich die Leerzeichen durch underscores ersetzt habe (weil ich genau so etwas vermutet hatte), hats nicht ganz gepasst. Wäre es eine Möglichkeit, die Leerzeichen zu escapen?
Zitat von: pula am 02 Mai 2019, 21:21:07
Hmm... verstehe. Aber auch, als ich die Leerzeichen durch underscores ersetzt habe (weil ich genau so etwas vermutet hatte), hats nicht ganz gepasst. Wäre es eine Möglichkeit, die Leerzeichen zu escapen?
Ich habe mal in github eine Testversion eingechecked, bei der man statt Leerzeichen auch \s verwenden kann. Das kannst Du ausprobieren.
Danke sehr. Tut jetzt grundsätzlich.
Leider benutzt telegram keinen fixed font - daher schauts immer noch bescheiden aus.
Aber wenn mans aus telegram in einen editor mit fixed font kopiert, passt es.
Weisst Du zufällig, ob Telegram auch Tab zur Formatierung unterstützt? Das wäre evtl noch eine Möglichkeit?!
Zitat von: pula am 02 Mai 2019, 22:23:34
Weisst Du zufällig, ob Telegram auch Tab zur Formatierung unterstützt? Das wäre evtl noch eine Möglichkeit?!
Ich habe zumindest eine Untertsützung für \t eingebaut, aber inzwischen scheint daraus ein einzelnes Leerzeichen bei Telegram zu werden. Ich meine mich zu erinnern, dass \x09 (tabulator ascii zeichen) früher funktioniert hat, jetzt konnte ich das aber nicht mehr erreichen. Hast Du mal mit den verschiedenen Formen von
parseModeSend ausprobiert? Es gibt ja auch eine minimale HTML-unterstützung.
@pula: Die Syntax für markdown und HTML sind übrigens hier erklärt:
https://core.telegram.org/bots/api#formatting-options (https://core.telegram.org/bots/api#formatting-options) und die Verwendung im Modul ist in der Commandref erklärt
Danke sehr!
Ich werde mir das ansehen und hier berichten. Kann aber ein wenig dauern...
Cheers,
Pula
Ich habe Probleme beim Löschen von Nachrichten ("message can't be deleted") und mir ist nicht klar, warum der Bot das verweigert. Die Suche hier (https://stackoverflow.com/questions/35269776/telegram-bot-how-to-delete-or-remove-a-message-or-media-from-a-channel-or-group/35271942 (https://stackoverflow.com/questions/35269776/telegram-bot-how-to-delete-or-remove-a-message-or-media-from-a-channel-or-group/35271942)) ergab auch nichts, was ich nachvollziehen könnte.
Ich mache das derzeit zB so:
sub LogFileEintraegeSenden(){
my $datum;
$datum = POSIX::strftime("%Y-%m",localtime(time));
my $nachricht;
$nachricht = qx(tail -n10 /opt/fhem/log/fhem-$datum.log);
$nachricht =~ s/;//g; ##Semikolon entfernen
$nachricht =~ s/&//g; ##siehe https://core.telegram.org/bots/api#markdown-style
$nachricht =~ s/<//g; ##
$nachricht =~ s/>//g; ##
fhem("set TelegramBot _msg ```".$nachricht."```; sleep 10; defmod LogfileDelete at +05:00:00 set TelegramBot msgDelete ".InternalVal("TelegramBot", "sentMsgId",0));
}
Weiß jemand, was da falsch ist?
Zitat von: andies am 07 Mai 2019, 19:17:22
Ich habe Probleme beim Löschen von Nachrichten ("message can't be deleted") und mir ist nicht klar, warum der Bot das verweigert. Die Suche hier (https://stackoverflow.com/questions/35269776/telegram-bot-how-to-delete-or-remove-a-message-or-media-from-a-channel-or-group/35271942 (https://stackoverflow.com/questions/35269776/telegram-bot-how-to-delete-or-remove-a-message-or-media-from-a-channel-or-group/35271942)) ergab auch nichts, was ich nachvollziehen könnte.
Ich mache das derzeit zB so:
sub LogFileEintraegeSenden(){
my $datum;
$datum = POSIX::strftime("%Y-%m",localtime(time));
my $nachricht;
$nachricht = qx(tail -n10 /opt/fhem/log/fhem-$datum.log);
$nachricht =~ s/;//g; ##Semikolon entfernen
$nachricht =~ s/&//g; ##siehe https://core.telegram.org/bots/api#markdown-style
$nachricht =~ s/<//g; ##
$nachricht =~ s/>//g; ##
fhem("set TelegramBot _msg ```".$nachricht."```; sleep 10; defmod LogfileDelete at +05:00:00 set TelegramBot msgDelete ".InternalVal("TelegramBot", "sentMsgId",0));
}
Weiß jemand, was da falsch ist?
Ja, Du wertest die sentMsgID aus während des Ablaufs Deiner sub LogFileEintraegeSenden. Also noch vor die Nachricht gesendet wird. Denn der Teil InternalVal... wird ja ausgewertet BEVOR fhem überhaupt aufgerufen wird und die Nachricht versendet.
Nebenbei - warum verwendest Du Internal (es gibt auch ein Reading)?
Sauber wäre auf das Versenden der Nachrichti zu reagieren (also notify auf sentMsgId mit zusätzlicher Überprüfung ob das eine logfile msg war - zum Beispiel über geeigneten msg prefix) und dann erst im notify den at mit dem msgdelete aufsetzen. Dann ist auch sichergestellt, dass die sentMsgId die richtige ist und nicht zufällig diejenige die gerade im Device steht beim Aufruf.
Danke! Wenn ich was habe, werde ich das hier einstellen.
Hallo zusammen,
ich möchte per telegram eine html nachricht senden. Dabei soll ein bild gesendet werden, das auf eine bestimmte URL linked.
Wenn ich das Bild erhalte soll dann ein Klick darauf die hinterlegte url öffnen.
Hat das schon einmal jemand gemacht?
Gruß
Jan
Ich habe ein ähnliches thema.
Ich möchte Daten in einer tabellenform mit farbiger Schrift an mein Handy über Telegram senden.
Da scheinbar der Bot das so nicht unterstützt überlege ich Wie ich die Info zu einem Bild konvertieren kann und dann versende...
Ich brauche das um Informationen lesbar und übersichtlich darstellen zu können.
Hallo allerseits,
ich bekomme seltsamer Weise seit dem 10.05. keine Bilder mehr an meinen Bot verschickt. Ein sendImage @***botname*** /opt/fhem/www/snapshots/Cam2_Einfahrt_IPCAM_snapshot.jpg
liefert nur noch ein "NonBlockingGet: returned write error: Die Ressource ist zur Zeit nicht verfügbar" zurück. Text versenden ist kein Problem. Ich habe nichts an der Config geändert. Das eigentliche Bild ist korrekt vorhanden und die Berechtigungen passen auch auf dem Filesystem.
Hat das Problem auch irgendwer?
Außer, dass die Telegram-App für Android selbst in der Zeit upgedated wurde, fällt mir nichts ein.
Besten Dank für jegliche Hilfe.
Blackbite
Zitat von: blackbite am 13 Mai 2019, 08:22:26
Hallo allerseits,
ich bekomme seltsamer Weise seit dem 10.05. keine Bilder mehr an meinen Bot verschickt. Ein sendImage @***botname*** /opt/fhem/www/snapshots/Cam2_Einfahrt_IPCAM_snapshot.jpg
liefert nur noch ein "NonBlockingGet: returned write error: Die Ressource ist zur Zeit nicht verfügbar" zurück. Text versenden ist kein Problem. Ich habe nichts an der Config geändert. Das eigentliche Bild ist korrekt vorhanden und die Berechtigungen passen auch auf dem Filesystem.
Hat das Problem auch irgendwer?
Außer, dass die Telegram-App für Android selbst in der Zeit upgedated wurde, fällt mir nichts ein.
Besten Dank für jegliche Hilfe.
Blackbite
Mmh - die Fehlermeldung tritt wohl auf, während das Bild an Telegram gesendet wird. Mit den Berechtigungen sollte das nichts zu tun zuhaben und auch mit der Android App definitiv nicht. Wenn das vorher mit genau denselben Bildern funktioniert hat, ist mir das erstmal ein Rätsel.
Vielleicht kannst Du mal ein paar Dinge ausprobieren / beantworten:
- Neustart des Rechners auf dem FHEM läuft
- Versenden eines kleinen Bildes von Hand --> Ergebnis?
- Gibt es (angenommen raspbian?) Systemmeldungen im syslog etc?
- Dateisysteme voll (z.B. /tmp ?)
- Gibt es Netzwerkprobleme (oder andere Meldungen, die auf instabile Netzwerkverbindungen hindeuten
- Tritt es bei jedem Bilder-Versand auf oder nur gelegentlich
Ansonsten wäre es gut, etwas mehr über die Umgebung und Infrastruktur Deines FHEMS und der Bilder zu hören. Da die Fehlermeldung vom System kommt, beim Netzwerktransfer an Telegram.
Morgen,
Ebenfalls seit dem 10.05. schickt eine meiner Instanzen einen Plot nicht mehr.
Letztes Update war am 09.05.
Ein Restore auf den Stand vom 24.04. bringt keinen Erfolg.
Somit schließe ich FHEM als Verursacher aus und gehe zurück auf den Stand vom 09.05.
Wenn ich den Plot verkleinere funktioniert es wieder.
vergrößere ich einen anderen Plot der aktuell funktioniert so geht dieser nicht mehr.
Es scheint als hätte Telegram hier Probleme / Änderungen.
Werde den "Fehlerhaften" Plot mal auf einer anderen Instanz testen.
Durch den zetralen MySQL hab ich die Daten überall.
Hallo,
bei mir ist das gleiche Problem,
ZitatHallo allerseits,
ich bekomme seltsamer Weise seit dem 10.05. keine Bilder mehr an meinen Bot verschickt. Ein sendImage @***botname*** /opt/fhem/www/snapshots/Cam2_Einfahrt_IPCAM_snapshot.jpg
liefert nur noch ein "NonBlockingGet: returned write error: Die Ressource ist zur Zeit nicht verfügbar" zurück. Text versenden ist kein Problem. Ich habe nichts an der Config geändert. Das eigentliche Bild ist korrekt vorhanden und die Berechtigungen passen auch auf dem Filesystem.
-Text versenden geht
-Bilder bis 50 Kb geht auch
-Bilder größer (zb. 900 kb geht nicht mehr) seid 10.05.2019 > Fehler >sentMsgResult > NonBlockingGet: returned write error: Resource temporarily unavailable
>PollingLastError>NonBlockingGet timed out on read from <hidden> after 245s
-Updates Aktuell
Grüße Robert
Zitat von: co010 am 13 Mai 2019, 11:55:12
Hallo,
bei mir ist das gleiche Problem,
-Text versenden geht
-Bilder bis 50 Kb geht auch
-Bilder größer (zb. 900 kb geht nicht mehr) seid 10.05.2019 > Fehler >sentMsgResult > NonBlockingGet: returned write error: Resource temporarily unavailable
>PollingLastError>NonBlockingGet timed out on read from <hidden> after 245s
-Updates Aktuell
Grüße Robert
Danke @all
Ist genau mein Verhalten, was Robert hier beschreibt. Meine jpg-Datei ist etwa 63kB groß und kommt zu 99% nicht an. Ich kann erst heute Abend einen Versuch mit einer Datei <50kB machen.
Ich hab jetzt noch etwas rungetestet mit meinen Instanzen...
Die Problematischnen Plots und das DOIF zum senden auf eine andere Instanz kopiert.
Diese ist Update Stand 24.04.2019. --> keine Probleme.
Den API Key dieser Instanz auf die andere übernommen. --> gleiches Problem.
Update gemacht. --> Problem ist da.
Restore gemacht: Problem beseitigt.
Somit scheint es für mich an einem der updates zwischen dem 24.04. und 09.05. zu liegen.
Hier das Log vom Update Heute (vom Restore ist im Log nichts zu sehen):
2019.05.13 13:49:37 1: backup done: FHEM-20190513_134852.tar.gz (32923647 Bytes)
2019.05.13 13:49:37 1: RMDIR: ./restoreDir/update/2019-02-21
2019.05.13 13:49:37 1: UPD ./CHANGED
2019.05.13 13:49:37 1: UPD ./MAINTAINER.txt
2019.05.13 13:49:37 1: UPD ./fhem.cfg.demo
2019.05.13 13:49:38 1: UPD ./fhem.pl
2019.05.13 13:49:38 1: UPD FHEM/00_MYSENSORS.pm
2019.05.13 13:49:38 1: UPD FHEM/01_FHEMWEB.pm
2019.05.13 13:49:38 1: UPD FHEM/10_EnOcean.pm
2019.05.13 13:49:38 1: UPD FHEM/10_MQTT2_DEVICE.pm
2019.05.13 13:49:38 1: UPD FHEM/10_MYSENSORS_DEVICE.pm
2019.05.13 13:49:38 1: UPD FHEM/10_RESIDENTS.pm
2019.05.13 13:49:38 1: UPD FHEM/10_ZWave.pm
2019.05.13 13:49:38 1: UPD FHEM/20_GUEST.pm
2019.05.13 13:49:38 1: UPD FHEM/20_PET.pm
2019.05.13 13:49:38 1: UPD FHEM/20_ROOMMATE.pm
2019.05.13 13:49:38 1: UPD FHEM/46_TRX_LIGHT.pm
2019.05.13 13:49:38 1: UPD FHEM/49_SSCam.pm
2019.05.13 13:49:38 1: UPD FHEM/50_HP1000.pm
2019.05.13 13:49:39 1: UPD FHEM/50_MOBILEALERTSGW.pm
2019.05.13 13:49:39 1: UPD FHEM/55_DWD_OpenData.pm
2019.05.13 13:49:39 1: UPD FHEM/70_Pushover.pm
2019.05.13 13:49:39 1: UPD FHEM/73_AMADCommBridge.pm
2019.05.13 13:49:39 1: UPD FHEM/73_AutoShuttersControl.pm
2019.05.13 13:49:39 1: UPD FHEM/73_DoorBird.pm
2019.05.13 13:49:39 1: UPD FHEM/73_GardenaSmartBridge.pm
2019.05.13 13:49:39 1: UPD FHEM/74_AMADDevice.pm
2019.05.13 13:49:39 1: UPD FHEM/76_SMAInverter.pm
2019.05.13 13:49:39 1: UPD FHEM/88_HMCCU.pm
2019.05.13 13:49:39 1: UPD FHEM/88_HMCCURPCPROC.pm
2019.05.13 13:49:39 1: UPD FHEM/91_notify.pm
2019.05.13 13:49:39 1: UPD FHEM/93_DbRep.pm
2019.05.13 13:49:39 1: UPD FHEM/95_YAAHM.pm
2019.05.13 13:49:39 1: UPD FHEM/98_DOIF.pm
2019.05.13 13:49:40 1: UPD FHEM/98_Heating_Control.pm
2019.05.13 13:49:40 1: UPD FHEM/98_Installer.pm
2019.05.13 13:49:40 1: UPD FHEM/98_MediaList.pm
2019.05.13 13:49:40 1: UPD FHEM/98_Modbus.pm
2019.05.13 13:49:40 1: UPD FHEM/98_RandomTimer.pm
2019.05.13 13:49:40 1: UPD FHEM/98_Text2Speech.pm
2019.05.13 13:49:40 1: UPD FHEM/98_WeekdayTimer.pm
2019.05.13 13:49:40 1: UPD FHEM/98_autocreate.pm
2019.05.13 13:49:40 1: UPD FHEM/98_livetracking.pm
2019.05.13 13:49:40 1: UPD FHEM/98_vitoconnect.pm
2019.05.13 13:49:40 1: UPD FHEM/98_weekprofile.pm
2019.05.13 13:49:40 1: UPD FHEM/DevIo.pm
2019.05.13 13:49:40 1: UPD FHEM/HttpUtils.pm
2019.05.13 13:49:40 1: UPD FHEM/Meta.pm
2019.05.13 13:49:40 1: UPD FHEM/RESIDENTStk.pm
2019.05.13 13:49:40 1: UPD FHEM/UConv.pm
2019.05.13 13:49:40 1: UPD FHEM/holiday/ni.holiday
2019.05.13 13:49:40 1: UPD FHEM/holiday/ns.holiday
2019.05.13 13:49:40 1: UPD FHEM/holiday/th.holiday
2019.05.13 13:49:40 1: UPD FHEM/lib/74_AMADautomagicFlowset_4.4.1.xml
2019.05.13 13:49:40 1: UPD FHEM/lib/74_AMADtaskerset_4.4.1.prj.xml
2019.05.13 13:49:40 1: UPD FHEM/lib/AttrTemplate/httpmod.template
2019.05.13 13:49:41 1: UPD FHEM/lib/AttrTemplate/mqtt2.template
2019.05.13 13:49:41 1: UPD FHEM/lib/fhem_zwave_deviceconfig.xml.gz
2019.05.13 13:49:41 1: UPD demolog/fhem.save
2019.05.13 13:49:41 1: UPD docs/commandref_frame.html
2019.05.13 13:49:41 1: UPD docs/commandref_frame_DE.html
2019.05.13 13:49:41 1: UPD www/gplot/ElsnerWS.gplot
2019.05.13 13:49:41 1: UPD www/gplot/ElsnerWS_2.gplot
2019.05.13 13:49:41 1: UPD www/gplot/ElsnerWS_3.gplot
2019.05.13 13:49:41 1: UPD www/pgm2/f18.js
2019.05.13 13:49:41 1: UPD www/pgm2/fhemweb.js
2019.05.13 13:49:41 1: saving fhem.cfg
2019.05.13 13:49:41 1: saving ./log/fhem.save
2019.05.13 13:49:41 1:
2019.05.13 13:49:41 1: New entries in the CHANGED file:
2019.05.13 13:49:41 1: - bugfix: 88_HMCCU: Flag for disabling initial device update
2019.05.13 13:49:41 1: - bugfix: 10_MYSENSORS_DEVICE: prevent fhem crashing by ack timeout
2019.05.13 13:49:41 1: at higher verobse levels
2019.05.13 13:49:41 1: - change: 98_Heating_Control.pm will be removed soon. Users will need to
2019.05.13 13:49:41 1: change their device definitions to 98_WeekdayTimer; supporting
2019.05.13 13:49:41 1: code is provided, but perl calls have to be changed manually.
2019.05.13 13:49:41 1: - bugfix: 73_AutoShuttersControl: fix bug roommate and windwo comfort
2019.05.13 13:49:41 1: - bugfix: 73_DoorBird: Error 404 handling for history images corrected
2019.05.13 13:49:41 1: - bugfix: 73_AutoShuttersControl: fix sunset sunrise object values
2019.05.13 13:49:41 1: - feature: 74_AMADtaskerset_4.4.0.prj: add nfc tag support in taskerset
2019.05.13 13:49:41 1: 74_AMADautomagicflowset: fix bug then use VLC player
2019.05.13 13:49:41 1: - feature: 73_DoorBird: Images can be stored as JPGs
2019.05.13 13:49:41 1: - feature: 73_DoorBird: Secure communication with https ans SessionID
2019.05.13 13:49:41 1: - bugfix: 73_AutoShuttersControl: fix brightness detection for IsDay,
2019.05.13 13:49:41 1: fix detection for manual driveing
2019.05.13 13:49:41 1: - bugfix: 73_GardenaSmartBridge: fix the fix
2019.05.13 13:49:41 1: - bugfix: 73_GardenaSmartBridge: check if defined $data
2019.05.13 13:49:41 1: - bufix: 55_DWD_OpenData: SunUp calculation (forum #83097 msg #931972)
2019.05.13 13:49:41 1: - feature: 10_RESIDENTS: add home alone mode
2019.05.13 13:49:41 1: - new: 20_PET: new RESIDENTS module type for pets at home
2019.05.13 13:49:41 1: - bugfix: 73_AutoShuttersControl: fix bugs and logic problems
2019.05.13 13:49:41 1: - feature: 98_weekprofile: HMCCU support
2019.05.13 13:49:41 1: - change: 10_MYSENSORS_DEVICE: enhance support for SetExtensions;
2019.05.13 13:49:41 1: separate readings for heatrbeat, smartSleep & NACK
2019.05.13 13:49:41 1: - bugfix: 73_GardenaSmartBridge: fix undefined_value Error
2019.05.13 13:49:41 1: - feature: 98_Text2Speech: add Amazon Polly as new suggested TTS-Engine
2019.05.13 13:49:41 1: ... rest of lines skipped.
2019.05.13 13:49:41 1: Calling /usr/bin/perl ./contrib/commandref_join.pl -noWarnings, this may take a while
2019.05.13 13:53:32 1: *** EN FHEM/44_Rollo.pm: ignoring text due to DOS encoding
2019.05.13 13:53:32 1: *** DE FHEM/44_Rollo.pm: ignoring text due to DOS encoding
2019.05.13 13:53:32 1:
2019.05.13 13:53:32 1: update finished, "shutdown restart" is needed to activate the changes.
2019.05.13 13:53:32 1:
2019.05.13 13:53:33 1: fheminfo Statistics data sent to server. See Logfile (level 4) for details.
2019.05.13 13:55:10 1: Server shutdown delayed due to logdb for max 10 sec
2019.05.13 13:55:21 0: Server shutdown
2019.05.13 13:55:24 1: Including fhem.cfg
So, hab noch einige tests gemacht und Module vom Update ausgeschlossen.
Der Verursacher ist: HttpUtils.pm
HttpUtils.pm 17831 2018-11-24 15:09:17Z rudolfkoenig
macht keine probleme,
Die einzige Ändeung scheint die hier zu sein:
https://svn.fhem.de/trac/changeset/19349/
Aber hier endet mein Latein...
bei mir kommen nur Bilder mit 20kB durch, sowohl sendImage, sendPhoto
bash:
convert ipcam.jpg -define jpeg:extent=20kb ipcam2.jpg && chown fhem:dialout ipcam2.jpg
fhem:
set myBot sendImage ipcam2.jpg
mit der Version klappt auch das Versenden größerer Bilder
# $Id: HttpUtils.pm 17034 2018-07-27 05:47:13Z rudolfkoenig $
Zitat von: Frank_Huber am 13 Mai 2019, 16:16:33
So, hab noch einige tests gemacht und Module vom Update ausgeschlossen.
Der Verursacher ist: HttpUtils.pm
HttpUtils.pm 17831 2018-11-24 15:09:17Z rudolfkoenig
macht keine probleme,
Die einzige Ändeung scheint die hier zu sein:
https://svn.fhem.de/trac/changeset/19349/
Aber hier endet mein Latein...
Danke für die detaillierte Analyse. Ich habe Rudi mal eine PN gesendet, vielleicht kann er mal draufschauen. Die Meldung besagt, dass hier beim Senden aufs Netzwerk temporär nicht gesendet werden kann (EAGAIN) . Es wäre blockierend für den Prozess, das ist aber beim Öffnen der Netzwerkverbindung explizit nicht gewünscht worden. Weniger technisch beschrieben, vielleicht kann dieser Fall in HTTPUtils explizit abgefangen werden und ein neuer Sendeversuch gemacht werden.
Koennt ihr bitte testen, ob folgende Aenderung:--- FHEM/HttpUtils.pm (revision 19379)
+++ FHEM/HttpUtils.pm (working copy)
@@ -618,6 +618,7 @@
$hash->{directWriteFn} = sub($) { # Nonblocking write
my $ret = syswrite $hash->{conn}, $data;
if($ret <= 0) {
+ return if($! == EAGAIN);
my $err = $!;
RemoveInternalTimer(\%timerHash);
HttpUtils_Close($hash);
hilft?
Bin unsicher, weil mAn dieser Fehler nicht auftreten darf: syswrite wird nur einmal aufgerufen, nachdem select OK gegeben hat.
Wenn jemand mich aufklaeren kann....
Zitat von: rudolfkoenig am 13 Mai 2019, 21:27:07
Koennt ihr bitte testen, ob folgende Aenderung:--- FHEM/HttpUtils.pm (revision 19379)
+++ FHEM/HttpUtils.pm (working copy)
@@ -618,6 +618,7 @@
$hash->{directWriteFn} = sub($) { # Nonblocking write
my $ret = syswrite $hash->{conn}, $data;
if($ret <= 0) {
+ return if($! == EAGAIN);
my $err = $!;
RemoveInternalTimer(\%timerHash);
HttpUtils_Close($hash);
hilft?
Bin unsicher, weil mAn dieser Fehler nicht auftreten darf: syswrite wird nur einmal aufgerufen, nachdem select OK gegeben hat.
Wenn jemand mich aufklaeren kann....
Wie fügt man das ein?
Die changelogs im svn verstehe ich, aber das hier sagt mir nix. [emoji848]
Gesendet von meinem Doogee S60 mit Tapatalk
Das ist die Ausgaben von "svn diff"
Die Zeile mit dem + vorne ohne den Plus an dieser Stelle einfuegen.
Alternativ: mit dem kompletten Text das Programm "patch -p0" fuettern, nach "cd /opt/fhem".
Ah. OK. Das krieg ich hin.
Ohne die Farbmarkierungen sieht man das als Laie nicht gleich. [emoji6]
Gib mir 15min....
Gesendet von meinem Doogee S60 mit Tapatalk
11 min haben gereicht. :-)
Ein Update gefolgt von der Änderung, FHEM restart und alles schaut wieder gut aus.
Danke Rudi,
Ich hab keinen Schimmer was die Zeile bewirkt, aber sie löst das Problem. :-)
habs auch eingefügt, geht wieder
Danke fuers Feedback, habs eingecheckt, fuer FHEM-update wird es morgen ab 8 zur Verfuegung stehen.
Zitat von: rudolfkoenig am 14 Mai 2019, 08:18:05
Danke fuers Feedback, habs eingecheckt, fuer FHEM-update wird es morgen ab 8 zur Verfuegung stehen.
Danke, Rudi - wie immer eine superschnelle Reaktion und Lösung !
Zitat von: viegener am 14 Mai 2019, 08:20:23
Danke, Rudi - wie immer eine superschnelle Reaktion und Lösung !
Mein Feedback bzw. der positive Test kommt leider zu spät. Aber Danke @all für die schnelle Fehlersuche & Lösung.
Zitat von: viegener am 02 Mai 2019, 21:39:27
Ich habe mal in github eine Testversion eingechecked, bei der man statt Leerzeichen auch \s verwenden kann. Das kannst Du ausprobieren.
Habe die Version mit der man \s für spaces in Nachrichten einsetzen kann jetzt auch im SVN freigegeben. Kommt also ab morgen per update.
Hallo,
ich habe nach längerer Zeit mal wieder den telebot benutzen wollen. Bisher war er immer inaktiv, und hat früher höchstens was gesendet. Jetzt sehe ich, nachdem ich das Log aufgedreht habe dieses hier:
2019.05.24 22:23:00 4: TelegramBot_RestartPolling teleBot: called
2019.05.24 22:23:00 5: TelegramBot_UpdatePoll teleBot: called
2019.05.24 22:23:00 5: TelegramBot_UpdatePoll teleBot: - Initiate non blocking polling - With callback set
2019.05.24 22:23:00 5: TelegramBot_readToken: Read Telegram API token from file
2019.05.24 22:23:00 4: TelegramBot_UpdatePoll teleBot: initiate polling with nonblockingGet with 60s
2019.05.24 22:23:01 5: TelegramBot_UpdatePoll teleBot: - Ende > next polling started
2019.05.24 22:23:01 4: TelegramBot_RestartPolling teleBot: finished
2019.05.24 22:23:01 5: TelegramBot_Callback teleBot: called from Polling
2019.05.24 22:23:01 5: TelegramBot_Callback teleBot: data returned :{"ok":false,"error_code":404,"description":"Not Found"}:
2019.05.24 22:23:01 5: TelegramBot_Deepencode teleBot: encoded a String from :false: to :false:
2019.05.24 22:23:01 5: TelegramBot_Deepencode teleBot: encoded a String from :404: to :404:
2019.05.24 22:23:01 5: TelegramBot_Deepencode teleBot: encoded a String from :Not Found: to :Not Found:
2019.05.24 22:23:01 5: TelegramBot_Deepencode teleBot: found a HASH
2019.05.24 22:23:01 5: TelegramBot_Callback teleBot: after encoding
2019.05.24 22:23:01 5: TelegramBot_Callback teleBot: polling returned result? <undef>
2019.05.24 22:23:01 5: TelegramBot_Set teleBot: called
2019.05.24 22:23:01 5: TelegramBot_Set teleBot: called
2019.05.24 22:23:01 5: TelegramBot_UpdatePoll teleBot: called
2019.05.24 22:23:01 5: TelegramBot_UpdatePoll teleBot: - Initiate non blocking polling - With callback set
2019.05.24 22:23:01 5: TelegramBot_readToken: Read Telegram API token from file
2019.05.24 22:23:01 4: TelegramBot_UpdatePoll teleBot: initiate polling with nonblockingGet with 60s
2019.05.24 22:23:01 5: TelegramBot_UpdatePoll teleBot: - Ende > next polling started
2019.05.24 22:23:01 4: TelegramBot_Callback teleBot: resulted in Callback returned error :Not Found: from Polling
2019.05.24 22:23:01 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
2019.05.24 22:23:01 5: TelegramBot_Callback teleBot: called from Polling
2019.05.24 22:23:01 5: TelegramBot_Callback teleBot: data returned :{"ok":false,"error_code":404,"description":"Not Found"}:
2019.05.24 22:23:01 5: TelegramBot_Deepencode teleBot: encoded a String from :false: to :false:
2019.05.24 22:23:01 5: TelegramBot_Deepencode teleBot: encoded a String from :Not Found: to :Not Found:
2019.05.24 22:23:01 5: TelegramBot_Deepencode teleBot: encoded a String from :404: to :404:
2019.05.24 22:23:01 5: TelegramBot_Deepencode teleBot: found a HASH
2019.05.24 22:23:01 5: TelegramBot_Callback teleBot: after encoding
2019.05.24 22:23:01 5: TelegramBot_Callback teleBot: polling returned result? <undef>
wie es aussieht, stimmt da was mit der URL an die telegram API nicht (mehr?)...
Wer kann mir helfen?
Viele Grüße
Wolfgang
Zitat von: wowogiengen am 24 Mai 2019, 22:51:57
Hallo,
ich habe nach längerer Zeit mal wieder den telebot benutzen wollen. Bisher war er immer inaktiv, und hat früher höchstens was gesendet. Jetzt sehe ich, nachdem ich das Log aufgedreht habe dieses hier:
wie es aussieht, stimmt da was mit der URL an die telegram API nicht (mehr?)...
Wer kann mir helfen?
Viele Grüße
Wolfgang
Aus dem log kann ich leider nicht viel lesen.
Erste Frage - gibt es Deinen Bot überhaupt noch --> suchen in telegram bzw. über den botfather herausfinden.
Zweite Frage - ist das API token noch richtig? Wenn unsicher - neues über botfather erzuegen und per set / token hinterlegen
Wenn das nicht hilft ein paar Fragen / Hinweise:
- Ist dein FHEM einigermassen aktuell?
- Hast Du mal einen Reset auf dem Bot device ausgeführt (set ... reset)
- Einen Neustart gemacht?
Hallo @Viegener,
den Bot gibts noch, ich habe auch das API-Token nochmals geprüft, und auch neu eingegeben gehabt.
FHEM habe ich aus dem Grund, dass telegram nicht mehr ging, auch aktualisiert - aber da gab es bei den Events kaum Meldungen, eigentlich gar keine, und so habe ich das update 2 mal gemacht, auch einmal mit "force".
Neustart von FHEM habe ich auch mehrfach gemacht.
Irgendwie bin ich dann drauf gekommen, dass bei dem Token auch die Bot-# davorstehen muss, und als ich die dann eingegeben hatte, gings wohl wieder...
Zitat von: wowogiengen am 25 Mai 2019, 12:42:57
Irgendwie bin ich dann drauf gekommen, dass bei dem Token auch die Bot-# davorstehen muss, und als ich die dann eingegeben hatte, gings wohl wieder...
Ich verstehe nicht was es heissen soll, dass die Bot-# davorstehen muss?
Also funktioniert alles?
Hallo zusammen,
ich habe ein Problem mit den Umlauten "äöü" und alles was "ß" beinhaltet !
Das Ziel ist die Adresse meines Standortes auf mein Smartphone zu bekommen.
Solange die Strassen- oder Städtenamen keine Umlaute oder ß beinhalten funktioniert alles einwandfrei, sonst wird nichts mehr gesendet.
Eingebunden sind Owntracks mit mosquitto Broker und Telegram_Bot.
define Telegram TelegramBot
attr Telegram allowUnknownContacts 0
attr Telegram cmdRestrictedPeer 495xxxxx
attr Telegram event-on-change-reading state
attr Telegram event-on-update-reading msgText
attr Telegram pollingTimeout 180
attr Telegram verbose 4
define Tracking livetracking
attr Tracking addressLanguage de
attr Tracking addressReading 1
attr Tracking batteryWarning 5
attr Tracking filterAccuracy 200
attr Tracking owntracksDevice owntracks
attr Tracking roundAltitude 5
attr Tracking roundDistance 0.1
attr Tracking stateFormat location
attr Tracking verbose 4
Ein einfaches
{fhem("set Telegram message \@user ßäöü")}
kommt korrekt an.
aber mit den userReadings:
nummer {(split(/,/,ReadingsVal('Tracking','address','')))[0]}
strasse {(split(/,/,ReadingsVal('Tracking','address','')))[1]}
stadt {(split(/,/,ReadingsVal('Tracking','address','')))[2]}
define teleBot_MM notify Telegram:msgText.* {
if ($EVTPART1 eq 'Adr') {
fhem("get Tracking address short");
my $strasse = ReadingsVal("Tracking","strasse","");
my $nummer = ReadingsVal("Tracking","nummer","");
my $stadt = ReadingsVal("Tracking","stadt","");
fhem("set Telegram message \@user $strasse $nummer $stadt");
}
else {
}
}
Funktioniert nur dann wenn die Namen kein ßöäü beinhalten !?
Zum Beispiel :
Die Adresse "2, Martin-Luther-Weg, Bad Soden" kommt korrekt an aber "50, Kolpingweg, Nieder-Mörlen" wird nicht gesendet und genauso mit "20, Lutherstraße, Bad Nauheim" wegen "ß" ...
Bei sentMsgResult steht erst WAITING und dann NonBlockingGet timed out on read from <hidden> after 30s
Linux ist auf DE eingestellt :
- locale -a
C
C.UTF-8
de_DE.utf8
POSIX
- echo $LANG : de_DE.UTF-8
- FHEM und Linux aktualisiert
- Bot resetet
Weiß vielleicht jemand woran es liegen könnte ?
Vielen Dank im Voraus!
Gruß
Tim
Zitat von: Timmi am 30 Mai 2019, 17:32:44
Hallo zusammen,
ich habe ein Problem mit den Umlauten "äöü" und alles was "ß" beinhaltet !
Das Ziel ist die Adresse meines Standortes auf mein Smartphone zu bekommen.
Solange die Strassen- oder Städtenamen keine Umlaute oder ß beinhalten funktioniert alles einwandfrei, sonst wird nichts mehr gesendet.
...
Hallo Tim,
versuch mal
attr Telegram utf8Special 1
Gruß Heiko
1000 Dank Heiko !
Endlich hat es geklappt ...
Gruß
Tim
Hallo zusammen,
ich versuche seit gestern TelegramBot zum laufen zu bekommen.
Wenn ich nach dieser Anleitung vorgehe funktioniert es nicht.
https://wiki.fhem.de/wiki/TelegramBot (https://wiki.fhem.de/wiki/TelegramBot)
Unter "Internals me" erscheint: Failed - see log file for details
Dort steht dann:
2019.06.21 17:15:40 3: TelegramBot_Define Telegram_Messenger: called
2019.06.21 17:15:40 2: TelegramBot_DoUrlCommand Telegram_Messenger: FAILED Telegram returned error: Unauthorized
Internals DEF bleibt leer.
Der Token scheint richtig zu sein, denn wenn ich ihn absichtlich falsch schreibe kommt so etwas wie "ist unbekannt"
Ich konnte auch bei der Suche nichts finden und hoffe hier kann mir jemand auf die Sprünge helfen!
Gruß
Edit: Token war doch falsch! Das mir das passieren kann 8). Erst nach dem kopieren in einem Editor ist mir aufgefallen das die 0 ein O ist. Schäm ;)
Hallo
Gibt es eine Möglichkeit, nach dem senden eines Telegram Kurzbefehl, die automatische Bestätigung abzustellen? Ich habe wirklich viel gesucht aber leider keine Lösung gefunden.
Danke für Deine Hilfe!
Marko
Zitat von: marko67 am 21 Juni 2019, 19:21:51
Hallo
Gibt es eine Möglichkeit, nach dem senden eines Telegram Kurzbefehl, die automatische Bestätigung abzustellen? Ich habe wirklich viel gesucht aber leider keine Lösung gefunden.
Danke für Deine Hilfe!
Marko
ich vermute es geht um Favoriten? Dann ist die Antwort hier im Thread:
https://forum.fhem.de/index.php/topic,38328.msg631153.html#msg631153 (https://forum.fhem.de/index.php/topic,38328.msg631153.html#msg631153)
Attribute dazu sind:
textResponseConfirm und
cmdReturnEmptyResult
@viegener
Hallo Johannes,
wenn ich mir mit dem Favoriten
"/[Tanken-Grafik]={plotAsPng('SVG_LogMT_1')};"
ein Bild schicke wird dieses vermutlich vom Modul "plotAsPng" auch als PNG gerechnet.
Die Unscharfen Bilder die ich dann aber immer via Telegram bekomme bedeuten aber, das die Bilder auf dem Weg zu mir, von PNG in ein JPG umgerechnet werden!?
Was ja kein Sinn machen würde. Das PNG-Bild wird bei der Konvertierung in ein JPG unnötig gross und schlechter.
Als Vergleich ein Bild aus Telegram als JPG und Screenshot vom Web-Interface.
Macht das der Telegram-Server?
Danke für deine Antwort.
Gruss Gerd
@Maista: Das Bot-Modul macht keine Konvertierung der Grafikformate. Telegram macht aber wohl Formatverkleinerung (also verringerung der Auflösung), ich kann Dir nicht sagen ob dabei nach JPG konvertiert wird (würde mich aber wundern).
Wenn Du ein Bild ohne Konvertierungen verschicken willst, kannst Du mal die Versendung über sendMedia durchführen, dabei sollte auch Telegram keine Konvertierung vornehmen.
Hallo Johannes
Ja ich bin davon ausgegangen das dein Modul die Daten transparent weiter gibt.
Ich hätte aber erwartet das PNG nicht durch JPG schlechter und grösser gerechnet
werden ::)
Im Windows Client kann man das ja auch anwählen.
Komme ich erst am Wochenende dazu.
Aber dann müsste man vorher das berechnen Bild rechnen um es als Datei zu schicken?
Gruß Gerd
Hallo Gemeinde,
Ich nutze Telegram und die Favoriten bereits längere Zeit. Nun möchte ich, das auch andere Mitglieder aus einer Telegram-Gruppe die Favoriten vom Bot zugesendet bekommen via cmdFavorites.
Leider funktioniert das Holen der Kommandoliste via cmdFavorites durch die Mitglieder nicht.
Nur ich kann die Kommandos via cmdFavorites erhalten.
Kommandos ausführen durch die Mitglieder funktioniert, wenn diese das Kommando direkt mit der Nummer absenden.
Wo kann der Fehler liegen?
Danke
Fork
Schau dir msgDialog an, das bietet das was du möchtest..
Grüße
Zitat von: vs375 am 04 Juli 2019, 17:58:37
Hallo Gemeinde,
Ich nutze Telegram und die Favoriten bereits längere Zeit. Nun möchte ich, das auch andere Mitglieder aus einer Telegram-Gruppe die Favoriten vom Bot zugesendet bekommen via cmdFavorites.
Leider funktioniert das Holen der Kommandoliste via cmdFavorites durch die Mitglieder nicht.
Nur ich kann die Kommandos via cmdFavorites erhalten.
Kommandos ausführen durch die Mitglieder funktioniert, wenn diese das Kommando direkt mit der Nummer absenden.
Wo kann der Fehler liegen?
Danke
Fork
Kannst Du mal ein list deines Devices schicken und erklären, wo die anderen Mitgleider Deiner Gruppe die das cmdFavorits senden (im gruppenchat oder individuellem chat)? Haben die anderen Benutzer das auch mal in beiden möglichkeiten getestet?
Zitat von: Esjay am 04 Juli 2019, 20:49:40
Schau dir msgDialog an, das bietet das was du möchtest..
Grüße
Danke Esjay, schaue ich mir an.
Fork
Zitat von: viegener am 04 Juli 2019, 22:03:02
Kannst Du mal ein list deines Devices schicken und erklären, wo die anderen Mitgleider Deiner Gruppe die das cmdFavorits senden (im gruppenchat oder individuellem chat)? Haben die anderen Benutzer das auch mal in beiden möglichkeiten getestet?
Hallo viegener,
Die Mitglieder der Gruppe senden das Kommando im Gruppenchat.
Frage: Wie kann ein Mitglied einen individuellen Chat zum "Fhem"-Bot aufbauen (android)?
Das listing habe ich aus Sicherheitsgründen erst einmal nicht mit gesendet.
Danke
Fork
@vs375: Jeder (nicht nur Mitglieder in einer Gruppe) kann Kontakt zu dem Bot aufnehmen - lässt sich über Kontakte suchen (per Name / Alias) ud dann kann ein chat starten
Hallo vs375
Zitat von: vs375 am 05 Juli 2019, 10:02:45
Frage: Wie kann ein Mitglied einen individuellen Chat zum "Fhem"-Bot aufbauen (android)?
Du nimmst Telegramm öffnest die Maske zum suchen von Kontakten und schreibst @Bot_name und so kann jeder mit dem Bot schreib.
Ich habe mal für das Wiki ein paar Infos zusammengetragen.
@all
Vielleicht gibt es ja den ein oder andere, der mir dabei helfen möchte.
https://forum.fhem.de/index.php/topic,101975.0.html
Gruß
Meck
Zitat von: viegener am 05 Juli 2019, 10:36:01
@vs375: Jeder (nicht nur Mitglieder in einer Gruppe) kann Kontakt zu dem Bot aufnehmen - lässt sich über Kontakte suchen (per Name / Alias) ud dann kann ein chat starten
Hallo viegener und Meck,
Jetzt funktioniert die Abfrage der Favoritenliste. Den Bot konnten wir über "Teilen" den anderen Mitgliedern verfügbar machen.
Die Frage ist somit beantwortet.
Danke
Fork
Hallo,
bei mir läuft der Bot seid einiger Zeit problemlos.
Allerdings bin ich gestern beim Prüfen der Firewall/dhcp -Server auf etwas gestoßen was mir spanisch vorkommt.
Ich habe eine einzelne Mac Adresse (zieht sich auch eine eigene IP) im Netz welche ich nicht zuordnen kann. Jedoch stimmen die Zeiten der Erreichbarkeit der IP im Netz mit den Aktivitäten des Telegram Bots überein.
Die Mac/IP nimmt auch ausschließlich kontakt zu 8.8.8.8 und einem Telegram Server auf.
Normalerweise würde mich das nicht wundern, aber der Telegram Bot läuft auf meinem RaspberryPi mit FHEM und Fhem hat eine eigene (andere) Mac Adresse.
Da ich weiß das Linux nicht so fest mit der Macadresse des Hostsystems verwurzelt ist wie andere OS, also halte ich es durchaus für möglich das Telegram sich "separiert".
Wisst ihr was davon?
Verhalten sich eure Bots genauso?
Gruß devien
Zitat von: devien am 10 Juli 2019, 11:51:10
Hallo,
bei mir läuft der Bot seid einiger Zeit problemlos.
Allerdings bin ich gestern beim Prüfen der Firewall/dhcp -Server auf etwas gestoßen was mir spanisch vorkommt.
Ich habe eine einzelne Mac Adresse (zieht sich auch eine eigene IP) im Netz welche ich nicht zuordnen kann. Jedoch stimmen die Zeiten der Erreichbarkeit der IP im Netz mit den Aktivitäten des Telegram Bots überein.
Die Mac/IP nimmt auch ausschließlich kontakt zu 8.8.8.8 und einem Telegram Server auf.
Normalerweise würde mich das nicht wundern, aber der Telegram Bot läuft auf meinem RaspberryPi mit FHEM und Fhem hat eine eigene (andere) Mac Adresse.
Da ich weiß das Linux nicht so fest mit der Macadresse des Hostsystems verwurzelt ist wie andere OS, also halte ich es durchaus für möglich das Telegram sich "separiert".
Wisst ihr was davon?
Verhalten sich eure Bots genauso?
Gruß devien
Nur zum Hintergrund: Die Telegram-Bot-Implementierung in FHEM macht ausschliesslich HTTPS requests auf das bot-api (bei telegram) - dabei wird nur die normale HTTPUtils verwendet wie für ganz viele andere Module auch. Es kommt also keine versteckte Telegram-Software zum Einsatz, die die MAC-Addresse ändern könnte.
Zitat von: viegener am 10 Juli 2019, 14:06:24
Nur zum Hintergrund: Die Telegram-Bot-Implementierung in FHEM macht ausschliesslich HTTPS requests auf das bot-api (bei telegram) - dabei wird nur die normale HTTPUtils verwendet wie für ganz viele andere Module auch. Es kommt also keine versteckte Telegram-Software zum Einsatz, die die MAC-Addresse ändern könnte.
hm, ist logisch, dann kann er es nicht sein.
Vielen Dank das hat mir weitergeholfen zumindest diesen Kandidaten auszuschließen. ;D
Guten Morgen,
ich habe noch eine Verständnisfrage zum Senden von Telegram Nachrichten.
In der CommandRef (https://fhem.de/commandref.html#TelegramBot) ist folgendes zu entnehmen.
ZitatSet
message|msg|_msg|send [ @<peer1> ... @<peerN> ] [ (<keyrow1>) ... (<keyrowN>) ] <text>
leider finde ich noch nicht alle Zusammenhänge. Daher würde ich diese gerne im Wiki zusammentragen.
Meine Frage ist: Warum gibt es die vielen Möglichkeiten zum Senden von Telegram Nachrichten? Wie unterscheiden Sie sich?
Was ich gefunden habe und mir hergeleitet habe:
,,message" wird verwendet in Kombination mit MsgDialog (https://wiki.fhem.de/wiki/MsgDialog)
,,msg" wird verwendet in Kombination mit msg (https://wiki.fhem.de/wiki/Msg)
,,_msg" finde ich zwar in ein paar Foren Beispielen bzw auch etwas im Wiki unter Staumelder Modul Talk2Fhem oder Hausüberwachung, aber nicht in der commandRef und kann mich aktuell nicht erklären woher es kommt.
,,send" ist auch nicht wirklich erklärt, ich vermute aber, dass es der Ursprung des Sendens ist und daher selbst erklärend.
Vielen Dank für eure Unterstützung.
Gruß
Meck
Edit:
Ich bin gerade dabei die Vorzüge und Nachteile der Beiden Keyboards von Telegram zu betrachten.
Mein aktueller Wissensstand ist, das es zwei Arten von Keyboards (https://core.telegram.org/bots#keyboards) gibt. Beide lassesn sich auch mit Telegram nutzen
Da ich das Keyboard ausführlicher ins Wiki bringen möchte bitte ich um eure Meinung.
Im ersten Schritt möchte ich die Keyboard ohne Verwendung weitere Modul einbringen.
Erzeugen des Keyboards
Möglichkeit 1:
set <TelegramBot> send @<PeerID> (yes|no) (may be) are you there?
Möglichkeit 2:
set <TelegramBot> attr cmdFavorites </short>
set <TelegramBot> attr favoritesInline 0 #ist auch default 0 muss nicht gesetzt werden
set <TelegramBot> attr favorites2Col 0 #ist auch default 0 muss nicht gesetzt werden
set <TelegramBot> attr cmdFavorites /Lampe on[-Lampe on] = set Lampe on; /Lampe off[-Lampe off] = set Lampe off
Erzeugt beim Senden von /short ein Menu mit zwei Einträgen untereinander
set <TelegramBot> attr favorites2Col 1
Ist ein zwei Spaltiges Menü möglich
Kann ich auch wie bei dem Inline die Befehle ausblenden? Mit [-beschreibung] angegeben, um den Befehl oder Alias aus den Favoritenmenüs der Inline-Tastaturmenüs zu entfernen.
Welche Vor-und Nachteile gibt es? Habe ich noch eine Variante nicht gefunden?
@meck: die befehle send msg message und _msg sind alle in der funktion identisch und nur unterschiedliche namen (zum teil aus historischen gründen um keine Funktionalität zu entfernen)
Problem nach Update von Stretch auf Buster auf einem Pi 3B+
Mir war am Wochenende langweilig und ich habe meinen Pi von Stretch auf Buster hochgezogen,
es hat soweit auch alles geklappt, nur der Telegram-Bot, der vorher einwandfrei lief, will nicht mehr, mit folgenden Fehlermeldungen im Log:
2019.07.15 11:11:44 3: TelegramBot_Callback myTeleBot: resulted in NonBlockingGet: returned connect to https://api.telegram.org:443: Network is unreachable from SendIt
2019.07.15 11:11:44 3: TelegramBot_Callback myTeleBot: Reached max retries (ret: NonBlockingGet: returned connect to https://api.telegram.org:443: Network is unreachable) for msg @myTelegram : fhem started - just now
Ich denke, dass durch das Update etwas kaputt gegangen ist, tue mich aber schwer das einzugrenzen, geschweige denn zu lösen.
Ist sicher kein Fehler im Modul, da es vorher einwandfrei funktioniert hat.
Was ich schon versucht habe:
- Token neu eingetragen
- IO::Socket::SSL neu hinzugefügt, war nicht mehr installiert
- Aufruf von https://api.telegram.org:443 auf dem Pi wird zu https://core.telegram.org/bots umgeleitet, ist das richtig so?
Ach eines noch, polling habe ich auf 0 stehen, ich möchte im Moment keine Befehle an den Bot senden.
Zitat von: JamBay am 15 Juli 2019, 17:35:04
Problem nach Update von Jessie auf Buster auf einem Pi 3B+
Mir war am Wochenende langweilig und ich habe meinen Pi von Jessie auf Buster hochgezogen,
es hat soweit auch alles geklappt, nur der Telegram-Bot, der vorher einwandfrei lief, will nicht mehr, mit folgenden Fehlermeldungen im Log:
2019.07.15 11:11:44 3: TelegramBot_Callback myTeleBot: resulted in NonBlockingGet: returned connect to https://api.telegram.org:443: Network is unreachable from SendIt
2019.07.15 11:11:44 3: TelegramBot_Callback myTeleBot: Reached max retries (ret: NonBlockingGet: returned connect to https://api.telegram.org:443: Network is unreachable) for msg @myTelegram : fhem started - just now
Ich denke, dass durch das Update etwas kaputt gegangen ist, tue mich aber schwer das einzugrenzen, geschweige denn zu lösen.
Ist sicher kein Fehler im Modul, da es vorher einwandfrei funktioniert hat.
Was ich schon versucht habe:
- Token neu eingetragen
- IO::Socket::SSL neu hinzugefügt, war nicht mehr installiert
- Aufruf von https://api.telegram.org:443 auf dem Pi wird zu https://core.telegram.org/bots umgeleitet, ist das richtig so?
Ach eines noch, polling habe ich auf 0 stehen, ich möchte im Moment keine Befehle an den Bot senden.
Die Meldung "Network is unreachable" deutet auf ein Problem bei der Verbindung zu Telegram hin (Abbruch der Verbindung oder ähnliches)
Wird der redirect in FHEM gemacht oder wenn die direkt aufrufst (beim direktaufruf ohne gültigen URL und request dürfte das normal sein)?
Zitat von: viegener am 16 Juli 2019, 15:50:41
Die Meldung "Network is unreachable" deutet auf ein Problem bei der Verbindung zu Telegram hin (Abbruch der Verbindung oder ähnliches)
Das würde ich auch aus der Meldung schließen. Wenn ich das 'polling' aktiviere erhalte ich ein ähnliche Meldung.
Zitat
Wird der redirect in FHEM gemacht oder wenn die direkt aufrufst (beim direktaufruf ohne gültigen URL und request dürfte das normal sein)?
Der redirect passiert wenn ich die URL im Browser aufrufe, egal an welchen PC/Pi.
Das Problem ist (für mich) aber noch größer geworden, nachdem ich noch etwas herumprobiert habe, war der Pi soweit, dass er gar nicht mehr starten wollte.
Also habe ich das Backup-Image von vor dem Update zurückgespielt (also bin wieder mit Stretch) und habe die selbe Meldung.
Leider habe ich keine Ahnung mehr was ich sonst noch verstellt haben könnte, liegt ja dann eher an meinem Netzwerk hier, oder?
Zitat von: JamBay am 16 Juli 2019, 17:28:29
Das würde ich auch aus der Meldung schließen. Wenn ich das 'polling' aktiviere erhalte ich ein ähnliche Meldung.Der redirect passiert wenn ich die URL im Browser aufrufe, egal an welchen PC/Pi.
Das Problem ist (für mich) aber noch größer geworden, nachdem ich noch etwas herumprobiert habe, war der Pi soweit, dass er gar nicht mehr starten wollte.
Also habe ich das Backup-Image von vor dem Update zurückgespielt (also bin wieder mit Jessie) und habe die selbe Meldung.
Leider habe ich keine Ahnung mehr was ich sonst noch verstellt haben könnte, liegt ja dann eher an meinem Netzwerk hier, oder?
Der redirect im Browser ist wohl normal, da das ja keine Webseite für den Browser ist sondern ein Endpunkt für Anfragen per Software
Funktioniert denn alles andere normal, ist es nur Telegram das nicht läuft?
Ist IPV6 im Spiel?
Zitat von: viegener am 16 Juli 2019, 18:37:50
Ist IPV6 im Spiel?
Der Tipp war Gold wert:
ich hatte im Router IPV6 abgeschaltet, wegen einer neuen IP-Cam, bei der ich mal schauen wollte, was sie so treibt.
Da erstmal alles weiter lief, habe ich nicht mehr dran gedacht, aber scheinbar muss IPV6 für den TelegramBot aktiv sein, ist das korrekt?
Jetzt mit aktiviertem IPV6 läuft der Bot wieder in FHEM, auch Polling klappt einwandfrei.
Aber warum läuft es nicht mit IPV4?
Zitat von: viegener am 12 Juli 2019, 11:57:27
@meck: die befehle send msg message und _msg sind alle in der funktion identisch und nur unterschiedliche namen (zum teil aus historischen gründen um keine Funktionalität zu entfernen)
Danke Für deine Antwort. Dann werde ich das so für das Wiki mit aufnehmen.
Hat vielleicht noch einer ein Gedankengang bezüglich Der Keyboards für mich?
Gruß
Meck
Zitat von: JamBay am 17 Juli 2019, 19:05:34
Der Tipp war Gold wert:
ich hatte im Router IPV6 abgeschaltet, wegen einer neuen IP-Cam, bei der ich mal schauen wollte, was sie so treibt.
Da erstmal alles weiter lief, habe ich nicht mehr dran gedacht, aber scheinbar muss IPV6 für den TelegramBot aktiv sein, ist das korrekt?
Jetzt mit aktiviertem IPV6 läuft der Bot wieder in FHEM, auch Polling klappt einwandfrei.
Aber warum läuft es nicht mit IPV4?
Ich kann nur spekulieren, aber wenn ipv6 nur im router abgeschaltet ist und der fhemrechner bei der namensauflösung eine ipv6 bekommt wäre das eine Erklärung
Telegram funktioniert problemlos generell auch ohne ipv6
@viegener
Hallo Johannes,
heute habe ich Zeit für mein Problemchen gefunden und auch eine mehr oder weniger funktionierende Lösung ::)
Zitat von: viegener am 24 Juni 2019, 17:58:30
@Maista: Das Bot-Modul macht keine Konvertierung der Grafikformate. Telegram macht aber wohl Formatverkleinerung (also verringerung der Auflösung), ich kann Dir nicht sagen ob dabei nach JPG konvertiert wird (würde mich aber wundern).
Wenn Du ein Bild ohne Konvertierungen verschicken willst, kannst Du mal die Versendung über sendMedia durchführen, dabei sollte auch Telegram keine Konvertierung vornehmen.
Ich habe mir bei https://forum.fhem.de/index.php/topic,90083.msg825495.html#msg825495 (https://forum.fhem.de/index.php/topic,90083.msg825495.html#msg825495) den Code geklaut.
Das Bild wird dann auch schön erzeugt. Je nach dem was man nun für ein Style hat sieht man aber keine Beschriftung.
Bei https://forum.fhem.de/index.php/topic,38842.msg391538.html#msg391538 (https://forum.fhem.de/index.php/topic,38842.msg391538.html#msg391538) wird hier eine Lösung beschrieben.
Mit dem Irfanview sieht das Bild auch normal aus.
Wenn ich nun das Bild mit
sendMedia verschicke sieht man nun aber im Bildbetrachter von Telegram das der Rahmen um das Bild Transparent ist.
Bild im Anhang
Tanken_als_PNG_PC.png.
Die Textfarbe sollte daher Schwarz gewählt sein.
Im Windows-Telegram kann man den Text so lesen.
Bei TelegramX / Standard (Android) im Black Theme wiederum sieht man den Text nur, wenn er als Grau gerechnet wurde :o
Ansonsten ist hier die Schrift dann Schwarz auf Schwarz.
Mein Problem ist damit zwar gelöst, aber es wird umständlich.
Warum der Telegram-Server aus dem PNG ein unscharfes JPG erzeugt bleibt mir ein Rätsel.
Gruss Gerd
Zitat von: viegener am 17 März 2018, 14:10:18
@fkp: sendMediaGroup lässt sich sicher realisieren, mir ist nur noch nicht ganz klar, wie man das als Telegram set-Command zur Verfügung stellt. Die einfachste Lösung wäre wohl nur Medien ohne Bildbeschreibung zuzulassen und auch nur bekannte Medientypen, die an der Erweiterung erkennbar sind. Denn man muss zwischen photo und video beim Senden unterscheiden.
@all:
Sauber wäre eine Lösung, bei der man Stück für Stück die zusendenden Medien übergibt und dann versendet. Das erfordert aber einige Umbauten.
Deshalb nochmal die Frage an die Runde, gibt es auch andere, die das benötigen? Wie sieht euer Szenario aus und welche Formate werden gebraucht und werden auch Bildbeschreibungen gewünscht?
Hallo, könnte sendMediaGroup auch super gebrauchen... ;)
@Floriky: Kannst Du Deinen use case beschreiben?
Ich frage deshalb, weil die Frage nach Formaten und Übergaben und Captions/Bildbeschreibungen noch offen ist und mir auch nicht klar ist, warum eine Schleife über die Fotos nicht passt?
Moin zusammen,
ich musste vor kurzem mein Raspbian neu aufsetzen, FHEM war nicht betroffen da auf USB Stick ausgelagert. Der Telegrambot sendet weiter fleißig, nimmt aber keine Befehle mehr an und bringt polling errors:
list vom Bot:
Internals:
CHANGED
FAILS 0
FUUID 5c4332fc-f33f-371b-692a-77082445ef7c1a10
FVERSION 50_TelegramBot.pm:?-s19451/2019-05-23
NAME my_fhem_bot
NR 305
OLDFAILS 317
OLD_POLLING 63
POLLING 0
SNAME my_fhem_bot
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me 123456789:zweiundvierzig:@my_42_bot
sentLastResult SUCCESS
sentMsgId 50723
sentMsgOptions
sentMsgPeer
sentMsgPeerId 987654321
sentMsgText EP_Btn1 on
Contacts:
HU_DO_PARAMS:
NAME
addr https://api.telegram.org:443
auth 0
boundary TelegramBot_boundary-x0123
buf
code 200
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.16.0
Date: Thu, 01 Aug 2019 15:04:38 GMT
Content-Type: application/json
Content-Length: 278
Connection: close
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
loglevel 4
method POST
path /bot123456789:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/bot123456789:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage
args:
987654321
EP_Btn1 on
undef
0
undef
1
hash:
sslargs:
HU_UPD_PARAMS:
NAME
addr https://api.telegram.org:443
auth 0
buf
code 409
compress 1
conn
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
httpheader HTTP/1.1 409 Conflict
Server: nginx/1.16.0
Date: Thu, 01 Aug 2019 17:20:47 GMT
Content-Type: application/json
Content-Length: 143
Connection: close
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
hu_blocking 0
hu_filecount 4
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset 0
path /bot123456789:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/getUpdates?offset=0&limit=5&timeout=20
protocol https
redirects 0
timeout 45
url https://api.telegram.org/bot123456789:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/getUpdates?offset=0&limit=5&timeout=20
hash:
sslargs:
Helper:
DBLOG:
state:
fhemlogDB:
TIME 1564679053.47506
VALUE reset
READINGS:
2019-08-01 19:20:47 PollingErrCount 353
2019-08-01 19:20:47 PollingLastError Callback returned error :Conflict: terminated by other getUpdates request; make sure that only one bot instance is running:
2019-08-01 17:04:39 sentMsgId 50723
2019-08-01 17:04:39 sentMsgPeerId 987654321
2019-08-01 17:04:39 sentMsgResult SUCCESS
inlinechats:
Attributes:
allowUnknownContacts 0
cmdKeyword machet
defaultPeer 987654321
event-on-change-reading 1
pollingTimeout 20
room Telegram
verbose 5
Log Auszug verbose 5:
2019.08.01 19:01:02 5: TelegramBot_UpdatePoll my_fhem_bot: called
2019.08.01 19:01:02 5: TelegramBot_UpdatePoll my_fhem_bot: - Initiate non blocking polling - With callback set
2019.08.01 19:01:02 5: TelegramBot_readToken: Read Telegram API token from file
2019.08.01 19:01:02 4: TelegramBot_UpdatePoll my_fhem_bot: initiate polling with nonblockingGet with 20s
2019.08.01 19:01:02 5: TelegramBot_UpdatePoll my_fhem_bot: - Ende > next polling started
2019.08.01 19:01:05 5: TelegramBot_Callback my_fhem_bot: called from Polling
2019.08.01 19:01:05 5: TelegramBot_Callback my_fhem_bot: data returned :{"ok":false,"error_code":409,"description":"Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"}:
2019.08.01 19:01:05 5: TelegramBot_Deepencode my_fhem_bot: encoded a String from :0: to :0:
2019.08.01 19:01:05 5: TelegramBot_Deepencode my_fhem_bot: encoded a String from :Conflict: terminated by other getUpdates request; make sure that only one bot instance is running: to :Conflict: terminated by other getUpdates request; make sure that only one bot instance is running:
2019.08.01 19:01:05 5: TelegramBot_Deepencode my_fhem_bot: encoded a String from :409: to :409:
2019.08.01 19:01:05 5: TelegramBot_Deepencode my_fhem_bot: found a HASH
2019.08.01 19:01:05 5: TelegramBot_Callback my_fhem_bot: after encoding
2019.08.01 19:01:05 5: TelegramBot_Callback my_fhem_bot: polling returned result? <undef>
2019.08.01 19:01:05 5: TelegramBot_UpdatePoll my_fhem_bot: called
2019.08.01 19:01:05 5: TelegramBot_UpdatePoll my_fhem_bot: got fails :313: wait 315 seconds
2019.08.01 19:01:05 4: TelegramBot_Callback my_fhem_bot: resulted in Callback returned error :Conflict: terminated by other getUpdates request; make sure that only one bot instance is running: from Polling
2019.08.01 19:01:05 5: TelegramBot_Callback my_fhem_bot: - Ende > Control back to FHEM
Wo kommt die zweite Instanz her?
Ich hab noch eine zweite FHEM Installation die mit einem anderen TelegramBot kommuniziert. Der kann ja wohl nicht gemeint sein, oder?
Ich hab keine Idee mehr :(
Gruß
Arthur
list TYPE=TelegramBot
Und dann mal in der cfg schauen wo der definiert ist...
Gruß, Joachim
da taucht auch nur der schon oben gelistete auf. Auch configdb search %telegram% findet nur die eine Definition.
Noch andere Ideen?
Zitat von: arthur_dent_2015 am 01 August 2019, 19:33:31
Wo kommt die zweite Instanz her?
Ich hab noch eine zweite FHEM Installation die mit einem anderen TelegramBot kommuniziert. Der kann ja wohl nicht gemeint sein, oder?
Ich hab keine Idee mehr :(
Gruß
Arthur
Ich kann Dir auch nicht sagen, wo der zweite Bot herkommt denn das kann ja irgendwo sein und muss nicht unbedingt innerhalb derselben FHEM-Instanz sein.
Der einfachste Weg den Spuk das erstmal weiterzubringen wäre doch im botfather erstmal ein neues API-Token anzufordern und dann im device zu setzen. Dann sollte eigentlich der Spuk erstmal vorbeisein.
das war ne gute Idee! :) jetzt funzt es wieder. Danke!
Gruß
Arthur
Hallo @viegener und alle anderen.
Ich baue gerade einen Telegram Bot, dessen einzige Aufgabe es ist, den Standort eines GPS Trackers zurückzuschicken. Das klappt auch soweit sehr gut.
Nun habe ich in der Telegram Bot API (https://core.telegram.org/bots/api/#sendlocation (https://core.telegram.org/bots/api/#sendlocation)) die Möglichkeit gefunden, den Standort zu einem Live Standort zu machen. Ist diese Implementation auch in Fhem möglich? Für meinen Use Case wäre sie sehr sinnvoll. Falls das Feature schon mal angefragt wurde, sorry, aber über die Suche habe ich nichts gefunden.
Gruß Mohrengemuse
@Mohrengemuse: Bisher ist es nur möglich locations als einzelne messages zu senden / ein regelmässiges update mit livelocations ist bisher nicht mögich
Bisher hatte ich angenommen FHEM-Installationen als relativ ortsstabil angenommen ;)
Ich verstehe aber Deinen use case, trotzdem kann ich da momentan nichts zusagen, also bleibt momentan nur der Zugang über sendLocation in FHEM
@viegener
Danke, sendLocation benutze ich schon. Wäre nur interessant gewesen, da es ja theoretisch funktionieren müsste.
Hallo liebe Gemeinde,
ich hoffe auf eure Hilfe.
Hintergrund: Mein Bot ist gemeinsam mit meiner Frau in unserer Smart-Home-Telegramgruppe, dass ich Befehle und Nachrichten bündeln kann.
Wenn ich meinem Bot in dieser Gruppe einen Favoriten schicke, z.B. ,,/b1" funktioniert der Befehl dahinter super. (Das ist per Hand eingegeben.)
Wenn ich allerdings über das Favoritenmenü den Befehl anklicke, generiert Telegram daraus ,,/b1@Botname". Damit funktionieren die Befehle nicht mehr.
Jetzt die Fragen:
-Ist das ein Bug? Könnt ihr in fixen?
-Ist meine Erwartung falsch? Habt ihr eine einfache andere Idee?
-Könnte bei mir was falsch konfiguriert sein? Wenn ja, was könnte es sein?
Vielleicht könnt ihr mir helfen. Das wäre super.
Moin Speedy90
Wie immer will die FHEM-GEMEINDE mehr Infos zu deinem Problem wie z.B.
das define von deinem Bot.
Bei vielen ist es sonst in der Glaskugel ziemlich dunkel >:(
Gruss Gerd @ Kreta
Ersteinmal danke für die schnelle Antwort.
Hier das Define:
define teleBot TelegramBot
attr teleBot cmdFavorites /b
attr teleBot cmdRespondChat 0
attr teleBot cmdRestrictedPeer xxxxxxxxx xxxxxxxxx -xxxxxxxxx -xxxxxxxxx
attr teleBot cmdReturnEmptyResult 0
attr teleBot defaultPeer xxxxxxxxx
attr teleBot favorites /[Scheune 5 min]= set A_38_A on-for-timer 300;;/[Drucker]=set A_49_A on-for-timer 3600;;/[Tor]=set Mosquito publish /Garage/todo/ T05003;;/[Alles ausschalten]={ALLES_AUS}
attr teleBot pollingTimeout 120
attr teleBot room 998_Telegram
Sagt Bescheid, wenn ihr mehr Infos braucht. Danke
https://wiki.fhem.de/wiki/TelegramBot#Privacyeinstellungen schon gemacht?
Ja, wie gesagt. Botnachrichten an sich gehen.
Bps: ich sende
"\b1" --> Befehl wird ausgeführt
"\b1@Botname" --> Befehl wird nicht ausgeführt --> Das ist mein Problem
Ja, ich war nur nicht sicher
Ich habe kurz im Code geschaut, und es scheint nicht vorgesehen zu sein, die BotId rauszuwerfen. Aber kannst Du trotzdem verbose 5 setzen, und einen Logauzug posten? (Nur das Teil, nachdem Du auf einem Favorit gedrückt hast. ggf anonymisieren)
So, ich hoffe, ich habe alle ID's gefunden und gelöscht.... ;)
@ amenomade: Das Log deutet darauf hin, den Botname nicht rauszuschmeißen.
@Entwickler des Moduls: Darf ich mir das Feature wünschen?
2019.08.31 08:36:52 5: TelegramBot_Get teleBot: called
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: called from Polling
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":[{"update_id":xxxx,
"message":{"message_id":5579,"from":{"id":xxxxx,"is_bot":false,"first_name":"Marcel","language_code":"de"},"chat":{"id":-xxxxx,"title":"Wohnung (unwichtiges)","type":"group","all_members_are_administrators":true},"date":xxxx,"text":"/b4@HSHGonzalezbot","entities":[{"offset":0,"length":18,"type":"bot_command"}]}}]}:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found an ARRAY
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found an ARRAY
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :0: to :0:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :bot_command: to :bot_command:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :18: to :18:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :xxxxx: to :xxxxx:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :de: to :de:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :Marcel: to :Marcel:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :0: to :0:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :5579: to :5579:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :xxxx: to :xxxx:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :Wohnung (unwichtiges): to :Wohnung (unwichtiges):
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :-xxxxx: to :-xxxxx:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :group: to :group:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :/b4@HSHGonzalezbot: to :/b4@HSHGonzalezbot:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :xxxx: to :xxxx:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: after encoding
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: polling returned result? 1
2019.08.31 08:37:10 5: UpdatePoll teleBot: number of results 1
2019.08.31 08:37:10 5: UpdatePoll teleBot: parse result
2019.08.31 08:37:10 4: TelegramBot_ParseMsg teleBot: Textmessage
2019.08.31 08:37:10 4: TelegramBot_ParseMsg teleBot: text :/b4@HSHGonzalezbot:
2019.08.31 08:37:10 4: TelegramBot_ContactUpdate # Contacts in hash before :8:
2019.08.31 08:37:10 4: TelegramBot_ContactUpdate # Contacts in hash after :8:
2019.08.31 08:37:10 4: TelegramBot_GetFullnameForContact # Contacts is xxxxx:Marcel::
2019.08.31 08:37:10 4: TelegramBot_GetFullnameForContact # name is Marcel
2019.08.31 08:37:10 4: TelegramBot_GetFullnameForContact # Contacts is -xxxxx::#Wohnung_(unwichtiges):
2019.08.31 08:37:10 4: TelegramBot_GetFullnameForContact # name is #Wohnung_(unwichtiges)
2019.08.31 08:37:10 5: TelegramBot_Set teleBot: called
2019.08.31 08:37:10 5: TelegramBot_checkAllowedPeer teleBot: called with xxxxx
2019.08.31 08:37:10 4: TelegramBot_SendFavorites cmd correct peer
2019.08.31 08:37:10 4: TelegramBot_SendFavorites cmd :4@HSHGonzalezbot: peer :xxxxx: aliasExec :0
2019.08.31 08:37:10 5: TelegramBot_SendFavorites parsed cmdFavId :4 cmdaddition :@HSHGonzalezbot:
2019.08.31 08:37:10 4: TelegramBot_SendFavorites exec cmd :3:
2019.08.31 08:37:10 4: TelegramBot_SplitFavoriteDef cmd :/[Alles ausschalten]={ALLES_AUS}:
alias :<undef>: desc :Alles ausschalten: parsecmd :{ALLES_AUS}: confirm: 0: result: 0: hidden: 0
2019.08.31 08:37:10 4: TelegramBot_GetFullnameForContact # Contacts is xxxxx:Marcel::
2019.08.31 08:37:10 4: TelegramBot_GetFullnameForContact # name is Marcel
2019.08.31 08:37:10 5: TelegramBot_ExecuteCommand final cmd for analyze :{ALLES_AUS} @HSHGonzalezbot:
2019.08.31 08:37:10 4: TelegramBot_ExecuteCommand teleBot: parse cmd returned :{ALLES_AUS} @HSHGonzalezbot:
2019.08.31 08:37:10 3: TelegramBot_ExecuteCommand teleBot: cmd executed :{ALLES_AUS} @HSHGonzalezbot: --> :Unknown command {ALLES_AUS}, try help.:
2019.08.31 08:37:10 4: TelegramBot_ExecuteCommand result for analyze :Unknown command {ALLES_AUS}, try help.:
2019.08.31 08:37:10 5: TelegramBot_ExecuteCommand teleBot: TelegramBot FHEM - Befehl:{ALLES_AUS} @HSHGonzalezbot: - Ergebnis:\nUnknown command {ALLES_AUS}, try help.:
2019.08.31 08:37:10 5: TelegramBot_SendIt teleBot: called
2019.08.31 08:37:10 5: TelegramBot_SendIt teleBot: try to send message to :xxxxx: -:TelegramBot FHEM - Befehl:{ALLES_AUS} @HSHGonzalezbot: - Ergebnis:\nUnknown command {ALLES_AUS}, try help.: - add :<undef>: - replyid :<undef>:: options ::
2019.08.31 08:37:10 4: TelegramBot_GetFullnameForContact # Contacts is xxxxx:Marcel::
2019.08.31 08:37:10 4: TelegramBot_GetFullnameForContact # name is Marcel
2019.08.31 08:37:10 5: TelegramBot_readToken: Read Telegram API token from file
2019.08.31 08:37:10 4: TelegramBot_SendIt parseMode 0
2019.08.31 08:37:10 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2019.08.31 08:37:10 4: TelegramBot_ParseMsg teleBot: SendFavorites returned :TelegramBot FHEM - Befehl:{ALLES_AUS} @HSHGonzalezbot: - Ergebnis:\nUnknown command {ALLES_AUS}, try help.:
2019.08.31 08:37:10 5: TelegramBot_UpdatePoll teleBot: called
2019.08.31 08:37:10 5: TelegramBot_UpdatePoll teleBot: - Initiate non blocking polling - With callback set
2019.08.31 08:37:10 5: TelegramBot_readToken: Read Telegram API token from file
2019.08.31 08:37:10 4: TelegramBot_UpdatePoll teleBot: initiate polling with nonblockingGet with 120s
2019.08.31 08:37:10 5: TelegramBot_UpdatePoll teleBot: - Ende > next polling started
2019.08.31 08:37:10 4: TelegramBot_Callback teleBot: resulted in SUCCESS from Polling
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: called from SendIt
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":{"message_id":5580,"from":{"id":xxxx,"is_bot":true,"first_name":"HSH Gonzalez","username":"HSHGonzalezbot"},"chat":{"id":xxxxx,"first_name":"Marcel","type":"private"},"date":xxxx,"text":"TelegramBot FHEM - Befehl:{ALLES_AUS} @HSHGonzalezbot: - Ergebnis:\nUnknown command {ALLES_AUS}, try help.","entities":[{"offset":39,"length":15,"type":"mention"}]}}:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found an ARRAY
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :39: to :39:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :15: to :15:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :mention: to :mention:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :HSHGonzalezbot: to :HSHGonzalezbot:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :HSH Gonzalez: to :HSH Gonzalez:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :xxxx: to :xxxx:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :5580: to :5580:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :xxxx: to :xxxx:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :xxxxx: to :xxxxx:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :Marcel: to :Marcel:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :private: to :private:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: encoded a String from :TelegramBot FHEM - Befehl:{ALLES_AUS} @HSHGonzalezbot: - Ergebnis:
Unknown command {ALLES_AUS}, try help.: to :TelegramBot FHEM - Befehl:{ALLES_AUS} @HSHGonzalezbot: - Ergebnis:
Unknown command {ALLES_AUS}, try help.:
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Deepencode teleBot: found a HASH
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: after encoding
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: resulted in SUCCESS from SendIt
2019.08.31 08:37:10 5: TelegramBot_Set teleBot: called
2019.08.31 08:37:10 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
schreib das mal in code tags, liest sich einfacher. Da oben, der Knopf mit der Raute #
Hmmm
Zitat2019.08.31 08:37:10 5: TelegramBot_SendFavorites parsed cmdFavId :4 cmdaddition :@HSHGonzalezbot:
2019.08.31 08:37:10 4: TelegramBot_SendFavorites exec cmd :3:
Er parsed doch aus dem Kommando: cmdFavID: 4 und cmdaddition @HSHGonzalezbot
Das Problem ist eher:
Zitat2019.08.31 08:37:10 3: TelegramBot_ExecuteCommand teleBot: cmd executed :{ALLES_AUS} @HSHGonzalezbot: --> :Unknown command {ALLES_AUS}, try help.:
2019.08.31 08:37:10 4: TelegramBot_ExecuteCommand result for analyze :Unknown command {ALLES_AUS}, try help.:
2019.08.31 08:37:10 5: TelegramBot_ExecuteCommand teleBot: TelegramBot FHEM - Befehl:{ALLES_AUS} @HSHGonzalezbot: - Ergebnis:\nUnknown command {ALLES_AUS}, try help.:
Wa soll {ALLES_AUS} bedeuten? Funktionniert wirklich dieses Favorite wenn Du "/b4" manuell sendest?
Aber ich glaube ja,... irgenwie müsste @viegener dran
Guten Morgen,
{ALLES_AUS} ist ein Skript, was einfach alle Lampen ausschaltet, Musik ausmacht usw.
Wenn ich "/b4" allein sende funktioniert es.
Damit folgendem Satz kann ich nichts anfangen, das verstehe ich nicht:
ZitatAber ich glaube ja,... irgenwie müsste @viegener dran
Ein anderes Beispiel noch:
Wenn ich "/b2" schicke geht es,
bei "/b2@HSHGonzalezbot" bekomme ich als Antwort:
TelegramBot FHEM - Befehl:set A_49_A on-for-timer 3600 @HSHGonzalezbot: - Ergebnis:
on-for-timer requires 1 parameter
Wie amenomade schon schrieb, der Botname wird wahrscheinlich nicht weggefiltert und als Parameter an den Befehl angehangen.
Ich meinte: ja, viegener muss schauen. Botname wird nicht weggefiltert
Ach, das ist der Entwickler... Das hatte ich nicht verstanden. Danke
https://svn.fhem.de/trac/browser/trunk/fhem/MAINTAINER.txt
@speedy90: Du hast das Attribut favoritesInline nicht gesetzt? Setze doch mal favoritesInline auf den Wert 1
Effekt: das Favoritenmenue wird dann inline (und nicht als Tastatur) angezeigt und damit tritt das Problem nicht auf. Die EInfache Favoritentastatur, die Du jetzt verwendest liegt leider nicht in meiner Hand, da hierbei das Kommando direkt als Nachricht geschickt wird und Telgram das "@<botname>" wohl hinzufügt, wenn es in Gruppen aufgerufen wird. Rausfiltern wäre prinzipiell möglich, da das Kommando aber beliebig sein kann würde ich möglicherweise gültige Kommandos ausfiltern.
Generell sind die Inline-Menus der bessere Ansatz, diese hat Telegram wesentlich besser durchdacht als die Tastaturen die sehr viele Einschränkungen haben
@viegener
Ich habe es probiert. Mit der Umgehung für das Problem kann ich leben. Vielen Dank.
Hallöchen,
ich habe schon länger die Funktionen der Benachrichtigung drin, die mir unter bestimmten Umständen eine Nachricht schickt.... Funktioniert soweit wunderbar.
Nun habe ich mich das erste Mal länger mit den Favoriten beschäftigt... funktioniert soweit auch bis auf zwei Fragen die sich aufstellen, zu den ich einfach nichts finde:
Gibt es eine Möglichkeit den Fav.Namen auszublenden ? Angenommen mein Fav Befehl ist BLUBB, dann steht dort immer:
/BLUBB1 Lampe /BLUBB2 LEDs /BLUBB3 Pumpe /BLUBB4 Licht allgemein
ich hätte gern:
Lampe LEDs Pumpe Licht allgemein
Ist das möglich?
Das zweite:
Gibt es eine Möglichkeit 2 oder mehrere Favoritensetlists zu bestimmen? Also um bei meinem Beispiel zu bleiben:
BLUBB => Ergibt Favoriten für Lampe LEDs Pumpe Licht allgemein
BLA => Ergibt Favoriten fürs Wetter, Innentemperaturen usw
BLABLUBB => Ergibt Favoriten für Statistiken usw...
Das wären Zwei Funktionen die mich total glücklich machen würden --- Vielleicht gibts ja schon was in der Richtung und ich brauche nur den richtigen Tritt in die richtige Richtung.
Vielen Dank im Voraus, für jeglichen Tipp
Viele Grüße
Andreas
@flummy1978: Zuerst die schlechte Nachricht - mehrere Favoritenlisten sind nicht möglich dafür müsstest Du über eigene Mechanismen gehen. Es gibt dazu aber auch Beispiele wie sich so etwas realisieren - z.B. chatbot --> https://forum.fhem.de/index.php/topic,51425.0.html (https://forum.fhem.de/index.php/topic,51425.0.html)
ZU Deinem ersten Punkt - Ich vermute Du meinst Aliase für Befehle. Es gibt auch noch die Möglichkeit Descriptions anzugeben (und auch dann den entsprechenden Befehl nicht erscheinen zu lassen).
Ein Favorit mit
/[-Hallo]=set dummy on
Erscheint dann einfach als Hallo auf dem Button im Telegrammenu
Hallo Viegener,
zunächst einmal herzlichen Dank, dass Du Dir meiner Fragen angenommen hast :)
/[-Hallo]=set dummy on
Oh mann .... da muss man erstmal drauf kommen -.- .... /-[Hallo]=set dummy on und /[Hallo]= -set dummy on hab ich einfach mal in meiner wilden Testerei probiert im Bewusstsein, dass es zu 99,999% nicht funktionieren wird. Vielen dank 8)
# Edith sagt dazu:
Die Anzeige funktioniert wunderbar, solange man die FavoritesInline Option aktiviert hat. Wenn man das nicht hat und die Favoriten die Tastatur ersezten, steht dann wieder /BLUBB1=Lampe /BLUBB2=LEDs /BLUBB3=Pumpe /BLUBB4=Licht allgemein
Zu dem Chatbot .. ich hatte sowas schon befürchtet, sowas könnte ich dann auch selbst basteln,(auch wenn es sicher 2 Jahre dauert ;D), wenn ich weiß wie die Favoritenbefehle versandt werden ? Wie müssen die vom Telegram aus erstellten Nachrichten aussehen, damit es so aussieht wie bei den Favoriten und man die Befehle ausführen kann? (alles was irgendwie wieder anders aussieht, würde die Regierung ablehnen ::) )
Viele Grüße und danke nochmal für die schnelle Antwort
Andreas
Hallo.
Ich hab seit Anfang September sporadisch aber mehrfach am Tag FHEM freezes für 44 bzw. 45 Sekunden.
[Freezemon] freezemon: possible freeze starting at 10:14:45, delay is 44.495 possibly caused by: no bad guy found
Eine Diagnose brachte zu Tage, dass das TelegramBot Polling dafür verantwortlich ist weil:
TelegramBot_Callback telegram: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first from Polling
Habe nach und nach die üblichen Verdächtigen (FHEM, Modul, httpUtils, Net::SSLeay, IO::Socket, LWP Useragent und https) aktualisiert, aber leider keine Besserung.
Ich vermute mal es hängt im Telegram Backend, ähnlich zu: https://forum.fhem.de/index.php/topic,38328.msg674437.html#msg674437
Hat das eventuell noch jemand?
(Die Meldung taucht nur mit verbose 5 im TelegramBot auf)
Wie du aber liest wird "NON_BLOCKING_GET" verwendet!
Sollte also HIER (an dieser Stelle) nicht blockieren...
Hast du das attr dnsServer in global gesetzt!?
Denn obwohl NON-Blocking programmiert ist ein "DNS-Lookup" leider trotzdem "blocking", wenn das Attribut NICHT gesetzt ist.
Dort einfach deinen Router/Gateway/... eintragen.
Gruß, Joachim
Zitat von: jmike am 15 September 2019, 11:24:26
Hallo.
Ich hab seit Anfang September sporadisch aber mehrfach am Tag FHEM freezes für 44 bzw. 45 Sekunden.
[Freezemon] freezemon: possible freeze starting at 10:14:45, delay is 44.495 possibly caused by: no bad guy found
Eine Diagnose brachte zu Tage, dass das TelegramBot Polling dafür verantwortlich ist weil:
TelegramBot_Callback telegram: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first from Polling
Habe nach und nach die üblichen Verdächtigen (FHEM, Modul, httpUtils, Net::SSLeay, IO::Socket, LWP Useragent und https) aktualisiert, aber leider keine Besserung.
Ich vermute mal es hängt im Telegram Backend, ähnlich zu: https://forum.fhem.de/index.php/topic,38328.msg674437.html#msg674437
Hat das eventuell noch jemand?
(Die Meldung taucht nur mit verbose 5 im TelegramBot auf)
Das Symptom habe ich auch auf meiner Installation - Bei mir manchmal jede Stunde - bisher hatte ich es noch nicht mit Telegram in Verbindung gesetzt, denn bei mir tritt es immer dann auf, wenn bei meiner FHEM-Installation der Speicher überläuft.
Einige Fragen fallen mir ein:
- Wie ist Dein Polling Intervall eingestellt (15 sec?)?
- FHEM ist auf aktuellem Stand?
- Hast Du ebenfalls Meldungen wie: "Cannot fork: Cannot allocate memory "
Danke für eure Antworten.
Zitat von: MadMax-FHEM am 15 September 2019, 11:45:35
...Dort einfach deinen Router/Gateway/... eintragen.
Das Attribut dnsServer hatte ich nicht gesetzt. War mir auch nicht bewusst, dass das einen Einfluss auf nonblocking hat.
Hat aber leider nicht geholfen. Die Ursache sieht mir auch eher nach SSL handshake aus.
Zitat von: viegener am 15 September 2019, 11:59:06
... Das Symptom habe ich auch auf meiner Installation - Bei mir manchmal jede Stunde...
- Polling steht auf 20 Sekunden
- FHEM, TelegramBot Modul, httpUtils ist aktuell
- auch Net::SSLeay, IO::Socket::SSL, LWP::UserAgent und LWP::Protocol::https
- fork bzw. memory Probleme habe ich keine
Frage: sind es bei Dir auch 44 Sekunden delay? Auch mit dem gleichen SSL Fehler?
Ich habe noch 2 weitere FHEM Instanzen im Zugriff, eine davon zeigt den gleichen Fehler:
Readings:
2019-09-15 12:16:31 PollingLastError NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first
Ist aber eine komplett andere Installation. Also OS, FHEM, TelegramBot, SSL-* usw.
Danke euch!
Hallo zusammen,
seit kurzem, vielleicht 2-3 Tagen habe ich das schon von jmike beschriebene Problem dass FHEM minutenlang einfriert und dann
2019.09.16 19:51:11.492 4: HttpUtils: <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL wants a read first
2019.09.16 19:51:11.492 5: TelegramBot_Callback teleBot: called from Polling
2019.09.16 19:51:11.492 5: TelegramBot_Callback teleBot: polling returned result? <undef>
bringt. Ich habe 3 Instanzen, 2 davon laufen mit teleBot und genau bei diesen zeigt sich das Problem. Ist aber erst seit kurzem. Bin mir natürlich nicht sicher ob es Ursache oder Wirkung ist.
Jetzt habe ich mal das Polling auf einer der beiden abgeschaltet, ich versende ohnehin nur. Mal sehen ob es einen Unterschied macht.
Cannot fork habe ich nicht, zumindest nicht in dem relevanten Zeitraum. Der Speicherverbrauch ist auch mit 600 M moderat.
Grüße,
Heiko
Jetzt wo ich das lese...
Ich wundere mch auch seit paar Tagen dass fhem gefühlt 1x am Tag für paar Minuten einfriert.
Hab es noch nicht genauer untersucht. Aber hab auf jeder Instanz den TelegramBot...
Gesendet von meinem S60 mit Tapatalk
Der Dienst schein momentan ziemliche Probleme zu haben:
2019-09-16 21:12:32 PollingErrCount 57
2019-09-16 21:12:32 PollingLastError NonBlockingGet timed out on read from <hidden> after 605s
Der Pollingtimeout steht auf 180s. Bisher war mit dieser Einstellung PollingErrCount meist "0"
Bestätigt :
PollingErrCount
16
2019-09-16 21:15:47
PollingLastError
NonBlockingGet: returned api.telegram.org: Die Wartezeit f�r die Verbindung ist abgelaufen (110)
2019-09-16 21:15:47
Gesendet von meinem S60 mit Tapatalk
Eben ist die Instanz mit dem noch laufenden Polling wieder für 6 Minuten ausgestiegen.
Wieder kam die Meldung:
2019.09.16 22:31:45.913 4: HttpUtils: : Can't connect(2) to https://api.telegram.org:443: SSL wants a read first
2019.09.16 22:31:45.913 5: TelegramBot_Callback teleBot: called from Polling
2019.09.16 22:31:45.913 5: TelegramBot_Callback teleBot: polling returned result?
Die Instanz ohne Polling läuft unbeeindruckt weiter. Wenn das so bleibt wäre die Ursache meiner Meinung nach gefunden.
Dieses Problem hatte ich vor ca. 3 Monaten schon, ich habe auch sehr lange gesucht, bis ich dahinter kam, dass es mit dem TelegramBot zu tun hat...
Zu dem Zeitpunkt hatte ich dann keine weitere Zeit, der Sache genauer auf den Grund zu gehen und habe das Polling auf 0 gestellt, seitdem ist Ruhe, nutze auch nur das versenden von FHEM aus...
Ich hatte vermutet, dass es evtl mit meiner Internetanbindung zu tun hatte, da dort in letzter Zeit auch Probleme waren...
Grüße Marcel
Kurze Rückmeldung. In der Nacht ist die Instanz mit TeleBot Polling wieder mehrfach mit der schon beschriebenen Fehlermeldung hängengeblieben. Freezemon hat diese Mitteilung brav protokolliert.
Die andere Instanz ohne Telegram-Polling ist sauber durchgelaufen. Habe nun auch auf der ersteren Instanz das Polling abgeschaltet, aber die Ursache scheint eindeutig zu sein.
Grüße,
Heiko
Bei mir tritt es erst seit dem 1.9 auf, wie ist es bei euch?
Ich tippe auf ein oder mehrere Server im Telegram Backend, die ein Problem haben. Je nachdem wo der request landet schlägt es fehlt oder funktioniert.
@viegener, hast du eine Idee warum der Aufruf trotz NonBlockingGet "blockierend" ist?
Habe mal den botsupport angeschrieben, mal schauen was die sagen.
In der publicgroup zum botTalk war leider nichts zu finden.
Lg
... könnte sein, dass ich eine Lösung gefunden habe.
Wäre super wenn noch weitere Leute testen könnten und in der FHEM/HttpUtils.pm auf Zeile 500 folgendes einfügen:
$par{SSL_hostname} = '';
(in der Zeile vor "$par{SSL_verify_mode} = 0")
Damit wird in den SSL Optionen der Hostname nicht gesetzt.
Hab das Polling wieder aktiv und seit dem keinen Fehler mehr gesehen.
lg
Habe die Zeile bei mir auch mal eingefügt und beobachte das Ganze nun wieder mit eingeschalteten Polling auf einer Instanz.
Mal schauen was passiert ...
PS: auch die Instanz auf der ich heute früh das Polling ausgeschaltet habe, ist nun sauber durchgelaufen.
Zitat von: jmike am 17 September 2019, 14:26:48
Wäre super wenn noch weitere Leute testen könnten und in der FHEM/HttpUtils.pm auf Zeile 500 folgendes einfügen:
Muss man das irgendwie reloaden oder so?
Zitat von: andies am 17 September 2019, 20:25:08
Muss man das irgendwie reloaden oder so?
Jep.
Oder shutdown restart von fhem...
Gruß, Joachim
Moin,
bei mir lief die Instanz mit dem gepatchten HttpUtils die Nacht sauber durch.
Bei mir und deren anderen Instanz ist seit der Änderung auch kein Fehler mehr aufgetreten.
Werde das Phänomen noch mal reproduzieren um sicher zu sein.
Eine finale Lösung ist das übrigens nicht. Die Server Name Indication wäre schon gut zu nutzen, abgesehen davon möchte ich meine httpUtils nicht vom repository ,,trennen".
Eventuell gibts einen Weg per config das im TelegramBot Modul (oder sogar Device) zu deaktivieren, nur für die Telegram Domains.
Andernfalls wird hieraus ein Feature request für die httpUtils.
Seitens telegram support gab es leider noch keine Info.
Und ja, ein fhem restart ist nötig, hatte ich vergessen zu erwähnen.
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
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.
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.
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
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.
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
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
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
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 ;)
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
Seit heute früh bis jetzt ist die Instanz wieder problemlos mit dem Polling durchgelaufen. Der Spuk scheint tatsächlich weg zu sein.
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.
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))} }
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
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?
Hallo,
ich hab jetzt schon so viele Varianten versucht, kann man sendMedia auch eine Telegram-Gruppe senden?
LG
Marlen
Zitat von: andies am 18 November 2019, 08:21:30
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?
Das kann ich Dir nicht aus den Infos erklären. Bei dem Telegrammodul sind jedenfalls 2 Meldungen angekommen von Dir einmal /bus einmal /b
Könnte es vielleicht an irgendwelchen automatismen liegen - sind es favoriten oder andere Einstellungen
Zumindest kann ich es bei mir bisher nicht nachstellen
Zitat von: Marlen am 26 November 2019, 18:59:58
Hallo,
ich hab jetzt schon so viele Varianten versucht, kann man sendMedia auch eine Telegram-Gruppe senden?
LG
Marlen
ich habe es gerade probiert, bei mir geht der Versand sowohl an mehrere einzelne Empfänger auf der Kommandozeile wie auch an eine Gruppe. Also zum Beispiel so:
set beispielbot sendMedia @-12345678 eindoc.doc
Wenn -12345678 die Kontaktid einer Telegramgruppe ist
Hallo,
mal eine Frage an die Experten mit Telegram.
Kann man die messages irgendwie klassifizieren (Info/Alert, etc.) bzw filtern in Telegram?
Würde gerne eine Priorität oder Raum mitgeben?
Jemand dazu einen Tip?
Danke T
Du könntest dir verschiedene Chats anlegen.
Ich habe auch einen für den Staubsauger, einen für die Alarmanlage usw.
Sobald du Fhem aus dem Chat heraus anschreibst, kannst du die Nachrichten per "set Bot msg @ChatX Test" dort hinein leiten.
Grüße
Zitat von: viegener am 26 November 2019, 22:23:05
ich habe es gerade probiert, bei mir geht der Versand sowohl an mehrere einzelne Empfänger auf der Kommandozeile wie auch an eine Gruppe. Also zum Beispiel so:
set beispielbot sendMedia @-12345678 eindoc.doc
Wenn -12345678 die Kontaktid einer Telegramgruppe ist
Ok, danke. Das Problem ist wohl, das meine KontaktId auch ewig lang ist, eine Zeit lang hatte ich auch eine kurze Id, aber irgendwann hat sie sich mal geändert.
Weiß jemand was das bedeutet? Kann ich das irgendwie wieder rückgängig machen?
LG
Marlen
Zitat von: Marlen am 27 November 2019, 22:17:58
Ok, danke. Das Problem ist wohl, das meine KontaktId auch ewig lang ist, eine Zeit lang hatte ich auch eine kurze Id, aber irgendwann hat sie sich mal geändert.
Weiß jemand was das bedeutet? Kann ich das irgendwie wieder rückgängig machen?
LG
Marlen
Was heisst ewig lang, alle IDs, die ich kenne auch für Gruppen unterscheiden sich üblicherweise nur um wenige Stellen
Laut TelegramBot API (https://core.telegram.org/bots/api#user) kann die userId bis zu 32Bit lang sein:
ZitatIt is safe to use 32-bit signed integers for storing all Integer fields unless otherwise noted.
ChatIds können bis zu 52Bit groß sein:
ZitatUnique identifier for this chat. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier.
Die Frage ist nun, wie lang ist Marlens id?
Normal waren mein ID's immer 9 stellig.
Gruppen mit einem - davor.
Einige Gruppen haben sich dann plötzlich auf eine 13-stellige ID gewechselt.
Ohne das ich irgendwo was gemacht habe.
Hat jemand eine super Gruppe oder geheime Gruppe?
Wie viele stellen haben die?
LG
Marlen
Gesendet von meinem Mi 9T mit Tapatalk
Hallo zusammen,
ich habe auch das Problem mit dem Polling => PollingLastError: NonBlockingGet timed out on read from <hidden> after 245s
Nutze FHEM im Docker Container. Müssen hier vllt Ports aufgemacht werden oder gibt es mittlerweile einen anderen Fix?
Gruß
Chrizza
Zitat von: chrizza87 am 30 November 2019, 02:08:42
Hallo zusammen,
ich habe auch das Problem mit dem Polling => PollingLastError: NonBlockingGet timed out on read from <hidden> after 245s
Nutze FHEM im Docker Container. Müssen hier vllt Ports aufgemacht werden oder gibt es mittlerweile einen anderen Fix?
Gruß
Chrizza
Wie hier im Thread vermerkt, sollte das Problem eigentlich gelöst sein (wenn es sich auf die Änderung im Mai bezieht)? Der Fix ist dazu erfolgt (siehe im Thread im Mai).
Wenn Du das Problem jetzt hast, kann ich zu Deinen Angaben nichts sagen, einen speziellen zusätzichen Port muss man nicht öffnen. Es findet eine normaler Webzugriff statt. Wenn also Versenden geht, sollte auch Polling grundsätzlich funktionieren.
Also fhem ist up to date bei mir. Senden der Nachrichten funktioniert einwandfrei. Nur beim polling bekomme ich einen fehler. Ging aber mal (auch im docker).
Was könnte ich hier noch untersuchen bzw. Welche infos wären noch hilfreich?
Zitat von: chrizza87 am 01 Dezember 2019, 11:13:41
Also fhem ist up to date bei mir. Senden der Nachrichten funktioniert einwandfrei. Nur beim polling bekomme ich einen fehler. Ging aber mal (auch im docker).
Was könnte ich hier noch untersuchen bzw. Welche infos wären noch hilfreich?
Das wesentliche wäre was hast Du geändert seitdem es das letzte mal funktioniert hast bis zu dem Zeitpunkt wo es nicht mehr funktioniert hat?
Ausserdem:
- tritt es nur einmalig auf, oder dauernd (Stand PollingErrCount reading)
- hast DU mal das Pollingintervall verkürzt?
Zitat
Das wesentliche wäre was hast Du geändert seitdem es das letzte mal funktioniert hast bis zu dem Zeitpunkt wo es nicht mehr funktioniert hat?
Ich habe eigentlich garnichts geändert, deswegen wundert es mich. Nur FHEM Updates.
Zitat
- tritt es nur einmalig auf, oder dauernd (Stand PollingErrCount reading)
Es tritt dauernd auf. Ist steht durchgängig auch im Status "Polling"
Zitat
- hast DU mal das Pollingintervall verkürzt?
- Habe das Timeout momentan nur auf 0 gesetzt, dass er garnicht pollt. Ich werde es versuchen mit dem runtersetzen und mich nochmal melden.
Zitat von: chrizza87 am 01 Dezember 2019, 14:57:51
Ich habe eigentlich garnichts geändert, deswegen wundert es mich. Nur FHEM Updates.
Es tritt dauernd auf. Ist steht durchgängig auch im Status "Polling"
- Habe das Timeout momentan nur auf 0 gesetzt, dass er garnicht pollt. Ich werde es versuchen mit dem runtersetzen und mich nochmal melden.
Wenn Du den timeout auf 0 setzt wird auch kein polling fehler mehr auftauchen
Der Status polling ist völlig normal!
Wie gesagt - was steht in PollingErrCount?
Zitat von: viegener am 01 Dezember 2019, 22:02:22
Wenn Du den timeout auf 0 setzt wird auch kein polling fehler mehr auftauchen
Der Status polling ist völlig normal!
Wie gesagt - was steht in PollingErrCount?
PollingErrCount war bei 11
Ich habe einfach mal das Device neu angelegt und das alte gelöscht. Siehe da es geht plötzlich wieder. Gab es wohl irgend ein Problem.
Danke für die Hilfe :-)
Zitat von: chrizza87 am 02 Dezember 2019, 23:08:00
PollingErrCount war bei 11
Ich habe einfach mal das Device neu angelegt und das alte gelöscht. Siehe da es geht plötzlich wieder. Gab es wohl irgend ein Problem.
Danke für die Hilfe :-)
Ich vermute nicht, denn die Anzahl 11 sagt eigentlich nur, dass innerhalb der letzten 24h 11 mal ein Problem aufgetreten ist. Bei angenommen 60 Sekunden Polling sind das weit weniger als 1 Prozent und das kann bei Routerzwangstrennung und gelegentlichem Schluckauf in der Verbindung vorkommen.
Mit dem Neuanlegen hast Du nur die letzte Fehlermeldung gelöscht, die irgendwann aufgetreten ist, diese wird vermutlich diese Nacht spätestens wieder gesetzt worden sein. Die Readings sind auch in der commandref erklärt.
Fazit: Ich vermute: Es tritt NICHT dauernd auf, sondern nur gelegentlich über den Tag, das kann insbesondere auch an einem hohen polling timeout liegen. Die Fehlermeldung war kein grundsätzliches Problem und der Status polling deutete bereits auf völlig normale Funktion hin. Abruf von Nachrichten (polling) sollte grundsätzlich funktioniert haben. Eine Neuanlage des Devices hat hier nichts geändert und nur Arbeit gemacht.
Moin,
ich habe seit einem Tag plötzlich und ohne irgendwelche Änderungen folgende Meldung PollingLastError im Telegam-Device
Callback returned error :Conflict: terminated by other getUpdates request; make sure that only one bot instance is running:
Telegram sendet weiterhin, aber mit dem cmdFavorites kann ich den Dialog nicht mehr auslösen
Hat jemand eine Idee, wo ich suchen kann?
Dankeschön
Hilft mir gerade mal jemand? Hab was verstellt und finde das Setting dazu nicht mehr. Mein Telegram antwortet mir mit der geforderten Antwort + eine Kopie meines Befehls plus: "Ergebnis OK".
Wie werde ich diese Bestätigung wieder los?
Attribut textResponseResult löschen könnte sein was Du suchst.
Gruß
rob
Gesetzt habe ich es nicht, aber im pm-File sieht es so aus als wenn es das wäre. Danke für den Denkanstoß.
Scheint es nicht zu sein, zumidnest ist es nicht gesetzt. Hab ein "0" oder "none" versucht, leider kommt dann statt dem Text die Null oder das None an. Lösche ich das Attribut, kommt wieder der Text.
// EDIT:
cmdReturnEmptyResult, das wars aber ... yeah, danke!
Zitat von: FHEM-User22 am 11 Dezember 2019, 07:52:21
Moin,
ich habe seit einem Tag plötzlich und ohne irgendwelche Änderungen folgende Meldung PollingLastError im Telegam-Device
Callback returned error :Conflict: terminated by other getUpdates request; make sure that only one bot instance is running:
Telegram sendet weiterhin, aber mit dem cmdFavorites kann ich den Dialog nicht mehr auslösen
Hat jemand eine Idee, wo ich suchen kann?
Dankeschön
Entweder hast Du eine andere TelegramBotInstanz mit demselben Bot laufen (auf derselben, einem anderen FHEM oder einem anderen Client) oder jemand hat Dein Token und nutzt Deine Bot-Instanz. IM letzten Fall solltest Du schleunigst auf Telegram ein neues Token generieren und in FHEM eintragen. Dann sollte der SPuk vorbei sein. Allerdings solltest die Ursache erforschen.
Dankeschön,
Ich habe einen neuen Token erstellt und es läuft.
Auf der Suche nach dem Grund bin ich noch nicht weiter. Ich bleibe dran.
Dankeschön.
Hallo,
ich würde gerne mit den Favoriten Perl Funktionen aus 99_Utils aufrufen.
attr MyBot favorites [Zuhause]={messageFromTelegram('Zuhause')};;[Garage]={messageFromTelegram('Garage')};;
Die Funktion im 99_Utils würde dann entsprechend einen String zurückliefern mit return "Jawoll es ist jemand zuhause".
Leider bekomme ich in Telegram direkt immer einen Fehler: Unknown Command
Hat jemand einen Tipp für mich?
Danke, Roger
Vielleicht CommandRef bzgl. favorites lesen, und die Syntax einhalten?
https://fhem.de/commandref.html#TelegramBot
Vielleicht ja...
Aber um ehrlich zu sein, habe ich das schon und jetzt nach deinem Hinweis nochmal.
Leider kann ich keinen Hinweis dazu finden, wie ich eine Perl Funktion als Favorit ausführen kann.
Falls Du mir damit sagen willst die geschweiften Klammern wegzulassen, das geht nicht.
Hallo,
ich glaub ich hab es ... teilweise.
Es muss jetzt wohl immer ein / davor sein, wenn man eine Description in [ ].
Also amenomade hatte recht... LESEN!
Es geht dann auch eine Perlfunktion mit {}.
Aber mehrere Favoriten klappt noch nicht.
Sobald ich einen 2. Favoriten definiere, bekomme ich beim Speichern folgenden Fehler: Unknown command /garage[Garage]={messageFromTelegram('Garage')}, try help.
attr MyBot favorites /zuhause[Zuhause]={messageFromTelegram('Zuhause')};/garage[Garage]={messageFromTelegram('Garage')};
Hat noch jemand eine Idee?
Danke, Roger
Zitat von: rogerknop am 14 Dezember 2019, 17:44:49
attr MyBot favorites /zuhause[Zuhause]={messageFromTelegram('Zuhause')};/garage[Garage]={messageFromTelegram('Garage')};
Aber Du stehst auf doppelt.
Erst ein doppeltes Semikolon, wo nur eins hin gesollt hätte
und jetzt der "Alias"
probier doch mal das
attr MyBot favorites /[Zuhause]={messageFromTelegram('Zuhause')};/[Garage]={messageFromTelegram('Garage')};
Hallo Brause,
gleiche Fehlermeldung.
Grüße, Roger
attr MyBot favorites /[Zuhause]={messageFromTelegram('Zuhause')};/[Garage]={messageFromTelegram('Garage')};
Wenn Du das ins Kommandofeld von Fhem oder in Raw Definition eingibst, musst Du die Semikola verdoppeln.
Wenn Du es ins attr Feld eingibst, und am Ende auf "attr" klickst, musst Du es nicht verdoppeln.
Kein Semikolon am Ende
Wenn Du {messageFromTelegram('Zuhause')}
ins Kommandofeld von Fhem eingibst, was passiert?
Hallo amenomade,
das war es!
Ich hatte es im config editiert - was man ja genau nich machen soll :-(
Und da hatte ich nur ein ; jetzt mit 2x ; und am Ende keins funktioniert alles wunderbar.
VIELEN DANKE und schöne Feiertage,
Roger
Zitat von: viegener am 03 Dezember 2019, 10:18:55
Ich vermute nicht, denn die Anzahl 11 sagt eigentlich nur, dass innerhalb der letzten 24h 11 mal ein Problem aufgetreten ist. Bei angenommen 60 Sekunden Polling sind das weit weniger als 1 Prozent und das kann bei Routerzwangstrennung und gelegentlichem Schluckauf in der Verbindung vorkommen.
Mit dem Neuanlegen hast Du nur die letzte Fehlermeldung gelöscht, die irgendwann aufgetreten ist, diese wird vermutlich diese Nacht spätestens wieder gesetzt worden sein. Die Readings sind auch in der commandref erklärt.
Fazit: Ich vermute: Es tritt NICHT dauernd auf, sondern nur gelegentlich über den Tag, das kann insbesondere auch an einem hohen polling timeout liegen. Die Fehlermeldung war kein grundsätzliches Problem und der Status polling deutete bereits auf völlig normale Funktion hin. Abruf von Nachrichten (polling) sollte grundsätzlich funktioniert haben. Eine Neuanlage des Devices hat hier nichts geändert und nur Arbeit gemacht.
Eine Neuanlage des Devices hat mein Problem gefixed, dass ich mit dem Bot keine Nachrichrten mehr senden konnte... (wie beschrieben) Deswegen hat es nicht nur Arbeit gemacht, sondern die normale Funktion des Bots wieder gewährleistet.
Zitat von: chrizza87 am 17 Dezember 2019, 11:20:59
Eine Neuanlage des Devices hat mein Problem gefixed, dass ich mit dem Bot keine Nachrichrten mehr senden konnte... (wie beschrieben) Deswegen hat es nicht nur Arbeit gemacht, sondern die normale Funktion des Bots wieder gewährleistet.
@chrizza87 - Ich lasse Dir Deine Meinung - Du kennst Dich bestimmt aus.
Moin!
Seit heute dreht mein TelegramBot scheinbar völlig durch.
Alle paar Sekunden werden die Kontakte aktualisiert.
2020.01.03 09:58:06 2: TelegramBot_ContactUpdate Updated Contact list :875018018:مرضیه:@eastsaastg 888051068:kim_han_lee_(MAR):@kimhanleee 843730213:DannyⓂ🔥🔝: 713767745:4184310541: 895146131:Luji_Uye:@Canlaco90 532608135:Ratih:@Ratih5878 1007656254:Dabus: 849751602:مونا:@monafcasg 848924740:ـــــراZahraزهـــــ:@zahra_tanoghs 953257460:noni_ahmed: 485559176:♓🅾‼🅰K_❗♑'$:@Hollaholluwa 706426992:Kossouho_Amour: 534123007:Alex: 827992959:6139096482: 523021621:【𝐓𝐑𝐔𝐄𝐒𝐇𝐎𝐏𝐒】:@MopqoBot 913475743:99355_Abdyldaeva: 708201929:4184314035_Saurel:@FXFlippin 678499150:Dein_Hass:@dein_hass 677143655:Легеон:@evgen15 561062228:Дмитрий_Демон:@lvovichdmitri 926822174:5148195382: 914003637:Salawe: 693156470:Adetunji_Ezekiel:@Eazyloaded 670328148:Muhammad_Hanan_Younas:@Honee2 689275708:Lung_Puluh:@Quyonjinni 310718603:LokiHomeBot:@LokiFHEMbot 768412869:Тина_Кина:@roza5454 781104579:Бубенец_Бубновый:@bongalbum 777439975:taras_safonov:@lhammer 192303990:Def_Join:@ayayAAY 1045119688:A_1: 865749223:یاسمن_=:@safasfasfaa 878719814:نفیسه:@naanxxm_bot 732787255:Добрыня:@dobbod 654394010:RONEM: 926972630:NGa_Likur: 884399311:عهدیه:@ahgshcb_bot 800750210:مرضیه:@mausnc_bot 739265055:فرنیا_شریفزاده:@frniashrifzadhUCa 731417565:nguyen_cuong: 484281088:Falcon: 684666652:Stanley_Masiga:@Smasiga 629959397:Amir:@Shahzaf92 435306902:Erna_Harwardt: 817259117:Джонни_Д.:@johnnydillinger9 831571167:2267902976: 933283744:Icguvft_Vtuhcg: 971552947:5817028385: 1022015974:Tina_Shahana: 893692252:Bhshs_Nsnsb: 685942003:Alenka:@alenkaantonova95K 1055662642:7059980719: 705051338:tenshi_noai:@tenshinoa 805543845:Azimut:@Azimut_biz 1011032247:Sayed_Faishal: 1063139504:Trần_Hưng: 536986171:Валерия:@Letamalaa 1012094752:4388063334: 735829167:6137029465: 853096482:6138015293: -1001448452780::#Business_Platform 806695879:Zbs👑:@fireman76 391395700:Темур:@lgalantemf 990579781:2264004607: 818767471:Chigozie_Kingsley: 939301511:Eka_Saputra:@Rkazr 944096665:Chinedu:@Akujobi 656196485:Лена: 888250886:Darwin_Valencia:@Korpy0617 865975564:الهه:@ejvcxc_bot 1003701526:Danial:@Danial_Vdn 725718648:Новая_Я:@Novulecika 715477669:Sanusi_Ali: 860094032:5199007374: 638928058:نازی_جون2222:@kingkongaaa 808636072:Adem_Ata: 1046262025:8077885397: 604985403:Пипеточка_..:@pppiiiiiii 1042813152:ali: 540510565:Влад:@vladb130 1015194722:8198011628: 1062326905:Sergio:@sercnb 1014132237:bch: 911255569:G: 1044806964:Ropat: 874755935:سمیه:@siakxmc_bot 1050770563:Sjsj_Ndndehe: 757761320:Angel_Santiago: 790228442:👑_Посейдон_24/7_👑:@PosidonMDA 1005195581:6204_vxfjxs: 977835403:famia_rewa: 1019748964:6139002809: 935948425:Wwweer_Rewsa: 839482426:huong_huong: 926995589:Hamide333c:@hamideccc333 387328492:Tino:@TinoSFT 772398630:Bio_Pibou_Moh:@Biopib 687429672:Aihiegbe_Blessing: 943671463:Ydh: -1001470639859::#👑_Магазин_Посейдона_👑 804252203:Milana(ПОКУПКИ_У_МИЛАНЫ)_@Milana77777:@Milanka7777 461088493:xSantoryuu:@xSantoryuu 970513329:👑Ҝ࿆࿆Ξ̲࿆࿆̭̭̭̅̌̌̌ล࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌Ƥ࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌σ࿆࿆Ξ̭̭̭࿆࿆̲̅̌̌̌л👑:@Sadullayev_Alibek 1020931007:8077884351: 680422313:Darya:@Darya520 505774440:Walker_Ashes:@walkerashes 723495165:Narkoz:@Narkoz76 882972140:4502328072: 915994993:anscii_c: 939029747:Kweku_Larry: 979445390:ٜٜ✯ٜٜI_ใﻩνε_γﻩυ_ลใใลh(ﷲ۪۪ٜٜ✯:@Shukrulloh_oficial 745021002:riddick:@O77Y10 551068069:watch_Clock:@citiplaza 785866043:Matheus_Rodrigues:@Matheustbo 679136598:abdul_razak_khatri: 823956556:Dominic_Manlutac: 1001691673:yiai_medo:@vbd5kdr 860673516:6227_gffgfrv: 987577881:2898122836: 957067678:ZeroLemon: 1029303725:5199009528: 852291915:Football:@bnbjack 955098573:Sherzod_Bek:@Sherzodbek1252 598061258:╰SD╮_SØÑĂMÝᏕツ:@sonamy44 973499879:2892712267: 729149890:Сала:@brend11 878403712:Jenifer: 820050944:✵👑_〽️🅰️❌👑✵_✵ΓαηgsТеρ✵:@Trivojit 756508971:@Nishan_Ekanayake:@nlshan22 956801375:Abd._Malik_Al_Qadri:@AbdMalikAlQadri 838185493:4388141233: 642936973:Профессор:@sdelalusername2 1008911518:4509126744: 823414994:Kaleem_Soomro:@Soomroking 358646636:Jun_Donio:@Donz897 1038405281:klueee_1729:@klueee1729 1039575188:Rowolu: 1029880934:aisahno3:@aisahno3 874516040:Emiya_Shirou: 1038679151:5199007438: 986342847:Sine_Wiem: 916160583:Nky_Fasr: 595672616:سوگند:@Ghossher 805916195:Жизнь_это_Игра:@Pakmenshop 915232578:quill_bot: 1022462610:G_Ff: 1039412730:8077880220: 889877310:4184319284: 847523302:Марина_Морева:@fectrachi 947294185:Gamer:@fingerp 1034786928:ISAT-9357: 190639713:Валентина_Лукрецкая:@LukretskayaValentina 893951919:riki-tiki_25:@Sex1577 843298703:Juan_Pablo_Segura: 1031195571:7059954011: 776863187:DOGE1_wd✓: 773931659:27::
2020.01.03 09:58:11 2: TelegramBot_ContactUpdate Updated Contact list :971552947:5817028385: 933283744:Icguvft_Vtuhcg: 831571167:2267902976: 817259117:Джонни_Д.:@johnnydillinger9 435306902:Erna_Harwardt: 705051338:tenshi_noai:@tenshinoa 1055662642:7059980719: 685942003:Alenka:@alenkaantonova95K 893692252:Bhshs_Nsnsb: 1022015974:Tina_Shahana: 1012094752:4388063334: 735829167:6137029465: 536986171:Валерия:@Letamalaa 1063139504:Trần_Hưng: 1011032247:Sayed_Faishal: 805543845:Azimut:@Azimut_biz 391395700:Темур:@lgalantemf 990579781:2264004607: 806695879:Zbs👑:@fireman76 -1001448452780::#Business_Platform 853096482:6138015293: 818767471:Chigozie_Kingsley: 656196485:Лена: 944096665:Chinedu:@Akujobi 939301511:Eka_Saputra:@Rkazr 715477669:Sanusi_Ali: 725718648:Новая_Я:@Novulecika 865975564:الهه:@ejvcxc_bot 1003701526:Danial:@Danial_Vdn 888250886:Darwin_Valencia:@Korpy0617 1042813152:ali: 604985403:Пипеточка_..:@pppiiiiiii 1046262025:8077885397: 638928058:نازی_جون2222:@kingkongaaa 808636072:Adem_Ata: 860094032:5199007374: 875018018:مرضیه:@eastsaastg 485559176:♓🅾‼🅰K_❗♑'$:@Hollaholluwa 706426992:Kossouho_Amour: 848924740:ـــــراZahraزهـــــ:@zahra_tanoghs 953257460:noni_ahmed: 532608135:Ratih:@Ratih5878 1007656254:Dabus: 849751602:مونا:@monafcasg 895146131:Luji_Uye:@Canlaco90 888051068:kim_han_lee_(MAR):@kimhanleee 843730213:DannyⓂ🔥🔝: 713767745:4184310541: 534123007:Alex: 708201929:4184314035_Saurel:@FXFlippin 913475743:99355_Abdyldaeva: 523021621:【𝐓𝐑𝐔𝐄𝐒𝐇𝐎𝐏𝐒】:@MopqoBot 827992959:6139096482: 561062228:Дмитрий_Демон:@lvovichdmitri 678499150:Dein_Hass:@dein_hass 677143655:Легеон:@evgen15 781104579:Бубенец_Бубновый:@bongalbum 777439975:taras_safonov:@lhammer 689275708:Lung_Puluh:@Quyonjinni 310718603:LokiHomeBot:@LokiFHEMbot 768412869:Тина_Кина:@roza5454 670328148:Muhammad_Hanan_Younas:@Honee2 914003637:Salawe: 693156470:Adetunji_Ezekiel:@Eazyloaded 926822174:5148195382: 800750210:مرضیه:@mausnc_bot 926972630:NGa_Likur: 884399311:عهدیه:@ahgshcb_bot 654394010:RONEM: 878719814:نفیسه:@naanxxm_bot 732787255:Добрыня:@dobbod 1045119688:A_1: 865749223:یاسمن_=:@safasfasfaa 192303990:Def_Join:@ayayAAY 629959397:Amir:@Shahzaf92 799803113:26: 684666652:Stanley_Masiga:@Smasiga 731417565:nguyen_cuong: 484281088:Falcon: 739265055:فرنیا_شریفزاده:@frniashrifzadhUCa 756508971:@Nishan_Ekanayake:@nlshan22 878403712:Jenifer: 820050944:✵👑_〽️🅰️❌👑✵_✵ΓαηgsТеρ✵:@Trivojit 956801375:Abd._Malik_Al_Qadri:@AbdMalikAlQadri 838185493:4388141233: 1038405281:klueee_1729:@klueee1729 1039575188:Rowolu: 1008911518:4509126744: 823414994:Kaleem_Soomro:@Soomroking 358646636:Jun_Donio:@Donz897 642936973:Профессор:@sdelalusername2 916160583:Nky_Fasr: 1038679151:5199007438: 986342847:Sine_Wiem: 874516040:Emiya_Shirou: 1029880934:aisahno3:@aisahno3 915232578:quill_bot: 805916195:Жизнь_это_Игра:@Pakmenshop 595672616:سوگند:@Ghossher 847523302:Марина_Морева:@fectrachi 889877310:4184319284: 1039412730:8077880220: 1022462610:G_Ff: 190639713:Валентина_Лукрецкая:@LukretskayaValentina 893951919:riki-tiki_25:@Sex1577 1034786928:ISAT-9357: 947294185:Gamer:@fingerp 773931659:27: 776863187:DOGE1_wd✓: 843298703:Juan_Pablo_Segura: 1031195571:7059954011: 874755935:سمیه:@siakxmc_bot 1050770563:Sjsj_Ndndehe: 1044806964:Ropat: 911255569:G: 1062326905:Sergio:@sercnb 1014132237:bch: 540510565:Влад:@vladb130 1015194722:8198011628: 1005195581:6204_vxfjxs: 790228442:👑_Посейдон_24/7_👑:@PosidonMDA 757761320:Angel_Santiago: 839482426:huong_huong: 926995589:Hamide333c:@hamideccc333 1019748964:6139002809: 935948425:Wwweer_Rewsa: 977835403:famia_rewa: 804252203:Milana(ПОКУПКИ_У_МИЛАНЫ)_@Milana77777:@Milanka7777 461088493:xSantoryuu:@xSantoryuu -1001470639859::#👑_Магазин_Посейдона_👑 687429672:Aihiegbe_Blessing: 943671463:Ydh: 387328492:Tino:@TinoSFT 772398630:Bio_Pibou_Moh:@Biopib 723495165:Narkoz:@Narkoz76 505774440:Walker_Ashes:@walkerashes 680422313:Darya:@Darya520 1020931007:8077884351: 970513329:👑Ҝ࿆࿆Ξ̲࿆࿆̭̭̭̅̌̌̌ล࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌Ƥ࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌σ࿆࿆Ξ̭̭̭࿆࿆̲̅̌̌̌л👑:@Sadullayev_Alibek 551068069:watch_Clock:@citiplaza 745021002:riddick:@O77Y10 979445390:ٜٜ✯ٜٜI_ใﻩνε_γﻩυ_ลใใลh(ﷲ۪۪ٜٜ✯:@Shukrulloh_oficial 939029747:Kweku_Larry: 915994993:anscii_c: 882972140:4502328072: 598061258:╰SD╮_SØÑĂMÝᏕツ:@sonamy44 955098573:Sherzod_Bek:@Sherzodbek1252 1029303725:5199009528: 852291915:Football:@bnbjack 987577881:2898122836: 957067678:ZeroLemon: 1001691673:yiai_medo:@vbd5kdr 860673516:6227_gffgfrv: 679136598:abdul_razak_khatri: 823956556:Dominic_Manlutac: 785866043:Matheus_Rodrigues:@Matheustbo 973499879:2892712267: 729149890:Сала:@brend11:
2020.01.03 09:58:15 2: TelegramBot_ContactUpdate Updated Contact list :715477669:Sanusi_Ali: 725718648:Новая_Я:@Novulecika 865975564:الهه:@ejvcxc_bot 853909087:Djamel_Nor: 1003701526:Danial:@Danial_Vdn 888250886:Darwin_Valencia:@Korpy0617 1042813152:ali: 604985403:Пипеточка_..:@pppiiiiiii 1046262025:8077885397: 638928058:نازی_جون2222:@kingkongaaa 808636072:Adem_Ata: 860094032:5199007374: 818767471:Chigozie_Kingsley: 656196485:Лена: 944096665:Chinedu:@Akujobi 939301511:Eka_Saputra:@Rkazr 1012094752:4388063334: 735829167:6137029465: 536986171:Валерия:@Letamalaa 1063139504:Trần_Hưng: 1011032247:Sayed_Faishal: 805543845:Azimut:@Azimut_biz 391395700:Темур:@lgalantemf 990579781:2264004607: 806695879:Zbs👑:@fireman76 -1001448452780::#Business_Platform 853096482:6138015293: 971552947:5817028385: 933283744:Icguvft_Vtuhcg: 831571167:2267902976: 817259117:Джонни_Д.:@johnnydillinger9 435306902:Erna_Harwardt: 705051338:tenshi_noai:@tenshinoa 1055662642:7059980719: 685942003:Alenka:@alenkaantonova95K 893692252:Bhshs_Nsnsb: 1022015974:Tina_Shahana: 800750210:مرضیه:@mausnc_bot 926972630:NGa_Likur: 884399311:عهدیه:@ahgshcb_bot 654394010:RONEM: 878719814:نفیسه:@naanxxm_bot 732787255:Добрыня:@dobbod 1045119688:A_1: 865749223:یاسمن_=:@safasfasfaa 192303990:Def_Join:@ayayAAY 629959397:Amir:@Shahzaf92 799803113:26: 684666652:Stanley_Masiga:@Smasiga 731417565:nguyen_cuong: 484281088:Falcon: 739265055:فرنیا_شریفزاده:@frniashrifzadhUCa 561062228:Дмитрий_Демон:@lvovichdmitri 678499150:Dein_Hass:@dein_hass 677143655:Легеон:@evgen15 781104579:Бубенец_Бубновый:@bongalbum 777439975:taras_safonov:@lhammer 689275708:Lung_Puluh:@Quyonjinni 310718603:LokiHomeBot:@LokiFHEMbot 768412869:Тина_Кина:@roza5454 670328148:Muhammad_Hanan_Younas:@Honee2 914003637:Salawe: 693156470:Adetunji_Ezekiel:@Eazyloaded 926822174:5148195382: 534123007:Alex: 708201929:4184314035_Saurel:@FXFlippin 913475743:99355_Abdyldaeva: 523021621:【𝐓𝐑𝐔𝐄𝐒𝐇𝐎𝐏𝐒】:@MopqoBot 827992959:6139096482: 875018018:مرضیه:@eastsaastg 485559176:♓🅾‼🅰K_❗♑'$:@Hollaholluwa 706426992:Kossouho_Amour: 848924740:ـــــراZahraزهـــــ:@zahra_tanoghs 953257460:noni_ahmed: 532608135:Ratih:@Ratih5878 1007656254:Dabus: 849751602:مونا:@monafcasg 895146131:Luji_Uye:@Canlaco90 888051068:kim_han_lee_(MAR):@kimhanleee 843730213:DannyⓂ🔥🔝: 713767745:4184310541: 190639713:Валентина_Лукрецкая:@LukretskayaValentina 893951919:riki-tiki_25:@Sex1577 1034786928:ISAT-9357: 947294185:Gamer:@fingerp 773931659:27: 776863187:DOGE1_wd✓: 843298703:Juan_Pablo_Segura: 1031195571:7059954011: 915232578:quill_bot: 805916195:Жизнь_это_Игра:@Pakmenshop 595672616:سوگند:@Ghossher 847523302:Марина_Морева:@fectrachi 889877310:4184319284: 1039412730:8077880220: 1022462610:G_Ff: 1038405281:klueee_1729:@klueee1729 1039575188:Rowolu: 1008911518:4509126744: 823414994:Kaleem_Soomro:@Soomroking 358646636:Jun_Donio:@Donz897 642936973:Профессор:@sdelalusername2 916160583:Nky_Fasr: 1038679151:5199007438: 986342847:Sine_Wiem: 874516040:Emiya_Shirou: 1029880934:aisahno3:@aisahno3 756508971:@Nishan_Ekanayake:@nlshan22 878403712:Jenifer: 820050944:✵👑_〽️🅰️❌👑✵_✵ΓαηgsТеρ✵:@Trivojit 956801375:Abd._Malik_Al_Qadri:@AbdMalikAlQadri 838185493:4388141233: 598061258:╰SD╮_SØÑĂMÝᏕツ:@sonamy44 955098573:Sherzod_Bek:@Sherzodbek1252 1029303725:5199009528: 852291915:Football:@bnbjack 987577881:2898122836: 957067678:ZeroLemon: 1001691673:yiai_medo:@vbd5kdr 860673516:6227_gffgfrv: 679136598:abdul_razak_khatri: 823956556:Dominic_Manlutac: 785866043:Matheus_Rodrigues:@Matheustbo 973499879:2892712267: 729149890:Сала:@brend11 723495165:Narkoz:@Narkoz76 505774440:Walker_Ashes:@walkerashes 680422313:Darya:@Darya520 1020931007:8077884351: 970513329:👑Ҝ࿆࿆Ξ̲࿆࿆̭̭̭̅̌̌̌ล࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌Ƥ࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌σ࿆࿆Ξ̭̭̭࿆࿆̲̅̌̌̌л👑:@Sadullayev_Alibek 551068069:watch_Clock:@citiplaza 745021002:riddick:@O77Y10 979445390:ٜٜ✯ٜٜI_ใﻩνε_γﻩυ_ลใใลh(ﷲ۪۪ٜٜ✯:@Shukrulloh_oficial 939029747:Kweku_Larry: 915994993:anscii_c: 882972140:4502328072: 839482426:huong_huong: 926995589:Hamide333c:@hamideccc333 1019748964:6139002809: 935948425:Wwweer_Rewsa: 977835403:famia_rewa: 804252203:Milana(ПОКУПКИ_У_МИЛАНЫ)_@Milana77777:@Milanka7777 461088493:xSantoryuu:@xSantoryuu -1001470639859::#👑_Магазин_Посейдона_👑 687429672:Aihiegbe_Blessing: 943671463:Ydh: 387328492:Tino:@TinoSFT 772398630:Bio_Pibou_Moh:@Biopib 874755935:سمیه:@siakxmc_bot 1050770563:Sjsj_Ndndehe: 1044806964:Ropat: 911255569:G: 1062326905:Sergio:@sercnb 1014132237:bch: 540510565:Влад:@vladb130 1015194722:8198011628: 1005195581:6204_vxfjxs: 790228442:👑_Посейдон_24/7_👑:@PosidonMDA 757761320:Angel_Santiago::
2020.01.03 09:58:20 2: TelegramBot_ContactUpdate Updated Contact list :818767471:Chigozie_Kingsley: 944096665:Chinedu:@Akujobi 939301511:Eka_Saputra:@Rkazr 656196485:Лена: 725718648:Новая_Я:@Novulecika 888250886:Darwin_Valencia:@Korpy0617 865975564:الهه:@ejvcxc_bot 853909087:Djamel_Nor: 1003701526:Danial:@Danial_Vdn 715477669:Sanusi_Ali: 638928058:نازی_جون2222:@kingkongaaa 808636072:Adem_Ata: 860094032:5199007374: 604985403:Пипеточка_..:@pppiiiiiii 1042813152:ali: 1046262025:8077885397: 817259117:Джонни_Д.:@johnnydillinger9 435306902:Erna_Harwardt: 971552947:5817028385: 831571167:2267902976: 933283744:Icguvft_Vtuhcg: 893692252:Bhshs_Nsnsb: 1022015974:Tina_Shahana: 1055662642:7059980719: 705051338:tenshi_noai:@tenshinoa 685942003:Alenka:@alenkaantonova95K 805543845:Azimut:@Azimut_biz 1011032247:Sayed_Faishal: 1012094752:4388063334: 735829167:6137029465: 1063139504:Trần_Hưng: 536986171:Валерия:@Letamalaa -1001448452780::#Business_Platform 853096482:6138015293: 806695879:Zbs👑:@fireman76 391395700:Темур:@lgalantemf 990579781:2264004607: 678499150:Dein_Hass:@dein_hass 677143655:Легеон:@evgen15 561062228:Дмитрий_Демон:@lvovichdmitri 926822174:5148195382: 914003637:Salawe: 693156470:Adetunji_Ezekiel:@Eazyloaded 781104579:Бубенец_Бубновый:@bongalbum 777439975:taras_safonov:@lhammer 670328148:Muhammad_Hanan_Younas:@Honee2 689275708:Lung_Puluh:@Quyonjinni 310718603:LokiHomeBot:@LokiFHEMbot 768412869:Тина_Кина:@roza5454 1045119688:A_1: 865749223:یاسمن_=:@safasfasfaa 878719814:نفیسه:@naanxxm_bot 732787255:Добрыня:@dobbod 192303990:Def_Join:@ayayAAY 800750210:مرضیه:@mausnc_bot 654394010:RONEM: 926972630:NGa_Likur: 884399311:عهدیه:@ahgshcb_bot 739265055:فرنیا_شریفزاده:@frniashrifzadhUCa 731417565:nguyen_cuong: 484281088:Falcon: 629959397:Amir:@Shahzaf92 684666652:Stanley_Masiga:@Smasiga 799803113:26: 875018018:مرضیه:@eastsaastg 888051068:kim_han_lee_(MAR):@kimhanleee 843730213:DannyⓂ🔥🔝: 713767745:4184310541: 867078872:Allan_Fae:@Allan436 848924740:ـــــراZahraزهـــــ:@zahra_tanoghs 953257460:noni_ahmed: 485559176:♓🅾‼🅰K_❗♑'$:@Hollaholluwa 706426992:Kossouho_Amour: 895146131:Luji_Uye:@Canlaco90 532608135:Ratih:@Ratih5878 1007656254:Dabus: 849751602:مونا:@monafcasg 534123007:Alex: 523021621:【𝐓𝐑𝐔𝐄𝐒𝐇𝐎𝐏𝐒】:@MopqoBot 827992959:6139096482: 708201929:4184314035_Saurel:@FXFlippin 913475743:99355_Abdyldaeva: 595672616:سوگند:@Ghossher 805916195:Жизнь_это_Игра:@Pakmenshop 915232578:quill_bot: 1022462610:G_Ff: 1039412730:8077880220: 847523302:Марина_Морева:@fectrachi 889877310:4184319284: 947294185:Gamer:@fingerp 1034786928:ISAT-9357: 190639713:Валентина_Лукрецкая:@LukretskayaValentina 893951919:riki-tiki_25:@Sex1577 843298703:Juan_Pablo_Segura: 1031195571:7059954011: 773931659:27: 776863187:DOGE1_wd✓: 878403712:Jenifer: 820050944:✵👑_〽️🅰️❌👑✵_✵ΓαηgsТеρ✵:@Trivojit 756508971:@Nishan_Ekanayake:@nlshan22 956801375:Abd._Malik_Al_Qadri:@AbdMalikAlQadri 838185493:4388141233: 642936973:Профессор:@sdelalusername2 1038405281:klueee_1729:@klueee1729 1039575188:Rowolu: 1008911518:4509126744: 823414994:Kaleem_Soomro:@Soomroking 358646636:Jun_Donio:@Donz897 1029880934:aisahno3:@aisahno3 874516040:Emiya_Shirou: 1038679151:5199007438: 986342847:Sine_Wiem: 916160583:Nky_Fasr: 680422313:Darya:@Darya520 970513329:👑Ҝ࿆࿆Ξ̲࿆࿆̭̭̭̅̌̌̌ล࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌Ƥ࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌σ࿆࿆Ξ̭̭̭࿆࿆̲̅̌̌̌л👑:@Sadullayev_Alibek 1020931007:8077884351: 505774440:Walker_Ashes:@walkerashes 723495165:Narkoz:@Narkoz76 939029747:Kweku_Larry: 882972140:4502328072: 915994993:anscii_c: 745021002:riddick:@O77Y10 551068069:watch_Clock:@citiplaza 979445390:ٜٜ✯ٜٜI_ใﻩνε_γﻩυ_ลใใลh(ﷲ۪۪ٜٜ✯:@Shukrulloh_oficial 1001691673:yiai_medo:@vbd5kdr 860673516:6227_gffgfrv: 987577881:2898122836: 957067678:ZeroLemon: 785866043:Matheus_Rodrigues:@Matheustbo 679136598:abdul_razak_khatri: 823956556:Dominic_Manlutac: 598061258:╰SD╮_SØÑĂMÝᏕツ:@sonamy44 1029303725:5199009528: 852291915:Football:@bnbjack 955098573:Sherzod_Bek:@Sherzodbek1252 973499879:2892712267: 729149890:Сала:@brend11 540510565:Влад:@vladb130 1015194722:8198011628: 1062326905:Sergio:@sercnb 1014132237:bch: 1044806964:Ropat: 874755935:سمیه:@siakxmc_bot 1050770563:Sjsj_Ndndehe: 911255569:G: 790228442:👑_Посейдон_24/7_👑:@PosidonMDA 757761320:Angel_Santiago: 1005195581:6204_vxfjxs: 1019748964:6139002809: 935948425:Wwweer_Rewsa: 977835403:famia_rewa: 839482426:huong_huong: 926995589:Hamide333c:@hamideccc333 687429672:Aihiegbe_Blessing: 943671463:Ydh: 387328492:Tino:@TinoSFT 772398630:Bio_Pibou_Moh:@Biopib -1001470639859::#👑_Магазин_Посейдона_👑 804252203:Milana(ПОКУПКИ_У_МИЛАНЫ)_@Milana77777:@Milanka7777 461088493:xSantoryuu:@xSantoryuu:
2020.01.03 09:58:25 2: TelegramBot_ContactUpdate Updated Contact list :916160583:Nky_Fasr: 1038679151:5199007438: 986342847:Sine_Wiem: 874516040:Emiya_Shirou: 1029880934:aisahno3:@aisahno3 1038405281:klueee_1729:@klueee1729 1039575188:Rowolu: 1008911518:4509126744: 823414994:Kaleem_Soomro:@Soomroking 358646636:Jun_Donio:@Donz897 642936973:Профессор:@sdelalusername2 956801375:Abd._Malik_Al_Qadri:@AbdMalikAlQadri 838185493:4388141233: 756508971:@Nishan_Ekanayake:@nlshan22 878403712:Jenifer: 820050944:✵👑_〽️🅰️❌👑✵_✵ΓαηgsТеρ✵:@Trivojit 773931659:27: 776863187:DOGE1_wd✓: 843298703:Juan_Pablo_Segura: 1031195571:7059954011: 190639713:Валентина_Лукрецкая:@LukretskayaValentina 893951919:riki-tiki_25:@Sex1577 1034786928:ISAT-9357: 947294185:Gamer:@fingerp 847523302:Марина_Морева:@fectrachi 889877310:4184319284: 1039412730:8077880220: 1022462610:G_Ff: 915232578:quill_bot: 805916195:Жизнь_это_Игра:@Pakmenshop 595672616:سوگند:@Ghossher 804252203:Milana(ПОКУПКИ_У_МИЛАНЫ)_@Milana77777:@Milanka7777 461088493:xSantoryuu:@xSantoryuu -1001470639859::#👑_Магазин_Посейдона_👑 687429672:Aihiegbe_Blessing: 943671463:Ydh: 387328492:Tino:@TinoSFT 772398630:Bio_Pibou_Moh:@Biopib 839482426:huong_huong: 926995589:Hamide333c:@hamideccc333 1019748964:6139002809: 935948425:Wwweer_Rewsa: 977835403:famia_rewa: 1005195581:6204_vxfjxs: 790228442:👑_Посейдон_24/7_👑:@PosidonMDA 757761320:Angel_Santiago: 874755935:سمیه:@siakxmc_bot 1050770563:Sjsj_Ndndehe: 1044806964:Ropat: 911255569:G: 1062326905:Sergio:@sercnb 1014132237:bch: 540510565:Влад:@vladb130 1015194722:8198011628: 973499879:2892712267: 729149890:Сала:@brend11 598061258:╰SD╮_SØÑĂMÝᏕツ:@sonamy44 955098573:Sherzod_Bek:@Sherzodbek1252 1029303725:5199009528: 852291915:Football:@bnbjack 987577881:2898122836: 957067678:ZeroLemon: 1001691673:yiai_medo:@vbd5kdr 860673516:6227_gffgfrv: 679136598:abdul_razak_khatri: 823956556:Dominic_Manlutac: 785866043:Matheus_Rodrigues:@Matheustbo 551068069:watch_Clock:@citiplaza 745021002:riddick:@O77Y10 979445390:ٜٜ✯ٜٜI_ใﻩνε_γﻩυ_ลใใลh(ﷲ۪۪ٜٜ✯:@Shukrulloh_oficial 939029747:Kweku_Larry: 915994993:anscii_c: 882972140:4502328072: 723495165:Narkoz:@Narkoz76 505774440:Walker_Ashes:@walkerashes 680422313:Darya:@Darya520 1020931007:8077884351: 970513329:👑Ҝ࿆࿆Ξ̲࿆࿆̭̭̭̅̌̌̌ล࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌Ƥ࿆࿆Ξ̭̭̭̭࿆࿆̲̅̌̌̌̌σ࿆࿆Ξ̭̭̭࿆࿆̲̅̌̌̌л👑:@Sadullayev_Alibek 391395700:Темур:@lgalantemf 990579781:2264004607: 806695879:Zbs👑:@fireman76 -1001448452780::#Business_Platform 853096482:6138015293: 1012094752:4388063334: 735829167:6137029465: 536986171:Валерия:@Letamalaa 1063139504:Trần_Hưng: 1011032247:Sayed_Faishal: 805543845:Azimut:@Azimut_biz 705051338:tenshi_noai:@tenshinoa 1055662642:7059980719: 685942003:Alenka:@alenkaantonova95K 893692252:Bhshs_Nsnsb: 1022015974:Tina_Shahana: 971552947:5817028385: 933283744:Icguvft_Vtuhcg: 831571167:2267902976: 817259117:Джонни_Д.:@johnnydillinger9 435306902:Erna_Harwardt: 1042813152:ali: 604985403:Пипеточка_..:@pppiiiiiii 1046262025:8077885397: 638928058:نازی_جون2222:@kingkongaaa 808636072:Adem_Ata: 860094032:5199007374: 1059123993:woselym:@woselym 715477669:Sanusi_Ali: 725718648:Новая_Я:@Novulecika 865975564:الهه:@ejvcxc_bot 853909087:Djamel_Nor: 1003701526:Danial:@Danial_Vdn 888250886:Darwin_Valencia:@Korpy0617 656196485:Лена: 944096665:Chinedu:@Akujobi 939301511:Eka_Saputra:@Rkazr 818767471:Chigozie_Kingsley: 708201929:4184314035_Saurel:@FXFlippin 913475743:99355_Abdyldaeva: 523021621:【𝐓𝐑𝐔𝐄𝐒𝐇𝐎𝐏𝐒】:@MopqoBot 827992959:6139096482: 534123007:Alex: 485559176:♓🅾‼🅰K_❗♑'$:@Hollaholluwa 706426992:Kossouho_Amour: 867078872:Allan_Fae:@Allan436 848924740:ـــــراZahraزهـــــ:@zahra_tanoghs 953257460:noni_ahmed: 532608135:Ratih:@Ratih5878 1007656254:Dabus: 849751602:مونا:@monafcasg 895146131:Luji_Uye:@Canlaco90 888051068:kim_han_lee_(MAR):@kimhanleee 843730213:DannyⓂ🔥🔝: 713767745:4184310541: 875018018:مرضیه:@eastsaastg 629959397:Amir:@Shahzaf92 799803113:26: 684666652:Stanley_Masiga:@Smasiga 731417565:nguyen_cuong: 484281088:Falcon: 739265055:فرنیا_شریفزاده:@frniashrifzadhUCa 800750210:مرضیه:@mausnc_bot 926972630:NGa_Likur: 884399311:عهدیه:@ahgshcb_bot 654394010:RONEM: 878719814:نفیسه:@naanxxm_bot 732787255:Добрыня:@dobbod 1045119688:A_1: 865749223:یاسمن_=:@safasfasfaa 192303990:Def_Join:@ayayAAY 781104579:Бубенец_Бубновый:@bongalbum 777439975:taras_safonov:@lhammer 689275708:Lung_Puluh:@Quyonjinni 310718603:LokiHomeBot:@LokiFHEMbot 768412869:Тина_Кина:@roza5454 670328148:Muhammad_Hanan_Younas:@Honee2 914003637:Salawe: 693156470:Adetunji_Ezekiel:@Eazyloaded 926822174:5148195382: 561062228:Дмитрий_Демон:@lvovichdmitri 678499150:Dein_Hass:@dein_hass 677143655:Легеон:@evgen15:
Dort findet er Massen an mir unbekannten Usern. Im Fhem-Device hatte ich nur 2 Kontakte vorgesehen und in Telegram selbst habe ich auch nur 8 Kontakte.
Internals:
FAILS 0
FUUID 5c43a4f2-f33f-a31c-d6e1-3cf3d74abad66ede
NAME teleBot
NR 828
OLD_POLLING 20
POLLING 0
SNAME teleBot
STATE Static
TYPE TelegramBot
UPDATER 0
WAIT 0
me 310718603:LokiHomeBot:@LokiFHEMbot
offset_id 471332895
Contacts:
-1001448452780 -1001448452780::#Business_Platform
1005582706 1005582706:6928_vvbbvccvc:
1007836635 1007836635:Ytgj:
1007838093 1007838093:Himal_B.m:
1008021816 1008021816:Y_EE:
1008576396 1008576396:hshshs:
1008968615 1008968615:Bryan_Mellado:
1012855222 1012855222:نينيت_بزبزر:
1018558185 1018558185:M_Erlan_S_Hardi:@Erlanclg
1019319552 1019319552:Lanosa:
1032252880 1032252880:hddhj:
1032619213 1032619213:Y4th:
1032637773 1032637773:Gdvj:
1033279574 1033279574:inul_Abjad:@Abjadulakir
1036654654 1036654654:Budi_Howang:
1044323105 1044323105:Ciput:
1047311901 1047311901:Zhar_Paz:
1047964092 1047964092:Uficjc:
1056949116 1056949116:Isabella_Collins:
1059123993 1059123993:woselym:@woselym
1061772013 1061772013:6199_vfdghgdd:
1061885161 1061885161:Tf_C:
1066565500 1066565500:Md_rakiv_hasan:
1069174446 1069174446:Ggh_Thg:
387328492 387328492:Tino:@TinoSFT
425242516 425242516:Djamel_Nor:@mourdjan139
435306902 435306902:Erna_Harwardt:
492055884 492055884:Abdulaziz_Raxmonov:@Albertik91
528363171 528363171:Cristina_Guzon:@Crispulita0091
571776951 571776951:Yoshi_Hori:@lyoness35
572880604 572880604:Gfg_Fg:
618411527 618411527:Milkias:@Dn_milkias
620654452 620654452:Cornelius_Coli:@cornelius1984
625733577 625733577:Anto_Kalasan:@Antokalasan
640910598 640910598:Morel_G-DJAMA:@Aziza4700
647333848 647333848:Digifinex_Online_Team:@digifinexteam
654022784 654022784:📵:
654764607 654764607:DAVID_MILLER:@prabhas041095
684718236 684718236:budi_chandra:@dink7
700921785 700921785:Patrick:@SHEPPARD2
705037887 705037887:Saiful_Efendi:
723009465 723009465:Saifudin:@Saifudinen
723590238 723590238:Daya:@Daya245
730923089 730923089:Jalə:@Jale93
734815876 734815876:Abdul:
744987475 744987475:Percia_Nayara_Campos:
747967379 747967379:Gadi:
755610323 755610323:Uldanai_Kuanish:
760932829 760932829:Super_Satoshi:@Supersatoshi
777439975 777439975:taras_safonov:@lhammer
790570490 790570490:Manuel:@Rebelius
791162222 791162222:Lewis:
799803113 799803113:26:
800085404 800085404:Ivi_05:
826247488 826247488:Gina_Mae:@gina678
828792867 828792867:Kon_Kan:@Konkan234
834668912 834668912:Yui:@Yuinan
844555952 844555952:ᏆᔑᏞᝪᗰᗷᗴᏦ:@islombek_blogger
853909087 853909087:Djamel_Nor:
854518876 854518876:Sabasti:
858188905 858188905:#Ethan:@BazilMehmood
867078872 867078872:Allan_Fae:@Allan436
869084682 869084682:Tony:
875119205 875119205:Sadnarp_Subrata:@Sadnarp
876568708 876568708:Jan:
878225964 878225964:komlan_Toussaint_ABOTCHI:
878854703 878854703:chandra_kurnia:
879039973 879039973:Gagi:@Gagino
880784386 880784386:Bren_Esports:
886469196 886469196:yww:
898118225 898118225:Cinta:
912146277 912146277:Sang_Rodjo:@Sangrodjo
913400848 913400848:himal_budha:
913712096 913712096:Cuyu05:
914017875 914017875:Hartem:
914830721 914830721:Eda_Danışman:@Edodnsm
921209336 921209336:تلتاعغ_فتننالع:
923495235 923495235:Harini:
923542661 923542661:6237_kcdyjkfd:
930474927 930474927:2064157327:
932676782 932676782:Behroz:
941618775 941618775:.:
946667490 946667490:Precious_Aihiegbe:
947159790 947159790:H:
956793291 956793291:Vasero:
957795932 957795932:Tom:
961095438 961095438:▪Ēror._ᴠɪʀᴜs▪:@matin10101
967601374 967601374:Gjhg:
971349654 971349654:Фахриддин_🤴6:@Faxriddin_6
971981885 971981885:Dion_Xw:
982163892 982163892:Naruty:@naruty_13
986976977 986976977:hfjxjc:
987319052 987319052:Queen_of_Quenn:@ClashOfclans6676
987809327 987809327:Cerita:
991494919 991494919:Renalyn_Tabon:
993779687 993779687:6205_fgtfcbd:
994688215 994688215:تاعه_فغه:
996895668 996895668:Caren:
HU_DO_PARAMS:
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
hideurl 1
method GET
timeout 30
url
HU_UPD_PARAMS:
NAME
addr https://api.telegram.org:443
auth 0
buf
code 200
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
httpheader HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Fri, 03 Jan 2020 09:16:58 GMT
Content-Type: application/json
Content-Length: 2572
Connection: close
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
isPolling update
loglevel 4
method GET
offset 471332895
path /bot310718603:AAEBSTZdd8XsFLEkAh2cJu1LOmky9Vg66IQ/getUpdates?offset=471332895&limit=5&timeout=120
protocol https
redirects 0
timeout 245
url https://api.telegram.org/bot310718603:AAEBSTZdd8XsFLEkAh2cJu1LOmky9Vg66IQ/getUpdates?offset=471332895&limit=5&timeout=120
hash:
sslargs:
READINGS:
2020-01-03 10:17:01 Contacts 1032637773:Gdvj: 932676782:Behroz: 528363171:Cristina_Guzon:@Crispulita0091 967601374:Gjhg: 987809327:Cerita: 878854703:chandra_kurnia: 1036654654:Budi_Howang: 572880604:Gfg_Fg: 913712096:Cuyu05: 790570490:Manuel:@Rebelius 1012855222:نينيت_بزبزر: -1001448452780::#Business_Platform 744987475:Percia_Nayara_Campos: 705037887:Saiful_Efendi: 947159790:H: 723590238:Daya:@Daya245 987319052:Queen_of_Quenn:@ClashOfclans6676 971981885:Dion_Xw: 1007838093:Himal_B.m: 654022784:📵: 684718236:budi_chandra:@dink7 826247488:Gina_Mae:@gina678 828792867:Kon_Kan:@Konkan234 991494919:Renalyn_Tabon: 867078872:Allan_Fae:@Allan436 853909087:Djamel_Nor: 1059123993:woselym:@woselym 956793291:Vasero: 994688215:تاعه_فغه: 923542661:6237_kcdyjkfd: 700921785:Patrick:@SHEPPARD2 912146277:Sang_Rodjo:@Sangrodjo 886469196:yww: 1047964092:Uficjc: 571776951:Yoshi_Hori:@lyoness35 620654452:Cornelius_Coli:@cornelius1984 1008021816:Y_EE: 982163892:Naruty:@naruty_13 1019319552:Lanosa: 957795932:Tom: 755610323:Uldanai_Kuanish: 1061772013:6199_vfdghgdd: 734815876:Abdul: 1044323105:Ciput: 834668912:Yui:@Yuinan 791162222:Lewis: 800085404:Ivi_05: 1047311901:Zhar_Paz: 1008968615:Bryan_Mellado: 387328492:Tino:@TinoSFT 913400848:himal_budha: 760932829:Super_Satoshi:@Supersatoshi 875119205:Sadnarp_Subrata:@Sadnarp 878225964:komlan_Toussaint_ABOTCHI: 971349654:Фахриддин_🤴6:@Faxriddin_6 898118225:Cinta: 1008576396:hshshs: 1066565500:Md_rakiv_hasan: 880784386:Bren_Esports: 1056949116:Isabella_Collins: 930474927:2064157327: 876568708:Jan: 1032252880:hddhj: 854518876:Sabasti: 1033279574:inul_Abjad:@Abjadulakir 747967379:Gadi: 647333848:Digifinex_Online_Team:@digifinexteam 723009465:Saifudin:@Saifudinen 799803113:26: 625733577:Anto_Kalasan:@Antokalasan 869084682:Tony: 914017875:Hartem: 618411527:Milkias:@Dn_milkias 654764607:DAVID_MILLER:@prabhas041095 844555952:ᏆᔑᏞᝪᗰᗷᗴᏦ:@islombek_blogger 986976977:hfjxjc: 914830721:Eda_Danışman:@Edodnsm 1061885161:Tf_C: 923495235:Harini: 1018558185:M_Erlan_S_Hardi:@Erlanclg 730923089:Jalə:@Jale93 640910598:Morel_G-DJAMA:@Aziza4700 993779687:6205_fgtfcbd: 1069174446:Ggh_Thg: 946667490:Precious_Aihiegbe: 777439975:taras_safonov:@lhammer 921209336:تلتاعغ_فتننالع: 492055884:Abdulaziz_Raxmonov:@Albertik91 1005582706:6928_vvbbvccvc: 1007836635:Ytgj: 425242516:Djamel_Nor:@mourdjan139 941618775:.: 858188905:#Ethan:@BazilMehmood 1032619213:Y4th: 435306902:Erna_Harwardt: 879039973:Gagi:@Gagino 996895668:Caren: 961095438:▪Ēror._ᴠɪʀᴜs▪:@matin10101
2020-01-03 08:54:20 PollingErrCount 11
2020-01-03 08:54:20 PollingLastError NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed
2019-12-13 10:08:59 msgChat Erna_Harwardt
2019-12-13 10:08:59 msgChatId 435306902
2019-12-13 10:08:59 msgFileId
2019-12-13 10:08:59 msgId 29448
2019-12-13 10:08:59 msgPeer Erna_Harwardt
2019-12-13 10:08:59 msgPeerId 435306902
2019-12-13 10:08:59 msgReplyMsgId
2019-12-13 10:08:59 msgText Trocknen
2019-12-13 10:08:59 prevMsgChat Tino
2019-12-13 10:08:59 prevMsgFileId
2019-12-13 10:08:59 prevMsgId 29333
2019-12-13 10:08:59 prevMsgPeer Tino
2019-12-13 10:08:59 prevMsgPeerId 387328492
2019-12-13 10:08:59 prevMsgReplyMsgId
2019-12-13 10:08:59 prevMsgText /Plot
2020-01-03 08:54:19 sentMsgId
2020-01-03 08:54:19 sentMsgPeerId 435306902
2020-01-03 08:54:19 sentMsgResult NonBlockingGet timed out on read from <hidden> after 30s
inlinechats:
Attributes:
DbLogExclude .*
defaultPeer Tino
disable 1
pollingTimeout 120
room 97_Messagesystem,System
Wenn ich die Kontakte manuell setze, werden sie kurz danach sofort wieder "überspamt".
Kann man das automatische abgleichen der Kontakte abschalten?
Aktuell muss ich den gesamten Bot auf disable 1 setzen, damit er mir FHEM nicht lahm legt.
Zitat von: Loki am 03 Januar 2020, 10:10:35
Moin!
Seit heute dreht mein TelegramBot scheinbar völlig durch.
Alle paar Sekunden werden die Kontakte aktualisiert.
[...]
Wenn ich die Kontakte manuell setze, werden sie kurz danach sofort wieder "überspamt".
Kann man das automatische abgleichen der Kontakte abschalten?
Aktuell muss ich den gesamten Bot auf disable 1 setzen, damit er mir FHEM nicht lahm legt.
Es könnte helfen, den Bot richtig zu konfigurieren, z.B. mal allowUnknownContacts. Wobei ich auch über cmdRestrictedPeer usw. nachdenken würde
@loki - der hinweis von kjmefu ist absolut richtig und hier auch schon mehrfach beschrieben worden. Das manuelle setzen der kontakte hilft nicht, denn jede menge benutzer kontaktieren deinen bot und werden den Kontakten hinzugefügt, wenn du das nicht per attribut verhinderst.
Bots sond grundsätzlich öffentlich und damit ist das setzen von Einschränkungen wie cmdrestrictedpeer absolut kritisch. Jeder könnte sonst deinen bot benutzen!!!
Vielen Dank Euch beiden!
Ich habe nun allowUnknownContacts gesetzt und im Bot den Parameter für die Gruppen eingestellt.
Jetzt sieht es wieder gut aus.
Eventuell könnte man das noch im Wiki ergänzen.
Hallo Zusammen
Ein Telegram Bot ist eingerichtet und FHEM sendet auch Meldungen ab, nun würde ich gerne mittels eines NFC Chips eine telegram message absenden, Richtung FHEM (zB öffnen der Garage). Leider kann man auf den chip keine telegram message programieren (zumindest finde ich nichts dazu), was man aber machen kann, eine http url.
Nun will ich mittels http url dieses Kommando an mein FHEM senden, nur wie mache ich das? Ich finde leider nichts passendes dazu.
In der message soll aber auch die AbsenderID sein, damit nicht jeder mit nfc den code ausführen kann.
Bibt es dazu Ideen?
danke
Hallo,
gibt es eine Änderung bei Telegram?
Seit Montag (13.01.2020) bekomme ich die Fehlermeldung:
2020-01-16 20:58:00 TelegramBot Telegram PollingLastError: NonBlockingGet: returned api.telegram.org: Verbindungsaufbau abgelehnt
2020-01-16 20:58:00 TelegramBot Telegram PollingErrCount: 152
2020-01-16 20:58:02 TelegramBot teleBot PollingLastError: NonBlockingGet: returned api.telegram.org: Verbindungsaufbau abgelehnt
2020-01-16 20:58:02 TelegramBot teleBot PollingErrCount: 25
Telegram läuft ansonsten bei mir seit 2017 ohne Probleme.
Kennt jemand das Problem?
Bei mir läuft alles wie seither, keine Auffälligkeiten.
Hallo,
ich habe jetzt mal ein 6 Monate altes Backup meiner SD Karte in den Raspberry mit FHEM eingelegt.
Auch hier scheitetet der Verbindungsaufbau.
Ich denke dass es mit meinem User zu tun hat und wollte den neu installieren.
In meiner fhem.cfg steht nur:
define Telegram TelegramBot
attr Telegram pollingTimeout 120
attr Telegram room Telegram,Mail
Fehlt da nicht der Token mit dem ich den bot einmal installiert habe?
Wenn ich Telegram nun über "Delete Telegram" lösche und mit Token neu installiere bekomme ich auch nur noch eine mit Fehlermeldung
Zitat von: australien am 16 Januar 2020, 17:15:11
In der message soll aber auch die AbsenderID sein, damit nicht jeder mit nfc den code ausführen kann.
Bibt es dazu Ideen?
danke
Ich fürchte, Dein Vorhaben ist ein wenig OT, weil das Aussenden von Telegram-Nachrichten lt. Deiner Info an sich funktioniert und das IMHO den zweiten Schritt zu Deinem Ziel darstellt.
Der erste Schritt wäre m.E. Fhem die ID vom Chip mitzuteilen (wofür Du einen NFC-Reader o.ä. benötigst), sodass ein Event entstehen kann. Auf dieses Event kannst dann reagieren lassen z.B. mit einer Telegram Nachricht ;)
Ich mache etwas ähnliches: Wiegand Reader neben der Tür -> hängt am WemosD1 mit EspEasy -> der "übersetzt" erlaubte NFC-IDs via Rules in Schaltbefehle (E-Öffner) und Fhem bekommt Schaltbefehl + ID im EspEasy-Device mitgeteilt (Event).
Womit Du die NFC-Chips ausliest und wie Du den Reader an Fhem anbindest, dazu gibt es viele Möglichkeiten (fertige, welche zum Basteln - via USB, 1-Wire, Wifi, HM485 uvm.) und letztlich hängt es auch davon ab, welche NFC-Tags Du lesen willst (125Khz oder 13,56Mhz) usw.
Vielleicht hilft Dir das schon weiter.
Viele Grüße
rob
Zitat von: TobiasR am 17 Januar 2020, 08:47:20
Hallo,
ich habe jetzt mal ein 6 Monate altes Backup meiner SD Karte in den Raspberry mit FHEM eingelegt.
Auch hier scheitetet der Verbindungsaufbau.
Ich denke dass es mit meinem User zu tun hat und wollte den neu installieren.
In meiner fhem.cfg steht nur:
define Telegram TelegramBot
attr Telegram pollingTimeout 120
attr Telegram room Telegram,Mail
Fehlt da nicht der Token mit dem ich den bot einmal installiert habe?
Wenn ich Telegram nun über "Delete Telegram" lösche und mit Token neu installiere bekomme ich auch nur noch eine mit Fehlermeldung
Wenn Du ein neues TelegramBot-Device anlegst (erstmalig) muss Du das API-Token des Bots angeben ohne geht es nicht
(Das API_Token steht aus sicherheitsgründen NICHT im config und normalerweise auch nicht im device, sondern separat)
Der Fehler im Bild ist nicht hilfreich, denn er verweist auf den logfile - was steht denn da?
Ich weiss nicht was Du mit user meinst, denn es gibt ja erstmal nur einen bot und sein zugehöriges Auth-Token.
Wenn das API-Token falsch ist, kann es zu der Fehlermeldung "api.telegram.org: Verbindungsaufbau abgelehnt" - das könnte aber auch auf eine BLockade im Netzwerk hindeuten.
Also Vorschlag: Testweise neuen Bot in Telegram anlegen // Dann neuen Device mit dem Auth-token anlegen // testweise schauen ob senden dort geht
Wenn das funktioniert, dann ist irgendetwas mit dem bisherigen bot/konfiguration falsch - vielleicht da erstmal neues Auth-Token UND ganz wichtig feststellen, warum das bisherige Token verloren ging oder falsch war.
Zitat von: rob am 17 Januar 2020, 11:55:15
Ich fürchte, Dein Vorhaben ist ein wenig OT, weil das Aussenden von Telegram-Nachrichten lt. Deiner Info an sich funktioniert und das IMHO den zweiten Schritt zu Deinem Ziel darstellt.
Das ist zum Teil richtig, ich will mittels einer URL/telegram ein Kommando an FHEM senden. Diese URL kann ich ja auf den NFC Chip speichern, eine direkte Nachricht für telegram aber nicht. Ich finde nur leider nichts für "send message via http to telegram BOT" sonder nur vom telegram Bot to chatID.
Es soll ein NFC-Chip montiert werden und mittels eines Smartphones mit telegram ein Kommando/URL an FHEM gesendet werden. Somit ist auch der Teilnehmer durch FHEM identifizert und der Befehl darf ausgeführt werden.
Mein Ansatz ist genau umgekehrt zu deinem und braucht nicht noch einen Chip für jede Person und eine Lesegerät, sondern nur die telegramID des jenigen Smartphones. Der Chip kann ohne Probleme irgendwo angebracht werden.
Oder klingt mein Ansatz falsch?
Hallo viegener,
dein Hinweis mit der Blockade im Netzwerk hat mir geholfen.
In der Fritzbox war ein Port gesperrt!
Danke!
Hallo Australien,
ich glaube was du suchst ist tasker die app. Ich weiß nicht ob man daraus telegram Nachrichten schicken kann aber ist vielleicht ein Ansatz.
Zitat von: australien am 17 Januar 2020, 16:41:03
Oder klingt mein Ansatz falsch?
Nein, ich hatte ihn nur nicht verstanden ;D OK, der Ansatz scheint tatsächlich umgekehrt. Nicht Reader stationär + viele mobile Tags, sondern quasi stationärer Tag + viele mobile Reader (SmartPhones) mögich. Tag ggf. zugänglich und Reader nicht.
Ich weiß nicht, wie Du die Url auf den Chip kriegst, wieder ausliest oder was es tut, wenn die Url gelesen wird. Deshalb kurzerhand Annahmen :
- URL beliebig festlegbar
- URL wird neben ID gelesen, sobald Du`s Smartphone dran hältst
- URL wird aufgerufen ohne weiteres Zutun (mit welcher App auch immer --> Meck hat ja schon auf Tasker verwiesen)
Also müsste nach meinem Verständnis die Bot-Api direkt angesprochen werden, was sonst ja das Fhem-Modul für uns elegant erledigt. Das sähe z.B. aus:
https://api.telegram.org/bot123456:abcde1234ABCDE/sendMessage?chat_id=-4194264&text="meintext meineID:1234..."
Hinter "bot" Deinen Bot-Token + für Chat-Id Deinen Zielchat ersetzen. Diese Url müsste m.E. auf den Chip.
Sofern die URL tatsächlich aufgerufen wird, sobald Dein Phone den Tag liest, müsste Dein Telegram-Bot die Message senden. In Fhem müsstest dann darauf reagieren können (Event).
Oder: Fhem selbst lässt sich ja auch via Url mit Kommandos füttern. z.B. sowas auf Deinem Chip
FhemIP:8083/fhem?cmd=set%20DeinBOTNameInFehm%20msg%20DeineNachricht&fwcsrf=csrf_DeinToken
Vorteil: kannst auch gleich das Garage-Öffnen Kommando mitgeben + Dein Phone muss im WLAN sein oder wenigstens via VPN verbunden
Nachteil: Tag wäre noch immer mitteilsam, wenn zugänglich + für den sich ändernden csrf_Token brauchsts auch ne Lösung
Naja, alles reinste Theorie und zum Thema Sicherheit hätt ich so noch kein gutes Gefühl. Aber vielleicht hilfts doch ein wenig.
Viele Grüße
rob
Hallo viegener, das wird ein längerer Post, der wahrscheinlich nur indirekt mit Telegram zu tun hat. Ich hatte Fehlermeldungen in meiner Log von der Form
2020.01.19 10:55:33 1: TelegramBot_readToken: Error: No API token in file
2020.01.19 10:57:11 1: TelegramBot_readToken: Error: No API token in file
2020.01.19 10:58:50 1: TelegramBot_readToken: Error: No API token in file
2020.01.19 11:00:12 1: ./www/images/openautomation/phone_answering.svg is not useable
2020.01.19 11:00:12 1: ./www/images/openautomation/phone_answering.svg is not useable
Die zweite Meldung mit den svg scheint nichts damit zu tun zu haben, sie tauchte bei jemand anderem auch mal auf (https://forum.fhem.de/index.php/topic,70499.msg1014694.html (https://forum.fhem.de/index.php/topic,70499.msg1014694.html)).
Zuerst dachte ich, die SD Karte ist kaputt und habe FHEM vom scratch auf eine neue Karte aufgesetzt. Daraufhin kam die Fehlermeldung wieder - also lag es nicht an der SD Karte. Ich habe dann Rechte neu gesetzt - ohne Änderung. Dann habe ich in den Code ein paar mehr Logs eingebaut um zu schauen, was genau passiert. Verändert habe ich
sub TelegramBot_storeToken($$;$)
{
my ($hash, $token, $name) = @_;
if ( $token !~ /^([[:alnum:]]|[-:_])+[[:alnum:]]+([[:alnum:]]|[-:_])+$/ ) {
return "specify valid API token containing only alphanumeric characters and -: characters";
}
$name = $hash->{NAME} if ( ! defined($name) );
my $index = "TelegramBot_".$name."_token";
my $key = getUniqueId().$index;
Log3 $hash, 5, "TelegramBot_storeToken: key =".$key;
my $enc_pwd = "";
if(eval "use Digest::MD5;1")
{
$key = Digest::MD5::md5_hex(unpack "H*", $key);
$key .= Digest::MD5::md5_hex($key);
}
for my $char (split //, $token)
{
my $encode=chop($key);
$enc_pwd.=sprintf("%.2x",ord($char)^ord($encode));
$key=$encode.$key;
}
my $err = setKeyValue($index, $enc_pwd);
Log3 $hash, 5, "TelegramBot_storeToken: enc_pwd =".$enc_pwd;
return "error while saving the API token - $err" if(defined($err));
return "API token successfully saved";
} # end storeToken
und folgendes gesehen:
2020.01.19 11:45:41 5: TelegramBot_Get TelegramBot: called
2020.01.19 11:45:51 5: TelegramBot_Set TelegramBot: called
2020.01.19 11:45:51 4: TelegramBot_Set TelegramBot: Processing TelegramBot_Set( token )
2020.01.19 11:45:51 5: TelegramBot_storeToken: key =cbb76ab9cd50543b8af153e63c1acc6dTelegramBot_TelegramBot_token
2020.01.19 11:45:51 5: TelegramBot_storeToken: enc_pwd =daswuredeichjetzthiermalnichtwiedergebenweilessogeheimist
Dann habe ich ReadToken geändert
sub TelegramBot_readToken($;$)
{
my ($hash, $name) = @_;
$name = $hash->{NAME} if ( ! defined($name) );
my $index = "TelegramBot_" . $name . "_token";
my $key = getUniqueId().$index;
my ($token, $err);
Log3 $hash, 5, "TelegramBot_readToken: Read Telegram API token from file";
Log3 $hash, 5, "TelegramBot_readToken: index =".$index;
($err, $token) = getKeyValue($index);
Log3 $hash, 5, "TelegramBot_readToken: filename err =".$err;
Log3 $hash, 5, "TelegramBot_readToken: token =".$token;
if ( defined($err) ) {
Log3 $hash, 1, "TelegramBot_readToken: Error: unable to read API token from file: $err";
return "";
}
Log3 $hash, 5, "TelegramBot_readToken: token ".$token;
if ( defined($token) ) {
if ( eval "use Digest::MD5;1" ) {
$key = Digest::MD5::md5_hex(unpack "H*", $key);
$key .= Digest::MD5::md5_hex($key);
}
my $dec_pwd = '';
for my $char (map { pack('C', hex($_)) } ($token =~ /(..)/g)) {
my $decode=chop($key);
$dec_pwd.=chr(ord($char)^ord($decode));
$key=$decode.$key;
}
return $dec_pwd;
}
else {
Log3 $hash, 1, "TelegramBot_readToken: Error: No API token in file";
return "";
}
} # end readToken
mit der Ausgabe
2020.01.19 11:45:51 5: TelegramBot_readToken: Read Telegram API token from file
2020.01.19 11:45:51 5: TelegramBot_readToken: index =TelegramBot_TelegramBot_token
2020.01.19 11:45:52 1: PERL WARNING: Use of uninitialized value $err in concatenation (.) or string at ./FHEM/50_TelegramBot.pm line 3303.
2020.01.19 11:45:52 5: TelegramBot_readToken: filename err =
2020.01.19 11:45:52 1: PERL WARNING: Use of uninitialized value $token in concatenation (.) or string at ./FHEM/50_TelegramBot.pm line 3304.
2020.01.19 11:45:52 5: TelegramBot_readToken: token =
2020.01.19 11:45:52 1: PERL WARNING: Use of uninitialized value $token in concatenation (.) or string at ./FHEM/50_TelegramBot.pm line 3311.
2020.01.19 11:45:52 5: TelegramBot_readToken: token
2020.01.19 11:45:52 1: TelegramBot_readToken: Error: No API token in file
2020.01.19 11:45:52 1: TelegramBot_Setup TelegramBot: no valid API token found, please call "set TelegramBot token <token>"
Zusammenfassend kann man sagen: Man sieht (ich sehe) nichts. Ich kam dann auf die glorreiche Idee, die Reihenfolge der devices in der fhem.cfg zu ändern, weil ich bemerkt hatte, dass der Signalduino ganz hinten auftauchte. Mit einem Mal waren beide Fehlermeldungen oben verschwunden.
Ich entnehme diesen Überlegungen, dass es erstens irgendein verstecktes FHEM-Problem gibt, das mit dem Laden von (IO?)devices zu tun hat und zweitens sich dieses Problem uA bei TelegramBot äußert. Ich hätte das gern bei Gelegenheit gelöst, kann aber nicht wirklich etwas reproduzierbares liefern. Wenn hier irgendjemand dazu Gedanken hätte, wäre ich dankbar. Sidey, der Autor von Signalduino, kann da auch nicht helfen, weil ich ja nicht mal sicher sein kann, dass es der Signalduino ist, der das auslöst.
@andies: Danke für Deine Analysen, auch wenn ich noch nicht alles nachvollziehen kann. Was Du mit Deinen Log-einträgen erreichen wolltest ist mir nicht klar, ich denke sobald ein Problem auftaucht solltest Du in der Datei
uniqueID nachschauen, ob es den Eintrag zu Deinem TelegramBot gibt.
Zitat von: andies am 21 Januar 2020, 09:00:28
Ich kam dann auf die glorreiche Idee, die Reihenfolge der devices in der fhem.cfg zu ändern, weil ich bemerkt hatte, dass der Signalduino ganz hinten auftauchte. Mit einem Mal waren beide Fehlermeldungen oben verschwunden.
Ich entnehme diesen Überlegungen, dass es erstens irgendein verstecktes FHEM-Problem gibt, das mit dem Laden von (IO?)devices zu tun hat und zweitens sich dieses Problem uA bei TelegramBot äußert. Ich hätte das gern bei Gelegenheit gelöst, kann aber nicht wirklich etwas reproduzierbares liefern. Wenn hier irgendjemand dazu Gedanken hätte, wäre ich dankbar. Sidey, der Autor von Signalduino, kann da auch nicht helfen, weil ich ja nicht mal sicher sein kann, dass es der Signalduino ist, der das auslöst.
Folgende Fragen:
- Was genau meinst Du mit "beide Fehlermeldungen"?
- Geht es um "Error: No API token in file" - dann verschwindet diese normaler nur nach Aufruf von "set TelegramBot token <token>" - hast Du das token neu gesetzt (oder sonstwie reaktiviert)?
- Wenn Du das token nicht neu gesetzt hast wäre es interessant zu erfahren was sonst noch alles passiert ist zwischen Fehlermeldung und keine Fehlermeldung, denn einen Zusammenhang mit dem Signalduino kann ich mir erstmal schwer vorstellen.
- Was stand denn in der Datei uniqueID? - Ist / war das Token enthalten?
Zusatzfragen:
- Es ist erstmal nicht verwunderlich, dass es nach Neuaufsetzen nicht funktioniert, wenn Du das Token nicht mit set token wieder setzt. Hast Du das gesetzt?
- Wiederum ist der Inhalt von uniqueid interessant
Zitat von: viegener am 30 Januar 2020, 21:19:44
Was Du mit Deinen Log-einträgen erreichen wolltest ist mir nicht klar
Ich war fälschlicherweise der Meinung, dass es einen Fehler im Programmcode Deines Moduls gibt. Ich habe diesen Fehler gesucht und nichts gefunden.
Zitat von: viegener am 30 Januar 2020, 21:19:44
- Was genau meinst Du mit "beide Fehlermeldungen"?
erste Fehlermeldung: "Kein API Token"
zweite Fehlermeldung: "./www/images/openautomation/phone_answering.svg nicht lesbar"
(Beide hängen mE nicht zusammen. Sind ja verschiedene paar Schuhe, sozusagen.)
Zitat von: viegener am 30 Januar 2020, 21:19:44
- Geht es um "Error: No API token in file" - dann verschwindet diese normaler nur nach Aufruf von "set TelegramBot token <token>" - hast Du das token neu gesetzt (oder sonstwie reaktiviert)?
Der Fehler verschwand eben
nicht! Trotz "set TelegramBot token <token>" trat der Fehler wieder auf.
Zitat von: viegener am 30 Januar 2020, 21:19:44
- Wenn Du das token nicht neu gesetzt hast wäre es interessant zu erfahren was sonst noch alles passiert ist zwischen Fehlermeldung und keine Fehlermeldung, denn einen Zusammenhang mit dem Signalduino kann ich mir erstmal schwer vorstellen.
Doch, ich habe es neu gesetzt und es gab erneut die Fehlermeldung.
Zitat von: viegener am 30 Januar 2020, 21:19:44
- Was stand denn in der Datei uniqueID? - Ist / war das Token enthalten?
Ja, das token habe ich gesehen. Allerdings mehrfach, ganz vor und hinten. Ich hatte mir auch ein neues token geben lassen - ging auch nicht. Die Fehlermeldungen traten wieder auf.
Zitat von: viegener am 30 Januar 2020, 21:19:44
- Es ist erstmal nicht verwunderlich, dass es nach Neuaufsetzen nicht funktioniert, wenn Du das Token nicht mit set token wieder setzt. Hast Du das gesetzt?
Ja, hatte ich!
Zitat von: viegener am 30 Januar 2020, 21:19:44
- Wiederum ist der Inhalt von uniqueid interessant
Ganz viele Einträge mit uniqueIDs und eben den token.
Zitat von: andies am 30 Januar 2020, 21:31:36
Ich war fälschlicherweise der Meinung, dass es einen Fehler im Programmcode Deines Moduls gibt. Ich habe diesen Fehler gesucht und nichts gefunden.
erste Fehlermeldung: "Kein API Token"
zweite Fehlermeldung: "./www/images/openautomation/phone_answering.svg nicht lesbar"
(Beide hängen mE nicht zusammen. Sind ja verschiedene paar Schuhe, sozusagen.)
Der Fehler verschwand eben nicht! Trotz "set TelegramBot token <token>" trat der Fehler wieder auf.
Doch, ich habe es neu gesetzt und es gab erneut die Fehlermeldung.
Ja, das token habe ich gesehen. Allerdings mehrfach, ganz vor und hinten. Ich hatte mir auch ein neues token geben lassen - ging auch nicht. Die Fehlermeldungen traten wieder auf.
Ja, hatte ich!
Ganz viele Einträge mit uniqueIDs und eben den token.
Mmmh- das lässt für mich immer noch vieles im Dunkeln, ich versuche mal zu beschreiben was ich verstanden habe:
Auf Deiner FHEM-Installation läuft der telegramBot für einige Zeit störungsfrei. Dann, ohne äussere Einflüsse (also Umbenennen des bots, Neustart von Fhem oder sonstige wesentlch Änderungen), tritt plötzlich die Fehlermeldung "No API token in file" auf. Die SD-Karte ist ok.
- Ist das so richtig?
- Ist der Eintrag in der uniqueID dann weg?
- Ist nur dieser Eintrag weg? - das müsste sich doch recht leicht durch vergleich mit einem aktuellen (tagesgenaen ?) Backup feststellen lassen
- In welchen Intervallen tritt das auf?
Ich schreibe mal hier ohne Zitat hinein, weil ich nicht mehr am Rechner bin:
- Ja, das ist richtig.
- Meine Datei war 1MB gross (ungefähr), ich habe die einzelnen Zeilen da nicht mehr beobachtet. Es gab aber mehrere Einträge mit dem token drin. Identische Einträge.
- Meine jetzige uniqueID hat 1,3MB, ich weiss nicht, ob ich das zeilenweise vergleichen könnte. Soll ich die mal beobachten? Worauf muss ich achten? Kann ich die hier posten?
- Ich konnte keine Regelmäßigkeit feststellen. Es war nicht planbar und deshalb hatte ich auf die SD Karte getippt.
Zitat von: andies am 30 Januar 2020, 22:17:32
Ich schreibe mal hier ohne Zitat hinein, weil ich nicht mehr am Rechner bin:
- Ja, das ist richtig.
- Meine Datei war 1MB gross (ungefähr), ich habe die einzelnen Zeilen da nicht mehr beobachtet. Es gab aber mehrere Einträge mit dem token drin. Identische Einträge.
- Meine jetzige uniqueID hat 1,3MB, ich weiss nicht, ob ich das zeilenweise vergleichen könnte. Soll ich die mal beobachten? Worauf muss ich achten? Kann ich die hier posten?
- Ich konnte keine Regelmäßigkeit feststellen. Es war nicht planbar und deshalb hatte ich auf die SD Karte getippt.
1,3MB erscheint mir sehr gross für eine uniqueID-Datei - meine hat nur etwa 2KB.
Die Datei hier zu posten wäre sehr schlecht, sie enthält die geheimen Tokens/Passworte etc in Deiner Instanz aus verschiedenen Modulen.
Leider kann ich die Datei deshalb auch nicht analysieren, ich vermute aber, dass die Datei in irgendeiner Art korrupt ist und dadurch der Eintrag nicht mehr gefunden wird.
Eigentlich ist die Datei recht einfach aufgebaut und enthält zeilenweise Einträge, die aus <key>:<value> bestehen. Bei jedem Zugrff wird die ganze Datei eingelesen und nach dem key zeilenweise durchsucht. Bei einer grossen datei ist das entsprechend aufwändig.
Aber wie gesagt, ich vermute die Datei ist korrupt und deshalb werden die schlüssel nicht gefunden. Ich kenne aber keine Möglichkeit rauszufinden, welche Einträge (noch) relevant sind und wozu diese gehören.
Jetzt kommen wir der Sache schon näher, ich habe die Datei mal genauer angeschaut. Es finden sich unzählige Einträge der Form
uniqueID:uswusfuswusf...
aber eben auch 1079 (!) Einträge mit
FB_CALLLIST-TelefonListe:compressed:undhierstehtdannimmerdiegleicheIDdrin_uswusf
und vierzehn Mal der Token, da habe ich mir einen Screenshot mit einem Ausschnitt erlaubt.
Das deutet nun auf Calllist hin. Das Wort uniqueID findet sich einmal in der commandref und hier weiß ich nicht weiter. Hast Du einen Tipp für mich, was ich als nächsten Schritt tun kann? Wer kann mir da weiterhelfen?
<edit> Löschen und wiederanlegen des devices leert die uniqueID nicht. Die bleibt 1,4MB groß bei mir.
Zitat von: andies am 31 Januar 2020, 08:28:22
Jetzt kommen wir der Sache schon näher, ich habe die Datei mal genauer angeschaut. Es finden sich unzählige Einträge der Form
uniqueID:uswusfuswusf...
aber eben auch 1079 (!) Einträge mit
FB_CALLLIST-TelefonListe:compressed:undhierstehtdannimmerdiegleicheIDdrin_uswusf
und vierzehn Mal der Token, da habe ich mir einen Screenshot mit einem Ausschnitt erlaubt.
Das deutet nun auf Calllist hin. Das Wort uniqueID findet sich einmal in der commandref und hier weiß ich nicht weiter. Hast Du einen Tipp für mich, was ich als nächsten Schritt tun kann? Wer kann mir da weiterhelfen?
<edit> Löschen und wiederanlegen des devices leert die uniqueID nicht. Die bleibt 1,4MB groß bei mir.
Telegrambot erwartet maximal einen eintrag in der uniqueid-datei. So geht es anderen devices wohl auch. Selbst die mehrfachen uniqueid-einträge sind wohl nicht richtig und bringen vermutlich auch anderes durcheinander.
Das löschen / verändern von devices wird demnach auch immer nur einen eintrag entfernen / hinzufügen...
Die datei wird dadurch nicht kleiner.
Mein ansatz wäre:
ACHTUNG: das ist nicht ausprobiert und erzeugt bestimmt folgeprobleme, die man beobachten und lösen muss
- fhem runterfahren
- datensicherung machen !!!
- uniqueid datei umbenennen in .corrupt
- texteditor, der korrekte zeilenenden für die uniqueid bearbeiten kann verwenden
- neue uniqueid datei anlegen
- in die neue uniqueid jeweils einen eintrag (jeweils eine zeile) der alten datei eintragen. Also keine dubletten und nur einträge, die korrekt aussehen
- dabei auf richtige zeilenenden achten
- uniqueid-eintrag am anfang (nach den kommentarzeilen)
- fhem neu starten
- beobachten was fehlt
- uniqueid ständig beobachten - grösse, dubletten
Wie gesagt, das ist ohne gewähr und ohne, dass ich selber jetzt am system bin
Also, da ich Dich sowieso nicht in Haftung nehmen kann 8)
habe ich jetzt einfach die Datei bei gestopptem FHEM überschrieben und nun ist sie 20 kB groß. Wir schauen mal.
@andies: Nee natürlch nicht, aber es war auch an andere gerichtet. Es kommt ja nie vor, dass Hinweise von anderen auch für andere Probleme genutzt werden ;)
Das hat sich hierüberschnitten, ich habe auch noch etwas in den anderen Thread zu Deinem Problem mit den svgs geschrieben.
Zitat von: Esjay am 21 Mai 2017, 19:55:01
Guten Abend zusammen.
Ich lasse mir Abends immer die Primetime Sendungen per Telegram schicken. Mir ist jetzt schon öfter aufgefallen, dass nach einem "&" der Text abgebrochen wird.
Bsp.
TV_Program: set TelegramBot message @#Home Heute Abend im TV\nARD=Tatort: Die Liebe, ein seltsames Spiel\nZDF=Ein Sommer auf Zypern\nRTL=Die 2 - Gottschalk & Jauch gegen ALLE: Das 80er Special - Das 80er Special\nSAT1=It's Showtime! Das Battle der Besten\nPro7=Kill The Boss 2\nVOX=Grill den Henssler: Unknown command Jauch, try help.
Das kommt dabei raus.
FhemServer:
Heute Abend im TV
ARD=Tatort: Die Liebe, ein seltsames Spiel
ZDF=Ein Sommer auf Zypern
RTL=Die 2 - Gottschalk &
Kann ich das i-wie abfangen?
Grüße
Hallo,
konntest du das Problem lösen? Ich stehe vor dem gleichen Problem. Ich verstehe nur nicht wie das im Folgepost gemeint ist. Konntest du es umsetzen?
Zitat von: Ronniedinho am 31 Januar 2020, 23:10:46
Hallo,
konntest du das Problem lösen? Ich stehe vor dem gleichen Problem. Ich verstehe nur nicht wie das im Folgepost gemeint ist. Konntest du es umsetzen?
Ich kann nur nochmal erklären, was ich schon 2017 beschrieben habe: Das eigentliche Problem ist, dass ein einzelnes Semikolon in FHEM ein Trenner für Befehle ist, damit wird der Rest der Telegrammessage abgeschnitten und in FHEM als eigener Befehl ausgeführt. Damit das nicht passiert muss das Semikolon verdoppelt werden.
Wenn das nicht hilft, wäre es vermutlich besser Dein Problem explizit zu beschreiben und nicht auf ein ähnliches Problem von vor 3 Jahren zu verweisen?
Kann man eigentlich auch Sticker mit FHEM senden?
https://core.telegram.org/bots/api#stickers (https://core.telegram.org/bots/api#stickers)
Hallo zusammen,
gibt es derzeit Probleme mit Telegram?
Plötzlich erhalte ich folgende Fehlermeldung:
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Hat das Problem noch jemand?
Danke und Gruss,
Max
Scheint so, habe das gleiche Problem
Ok, dann warten wir ab, ob sich das in den nächsten Stunden wieder gibt.
Schon komisch wenn das Haus sich nicht mehr meldet ;-)
Max
@Sirel: Kann sich um einlokales Problem handlen. Bei mir gab es ein kurzzeitiges Problem gg. 11:30 - aber seitdem nichts.
Naja lokal, wenn ich es auch habe...?
Gesendet von iPhone mit Tapatalk
Ich betreibe zwei bots auf zwei Rechnern. Der eine geht noch während der andere diese Fehlermeldung erzeugt. Ein neuer bot auf diesem Rechner hat auch nicht funktioniert.
Ich glaube das Probelm gab es 2017 schon einmal:
https://forum.fhem.de/index.php/topic,38328.msg674013.html#msg674013 (https://forum.fhem.de/index.php/topic,38328.msg674013.html#msg674013)
####EDIT
Hat sich dann wohl ohne irgendwelches zutun wieder erledigt:
https://forum.fhem.de/index.php/topic,38328.msg674437.html#msg674437 (https://forum.fhem.de/index.php/topic,38328.msg674437.html#msg674437)
Zitat von: Ma_Bo am 05 Februar 2020, 21:30:09
Naja lokal, wenn ich es auch habe...?
Gesendet von iPhone mit Tapatalk
Vielleicht dann nochmal als Erklärung für Dich - Ich sehe keine Störungsmeldung von Telegram (bisher) - die APIs sind erreichbar aus mehreren Netzen (nach meinen Tests). Deshalb handelt es sich um ein lokal begrenztes Problem - wobei das nicht unbedingt geografisch lokal sein muss.
Telegram betreibt nicht nur einen Server und neben Namensauflösung steht da wohl auch noch ein Lastverteiler vor den Servern.
Falls das irgendwem hilft: Hier dasselbe Problem, seit 18:39 heute. An den Handies kein Problem mit Telegram.
Hier alles ok. Nur um ca. 19:25:
PollingLastError NonBlockingGet timed out on read from <hidden> after 365s 2020-02-05 19:25:09
5 Instanzen mit dem Bot, keine Probleme.
Gesendet von meinem Doogee S60 mit Tapatalk
Bei mir besteht der Fehler weiterhin. Schauen wir mal, was morgen passiert...
Max
Bei mir auch weiterhin auf einem System der Fehler, auf einem anderen System mit einem anderen Bot, läuft alles ohne Probleme.
Gestern um 15:39 kam noch eine Nachricht durch, um 23:59 auch bei mir der Fehler.
Moin,
Fehlermeldung besteht bei mir weiterhin
Habe auch seit Gestern Abend das Problem.
hab das selbe Problem seit gestern Abend um 18:12 --> das lustige ist "nur" auf einem System auf dem anderen läuft es und auch nur auf dem System welches sich nicht automatisch aktualisiert ....
-> auf dem Aktuellen läuft es nicht (Jessie)
<- das "veraltete" läuft (Strech)
beider raspbin
Ich habe das Problem auch seit gestern Abend. Kann das mit einer veralteten Debian- bzw. der damit einhergehenden Perl-Version zusammenhängen? Die Fehlermeldung sieht mir zumindest sehr ähnlich zu der Fhem-Update-Problematik aus dem Dezember letzten Jahres aus: z.B. dieser Beitrag (https://forum.fhem.de/index.php/topic,105944.msg1002130.html#msg1002130)
Nutzt jemand der anderen Betroffenen aus den letzten Beiträgen ebenfalls noch Debian Jessie?
Edit, da AET_FHEMs Beitrag fast zeitgleich verfasst wurde:
Das heißt aber trotzdem, dass dein veraltetes System eine aktuellere Debian-Version hat, oder?
Ich habe es jetzt auf meinem "zu 90 % fertig migrierten" FHEM auf Debian Buster getestet. Damit bekomme ich den Fehler nicht. Auf meinem "noch-produktiv-FHEM" auf Debian Jessie besteht der Fehler weiterhin.
Habe das Problem ebenfalls seit gestern Abend 18:23 Uhr :-\ - DebianJessie
Ubuntu 16.04 hier, also alles andere als aktuell - aber mit aktuellem FHEM :)
Hallo zusammen,
gibt es bereits eine Lösung für das Problem? Ich verwende auch Jessie 8.0
Viele Grüße
huhu
So wie das momentan klingt wäre eure Lösung das Updaten des Systems.
Das kann doch nicht die einzige Lösung sein :-\
Ein Update wäre mir zu riskant, da mittlerweile fast alles im haus über fhem läuft.
Ich würde vielmehr die Gelegenheit nutzen und den Pi3 gegen einen Pi4 tauschen co Existent, aber aktuell scheint auch das keine kurzfristige Lösung zu sein.
Das Problem scheint an der SSL Verbindung zu liegen, kann man gezielt nur hier etwas Updaten?
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Zitat von: Frank_Huber am 06 Februar 2020, 11:13:09
So wie das momentan klingt wäre eure Lösung das Updaten des Systems.
Was genau?
Bei mir blockiert FHEM seit gestern abend total und ist kaum noch erreichbar, solange ich die Telegram instanz nicht disable=1 setze. Schaltvorgänge werden fast Minuten verspätet ausgeführt. Es kommen gesendete Messages beim Bot an, aber ebenfalls Minuten verspätet.
Ubuntu 16.04.6 LTS
apt update
apt upgrade
cpan upgrade (dauert!)
Bei mir läuft es wieder.
Ich will kein komplett upgrade machen, da mariadb unbedingt auf der Version bleiben muss. Das gäbe Inkompatibilität mit anderen DB clients.
Was genau muss denn upgraded werden?
Gesendet von iPhone mit Tapatalk
Bei mir fehlten SSL cipher. Ich dachte erst Perl wurde openssl dynamisch linken, daher der apt upgrade. Brachte es aber nicht. Und da ich mich nicht mit Perl internen Abhängigkeiten aufhalten wollte, hab ich mit cpan das ganze perl hochgezogen.
Hallo zusammen,
ich beobachte die Probleme ebenfalls seit gestern Nachmittag (ca 17:55 Uhr) auf meinem Raspberry Pi 3 (Raspbian 8 (jessie))
Bei meinem Kumpel, ebenfalls ein Pi 3 (müsste aber die neuere Version sein, da erst Ende 2019 gekauft) gibt es jedoch keine Probleme.
Der Meldung "SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure" nach kommt es beim SSLv3 Handshake zu einem Fehler. SSLv3 ist nun auch nicht grade sicher und wird seit einiger Zeit schon mehr und mehr nicht mehr verwendet.
So scheint es nun auch bei der Telegram API zu sein. Ein SSL Check von api.telegram.org gibt folgende unterstützte Protokolle aus:
TLS 1.3 Yes
TLS 1.2 Yes
TLS 1.1 No
TLS 1.0 No
SSL 3 No
SSL 2 No
Klar zu sehen: SSLv2 und v3 werden nicht mehr unterstützt.
Scheinbar nutzt das Telegram Modul Klassen, Bibliotheken und Routinen, die so alt sind, dass nur SSLv2 / v3 unterstützt werden oder die sicheren TLS Varianten sind nicht enthalten oder im Modul ist die Verwendung von SSLv2/v3 fest einprogrammiert. D.h. evtl. würde auch TLS unterstützt werden, wird aber bewusst nicht verwendet.
Letzter Punkt würde dann aber zu einem identischen Fehler bei allen Anwendern führen, solange alle das gleiche Telegram-Modul nutzen.
Ich vermute Punkt 1, aufgrund des Alters des Raspbian ist hier am ehesten zutreffend - die Klassen kennen nur SSLv2/v3 (veraltet / unsicher) und sind daher inkompatibel mit der Telegram API Schnittstelle.
EDIT:
So wie sich zeigt kann das Problem mit einem OS, OpenSSL und / oder Perl Update behoben werden. Damit werden die entsprechenden Klassen und Bibliotheken aktualisiert und die Unterstützung für TLS kommt hinzu.
So, apt update und apt upgrade helfen nicht, gerade getestet.
Die SSL-Geschichte scheint mir daher wahrscheinlicher Auslöser des Problems zu sein.
Das schrieb ich ja.schieb ein cpan upgrade hinterher.
Ja, schon klar. Ich wollte allerdings lieber bei den von der Distribution unterstützten Paketen/Versionen bleiben. Es läuft nun (nachdem ich ein Backup von der ganzen Maschine erstellt habe!) ein do-release-upgrade.
Mal schauen, wie es dann aussieht.
Kann mir jemand helfen, ich bekomme bei cpan upgrade nach kurzer Zeit ein "Warning: Cannot install upgrade, don't know what it is."
So, do-release-upgrade hat funktioniert; dürfte ein anderer Weg zur selben Problemlösung wie "cpan upgrade" sein. Ein neueres Perl wird benötigt.
Zitat von: Fritzchen am 06 Februar 2020, 13:40:58
Kann mir jemand helfen, ich bekomme bei cpan upgrade nach kurzer Zeit ein "Warning: Cannot install upgrade, don't know what it is."
sudo cpan <enter>
upgrade <enter>
....und immer Mal reingucken, ein paar Updates wollen User Input
Welche Methode ist denn die beste um nur das Problem zu beheben...?
Ich habe mittlerweile sehr sehr viel über FHEM laufen und möchte ungern am System rumstellen, da im Moment alles (bis auf Telegram) super und stabil läuft...
Gibt es eine Möglichkeit die SSL Geschichte so umzustellen, dass man nicht viel ändern muss...?
Grüße Marcel
Zitat von: juppzupp am 06 Februar 2020, 14:45:19
sudo cpan <enter>
upgrade <enter>
Damit habe ich schlechte Erfahrung:
top - 15:44:55 up 40 min, 4 users, load average: 23,14, 17,43, 12,37
und zwar bei
arm-linux-gnueabihf-gcc -c -I. -I/usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-Bsymbolic -O2 -g -DVERSION=\"1.64\" -DXS_VERSION=\"1.64\" -fPIC "-I/usr/lib/arm-linux-gnueabihf/perl/5.28/CORE" -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DNDEBUG=1 -DHAVE_USLEEP=1 sqlite3.c
Ich hab schlechte Erfahrungen mit raspberries, und von daher x86, aber das muss jeder für sich entscheiden. Mir ist ein cpan Update lieber als das darunter liegende Betriebssystem direkt mit zu verändern. Da gibt es in meinem Fall noch mehr Abhängigkeiten die evtl nicht aufgelöst werden können.
Egal welchen Weg man geht, es ist ratsam ein Backup zur hand zu haben.
Zitat von: juppzupp am 06 Februar 2020, 14:45:19
sudo cpan <enter>
upgrade <enter>
....und immer Mal reingucken, ein paar Updates wollen User Input
Top, hat funktioniert, danke!
Da FHEM bei mir in einem mittlerweile betagten Proxmox als Container laeuft, kann ich mein GuestOS nicht weiter upgraden ohne ein Proxmox upgrade zu machen. Und das schiebe ich lieber noch ein paar Jahre vor mir her ;)
Moin.
Bei mir laufen alle drei Rpi bisher ohne Probleme. Ein Rpi A, Rpi B+ und ein Pi2.
Updates habe ich dir letzte Zeit keine bei Linux gemacht.
Auf unterem Chat kam gerade diese Nachricht
https://t.me/BotNews
(https://t.me/BotNews)
ZitatPlease note that the Bot API only accepts incoming TLS 1.2 connections. Kindly update your bot if it was using the outdated TLS 1.0 or TLS 1.1 protocol.
Eventuell liegt das ja auch daran?
Gruss Gerd
Daran liegt es. Weil ältere distributionen mit evtl noch älteren perl versionen auf noch ältere openssl libraries aufsetzen.
Es gibt mindestens 2 Lösungsvorschläge.
entweder ein do-release-upgrade der dir das ganze betriebssystem updated,
oder ein cpan update der die das gesamte perl updated.
beide wege sind machbar, jeder muss abwägen welcher besser zu ihm passt.
jeder sollte ein backup griffbereit haben.
Hallo,
ich habe jetzt alles ausprobiert:
apt update
apt upgrade
cpan upgrade
Hat leider nichts gebracht....
Hallo,
bei mir ist der gleiche Fehler:
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed because of handshake problems error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Hab auch schon
apt update
apt upgrade
cpan upgrade
ausgeführt und FHEM update......immer noch der gleiche Fehler.
Haben nur TobisR und ich das Problem?
LG
Marlen
Zitat von: juppzupp am 06 Februar 2020, 14:45:19
sudo cpan <enter>
upgrade <enter>
....und immer Mal reingucken, ein paar Updates wollen User Input
Hab das so ausgeführt doch leider besteht der Fehler weiterhin, es war auch kein User Input meinerseits nötig während des Updatevorgangs
Zitat von: Marlen am 06 Februar 2020, 19:40:30
Hallo,
bei mir ist der gleiche Fehler:
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed because of handshake problems error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Hab auch schon
apt update
apt upgrade
cpan upgrade
ausgeführt und FHEM update......immer noch der gleiche Fehler.
Haben nur TobisR und ich das Problem?
LG
Marlen
Nee, ich hab's auch. Bin auf raspbian jessie auf einem pi3 und überlege gerade, welchen Aufwand ich hätte, auf eine aktuelle Raspbian Version zu wechseln. Ich mache gerade ein cpan upgrade und hoffe, das es hilft, gehe aber nicht davon aus.
Sehe auch gerade, dass beim cpan upgrade ein Haufen "could not untar" because "kein Hauptspeicher verfügbar" auftritt
Naja: Werde wohl den rPi3 neu aufsetzen und dann mein fhem restoren. Oh mann
Bei mir ist der Fehler auch auf Jessi.
Ich hab noch ein 2. System mit buster, da läuft es!
Liegt es wohl an Jessi?
LG
Marlen
Zitat von: juppzupp am 06 Februar 2020, 12:58:51
Ubuntu 16.04.6 LTS
apt update
apt upgrade
cpan upgrade (dauert!)
Bei mir läuft es wieder.
Ich habe die gleiche Ubuntu Version und bei mir hat genau das auch geklappt. Danke!
Zitat von: juppzupp am 06 Februar 2020, 14:45:19
sudo cpan <enter>
upgrade <enter>
....und immer Mal reingucken, ein paar Updates wollen User Input
Danke, das war die Lösung!
Zitat von: Waldmensch am 06 Februar 2020, 11:52:40
Bei mir blockiert FHEM seit gestern abend total und ist kaum noch erreichbar, solange ich die Telegram instanz nicht disable=1 setze. Schaltvorgänge werden fast Minuten verspätet ausgeführt. Es kommen gesendete Messages beim Bot an, aber ebenfalls Minuten verspätet.
Ich habe das gleiche Problem. Es hilft bei mir entweder disable=1 oder aber pollingTimeout=0. Ansonsten hängt FHEM immer wieder je nach gesetztem pollingTimeout mehr oder weniger lang. Kann das jemand so bestätigen?
/Edit
Nach einem update von FHEM, bei dem auch das TelegramBot Modul aktualisiert wurde, sind die "Hänger" weg.
Gruß Conny
ich bin auch betroffen und für mich stellen sich folgende Fragen:
- Welche Raspian Version ist betroffen?
- Welche Software/Module werden vom Telegram Modul benutzt?
- Ist es nur die Perl Version? Wenn ja, welche?
- Liegt das Problem vielleicht gar nicht in Perl, sondern in dem darunter liegenden OpenSSL?
Meine Antowrten zu den Fragen:
- Ich nutze Jessie auf einem Raspberry 3B
- bei mir läuft Perl in der Version 5.20.2
Für mich ist klar, dass von Telegram kein SSLv3 mehr unterstützt wird und deshalb nun TLS genutzt werden muss.
Es muss aber doch möglich sein herauszufinden, was wirklich getan werden muss, um von SSLv3 auf TLS umzustellen.
Ich denke nicht, dass hier wildes rumprobieren und Updates, die mehr Schaden anrichten als Nutzen zu bringen, der richtige Weg zur Lösung ist.
Ich würde es begrüßen, wenn sich der Ersteller des Telegram Moduls ein bißchen detailierter äußern würde und eine akzeptable Lösung präsentiert.
Sicherlich kann man bemängeln, dass hier Versionen benutzt werden, die schon zig Jahre alte sind.
Dennoch kann ich nicht glauben, dass nun viele FHEM Installationen nicht mehr nutzbar sein sollen.
Zitat von: fritzhugo123 am 06 Februar 2020, 22:47:20
ich bin auch betroffen und für mich stellen sich folgende Fragen:
- Welche Raspian Version ist betroffen?
- Welche Software/Module werden vom Telegram Modul benutzt?
- Ist es nur die Perl Version? Wenn ja, welche?
- Liegt das Problem vielleicht gar nicht in Perl, sondern in dem darunter liegenden OpenSSL?
Meine Antowrten zu den Fragen:
- Ich nutze Jessie auf einem Raspberry 3B
- bei mir läuft Perl in der Version 5.20.2
Für mich ist klar, dass von Telegram kein SSLv3 mehr unterstützt wird und deshalb nun TLS genutzt werden muss.
Es muss aber doch möglich sein herauszufinden, was wirklich getan werden muss, um von SSLv3 auf TLS umzustellen.
Ich denke nicht, dass hier wildes rumprobieren und Updates, die mehr Schaden anrichten als Nutzen zu bringen, der richtige Weg zur Lösung ist.
Ich würde es begrüßen, wenn sich der Ersteller des Telegram Moduls ein bißchen detailierter äußern würde und eine akzeptable Lösung präsentiert.
Sicherlich kann man bemängeln, dass hier Versionen benutzt werden, die schon zig Jahre alte sind.
Dennoch kann ich nicht glauben, dass nun viele FHEM Installationen nicht mehr nutzbar sein sollen.
Ja, das wäre eine gute Aktion
Zitat von: fritzhugo123 am 06 Februar 2020, 22:47:20
ich bin auch betroffen und für mich stellen sich folgende Fragen:
- Welche Raspian Version ist betroffen?https://forum.fhem.de/Themes/fhem-curve-green/images/bbc/hr.gif
- Welche Software/Module werden vom Telegram Modul benutzt?
- Ist es nur die Perl Version? Wenn ja, welche?
- Liegt das Problem vielleicht gar nicht in Perl, sondern in dem darunter liegenden OpenSSL?
Meine Antowrten zu den Fragen:
- Ich nutze Jessie auf einem Raspberry 3B
- bei mir läuft Perl in der Version 5.20.2
Für mich ist klar, dass von Telegram kein SSLv3 mehr unterstützt wird und deshalb nun TLS genutzt werden muss.
Es muss aber doch möglich sein herauszufinden, was wirklich getan werden muss, um von SSLv3 auf TLS umzustellen.
Ich denke nicht, dass hier wildes rumprobieren und Updates, die mehr Schaden anrichten als Nutzen zu bringen, der richtige Weg zur Lösung ist.
Ich würde es begrüßen, wenn sich der Ersteller des Telegram Moduls ein bißchen detailierter äußern würde und eine akzeptable Lösung präsentiert.
Sicherlich kann man bemängeln, dass hier Versionen benutzt werden, die schon zig Jahre alte sind.
Dennoch kann ich nicht glauben, dass nun viele FHEM Installationen nicht mehr nutzbar sein sollen.
Zu den Fakten die ich auch nur aus den Beiträgen hier lesen kann und auch weil ich bei mr keine Instanz habe, die betroffen ist:
- Es geht wohl wirklicj um eine Umstellung bei Telegram, die TLS 1.2 vorrausetzt - jetzt auch von Telegram offizell beschrieben
- Das TelegramModul verwendet die zugrundliegenden Mechanismen in FHEM (httputils) und benutzt keine weiteren eigenen Module um den Kontakt zum bot api. - - Damit geht es um den Stand von perl/Betriebssystem
- Da hier httputils zum Einsatz kommt, geht es vermutlich um IO::Socket::SSL // allerdings bin ich kein Experte für den SSL-Aufbau mit perl
- Ich lese hier dass viele jessie- Raspbians betroffen auch wenn sich es wohl bei einigen durch cpan upgrades auch diese auf neue Versionen aktualisieren lassen
Es gab im Forum schon mal eine Diskussion bzgl. HTTPUTILS und ssl aber anderes Modul (weiß grad nicht welches)...
Dort hat auch Rudi mitdiskutiert und ich glaube da wurde das "Problem" sehr ausführlich analysiert...
Ähnliches Ergebnis: Jessie ist "schlecht"...
Vielleicht finde ich das noch mal wieder...
Gruß, Joachim
(Stretch und Buster: keine Probleme)
Zitat von: fritzhugo123 am 06 Februar 2020, 22:47:20
ich bin auch betroffen und für mich stellen sich folgende Fragen:
- Welche Raspian Version ist betroffen?
- Welche Software/Module werden vom Telegram Modul benutzt?
- Ist es nur die Perl Version? Wenn ja, welche?
- Liegt das Problem vielleicht gar nicht in Perl, sondern in dem darunter liegenden OpenSSL?
Meine Antowrten zu den Fragen:
- Ich nutze Jessie auf einem Raspberry 3B
- bei mir läuft Perl in der Version 5.20.2
Für mich ist klar, dass von Telegram kein SSLv3 mehr unterstützt wird und deshalb nun TLS genutzt werden muss.
Es muss aber doch möglich sein herauszufinden, was wirklich getan werden muss, um von SSLv3 auf TLS umzustellen.
Ich denke nicht, dass hier wildes rumprobieren und Updates, die mehr Schaden anrichten als Nutzen zu bringen, der richtige Weg zur Lösung ist.
Ich würde es begrüßen, wenn sich der Ersteller des Telegram Moduls ein bißchen detailierter äußern würde und eine akzeptable Lösung präsentiert.
Sicherlich kann man bemängeln, dass hier Versionen benutzt werden, die schon zig Jahre alte sind.
Dennoch kann ich nicht glauben, dass nun viele FHEM Installationen nicht mehr nutzbar sein sollen.
Ich habe 2 Lösungen beschrieben um sauber, und nicht wild, auf einen Level zu kommen, der das System wieder funktionstüchtig macht. Ich könnte jetzt seitenweise was zum Thema ecdh/sslv3/tls1.2 schreiben, bringt aber nix, weil man einfach nur Perl Module braucht, die auf ein neueres openssl (>1.0.1 glaube ich) bauen. Da kannste jetzt von Hand rumstricken und fummeln und machen und tun, oder einfach einen der beiden richtigen Wege gehen.
naja,
ein komplettes cpan upgrade zu machen oder einfach nur ein modul auszutauschen und vorher ein aktuelles openssl zu installieren ist schon ein Unterschied
Zitat von: juppzupp am 06 Februar 2020, 14:45:19
sudo cpan <enter>
upgrade <enter>
....und immer Mal reingucken, ein paar Updates wollen User Input
Danke, läuft wieder alles...
Ich habe den Installer
defmod Installer Installer
attr Installer alias FHEM Installer Status
attr Installer devStateIcon .*updates.available:security@red:outdated up.to.date:security@green:outdated .*outdated.*in.progress:system_fhem_reboot@orange .*in.progress:system_fhem_update@orange warning.*:message_attention@orange error.*:message_attention@red
attr Installer icon system_fhem
installiert. Er zeigt mir meine Version
IO::Socket::SSL 2.066
die keine Probleme macht.
Hallo,
bei einem FHEM Raspberry habe ich das selbe Problem mit Telegram.
Ich wollte jetzt das Upgrade ausführen und bekomme die folgende Meldung:
sudo cpan upgrade
CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.
Would you like to configure as much as possible automatically? [yes] yes
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Fri, 07 Feb 2020 05:17:02 GMT
.............
New CPAN.pm version (v2.27) available.
[Currently running version is v2.05]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.
...............................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
Warning: Cannot install upgrade, don't know what it is.
Try the command
i /upgrade/
to find objects with matching identifiers.
Kann mir bitte jemand sagen wie ich das lösen kann?
zuerst sudo cpan <enter>, dann upgrade <enter>. Beobachte das system, ich musste eingreifen.
Zitat von: DD am 07 Februar 2020, 08:12:04
Hallo,
bei einem FHEM Raspberry habe ich das selbe Problem mit Telegram.
Ich wollte jetzt das Upgrade ausführen und bekomme die folgende Meldung:
....
Kann mir bitte jemand sagen wie ich das lösen kann?
richtig upgraden vielleicht? steht doch schon alles im Thread...
https://forum.fhem.de/index.php/topic,38328.msg1021531.html#msg1021531
Mache gerade ein cpan upgrade. Er "steht" jetzt schon längere Zeit hier, ist das normal? Eine neue SSH Session geht aktuell nicht, da könnte ich schauen wie die aktuelle CPU Auslastung ist..
Running Mkbootstrap for DBD::SQLite ()
chmod 644 SQLite.bs
/usr/bin/perl -p -e "s/~DRIVER~/SQLite/g" /usr/lib/arm-linux-gnueabihf/perl5/5.20/auto/DBI/Driver.xst > SQLite.xsi
/usr/bin/perl /usr/share/perl/5.20/ExtUtils/xsubpp -typemap /usr/share/perl/5.20/ExtUtils/typemap -typemap typemap SQLite.xs > SQLite.xsc && mv SQLite.xsc SQLite.c
cc -c -I. -I/usr/lib/arm-linux-gnueabihf/perl5/5.20/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-Bsymbolic -O2 -g -DVERSION=\"1.64\" -DXS_VERSION=\"1.64\" -fPIC "-I/usr/lib/arm-linux-gnueabihf/perl/5.20/CORE" -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DNDEBUG=1 -DHAVE_USLEEP=1 SQLite.c
cc -c -I. -I/usr/lib/arm-linux-gnueabihf/perl5/5.20/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-Bsymbolic -O2 -g -DVERSION=\"1.64\" -DXS_VERSION=\"1.64\" -fPIC "-I/usr/lib/arm-linux-gnueabihf/perl/5.20/CORE" -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DNDEBUG=1 -DHAVE_USLEEP=1 dbdimp.c
cc -c -I. -I/usr/lib/arm-linux-gnueabihf/perl5/5.20/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-Bsymbolic -O2 -g -DVERSION=\"1.64\" -DXS_VERSION=\"1.64\" -fPIC "-I/usr/lib/arm-linux-gnueabihf/perl/5.20/CORE" -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DNDEBUG=1 -DHAVE_USLEEP=1 sqlite3.c
genau an der stelle hing es bei mir auch: SQLite. Ich habe dann versucht, nur das Paket alleine zu upgraden bzw mehrfach neu gestartet. Mein Load erreichte Spitzenwerte von 20!
so, mein Jessie auf dem Raspberry funktioniert nun auch bzgl. Telegram wieder. Puh.
Danke für die Infos hier im Thread.
Ich bin leider mit den Lösungsvorschlägen noch nicht einverstanden und auch nicht bereit einem Perl Upgrade via cpan zu riskieren, dass hinterher nichts mehr läuft.
Es muss doch möglich sein herauszufinden, an welcher Stelle von welchem Modul die SSL oder TLS Version bestimmt wird.
Genau dort ist doch anzusetzen, um von SSLv3 auf TLS umzustellen.
Wenn es diesen Schalter nicht in Telegram Modul gibt, dann vielleicht im httputil oder im OpenSSL selber?
Kann man OpenSSL nicht dazu bringen, dass alles ausser TLS nicht mehr akzeptiert oder genutzt wird?
Vielleicht kann Rudolf hier mal ein bißchen Licht ins Dunkel bringen.
Man kann ja DAS Problem mit einem Upgrade per cpan und der genutzten Perl-Bibliotheken "lösen"...
...ABER: wie lange wollt ihr noch auf Jessie bleiben!?
Irgendwann wird es auch an anderer Stelle (ssl) Probleme geben...
...oder andere Sicherheits-Dinge etc...
(Wheezy -> Jessie -> Stretch -> Buster ist aktuell)
Ich warte immer (eine Zeitlang) bis die neue OS-Release "stabil scheint", dann rüste ich mal ein Testsystem hoch...
...und wenn das gut geht das Hauptsystem.
Bei der Gelegenheit "putze" ich gleich ein wenig und prüfe meine "Doku"...
...ist ein gutes Training für einen etwaigen "Ernstfall"...
Und seit ich das so mache dauert ein Komplett-Umstieg unter einer Stunde (inkl. flashen des OS)...
Nur meine Meinung...
Und: ein upgrade/dist-upgrade alleine macht noch keinen "Umstieg" auf eine "höhere" OS-Release...
...von der ich eh nur als "Neuinstallation" was halte ein "Upgrade" naja...
Auch nur meine Meinung...
Gruß, Joachim
Ich habe das gleiche Problem mit Ubuntu 16.04.6.LTS
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Zitat von: TWART016 am 07 Februar 2020, 10:50:34
Ich habe das gleiche Problem mit Ubuntu 16.04.6.LTS
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Diese Ubuntu-Version ist "vglbar" mit Jessie...
Siehe meine Meinung...
Gruß, Joachim
ZitatVielleicht kann Rudolf hier mal ein bißchen Licht ins Dunkel bringen.
Vorneweg: ich fuehle mich bei diesem Thema hoechstens als Einaugige unter den Blinden, und vielleicht nicht mal das bin ich.
Bei TLS (aka SSL) wird beim Verbindungsaufbau ausgehandelt, welches Protokoll verwendet wird.
Es gibt diverse Tools, um die Protolle des Servers ausflisten, z.Bsp.:
% nmap --script ssl-enum-ciphers -p 443 api.telegram.org
Starting Nmap 6.47 ( http://nmap.org ) at 2020-02-07 10:15 CET
Nmap scan report for api.telegram.org (149.154.167.220)
Host is up (0.016s latency).
PORT STATE SERVICE
443/tcp open https
| ssl-enum-ciphers:
| SSLv3: No supported ciphers found
| TLSv1.2:
| ciphers:
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 - strong
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong
| compressors:
| NULL
|_ least strength: strong
Nmap done: 1 IP address (1 host up) scanned in 0.73 seconds
Mir ist keine Methode bekannt, diese Liste vom client ausgeben zu lassen.
Vielleicht reicht es FHEM mit "attr WEB HTTP" zu starten, und nmap gegen diesen Server zu starten, sicher bin ich aber nicht.
Fuer FHEM erledigt SSL das Perl Modul IO::Socket::SSL, das die eingentliche Arbeit ueber Net::SSLeay an die openssl Bibliothek auslagert.
D.h. wenn man aktuelle Krypto-Protokolle haben will, dann braucht man eine aktuelle Version dieser drei Komponenten.
Ein cpan update alleine reicht nicht, weil das (mW) die openssl Bibliothek nicht aktualisiert, nur die perl Module.
Die erwaehnten Schalter in den FHEM Modulen (sslVersion) sind meiner Ueberzeugung nach fuer normale Benutzer selten nuetzlich: man kann damit einschraenken, welche Protokolle verwendet werden. Das hilft bei einer kaputten Gegenseite (die was anbietet, aber doch nicht kann), oder bei Protokollen, die als geknackt gelten, und die man vermeiden will. Beides halte ich fuer untypisch.
Um auf eine aktuelle SSL Version umzusteigen kenne ich folgende Moeglichkeiten:
- OS-update oder -upgrade
- von einem alternativen Repository die akuelle Version von openSSL und Perl besorgen.
- vorkompiliertes Perl von activeX/etc installieren (waere zu verifizieren, ob es mit openSSL ausgeliefert wird.)
- aktuelle openSSL und perl herunterladen, und selbst uebersetzen. Mit dieser Variante kann man (theoretisch) auch eine alte Perl Version mit neuem IO::Socket::SSL und openSSL versehen.
Nachtrag: TLS1.2 wurde in openSSL Verison 1.01 (Maerz 2012) implementiert.
Wie von Rudolf erwähnt verwendet perl unter der "Haube" openssl.
Schritt 1:
openssl s_client -connect api.telegram.org:443
CONNECTED(00000003)
1996234752:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:../ssl/record/rec_layer_s3.c:1544:SSL alert number 70
Da sollte normalerweise viel Output kommen, falls der Handshake klappt. Wenn der Output wie hier gezeigt oder ähnlich mit "error" anfängt, dann ist openssl nicht in der Lage mit Telegram zu sprechen und muß aktualisiert werden.
Schritt 2 wäre dann ein update des Perl Moduls, welches die Verbindung zwischen openssl und Perl herstellt. Bei mir Net::SSLeay, kann aber auch Crypt::SSLeay sein.
Mit folgendem Codeschnipsel kann geprüft werden ob perl dann in der Lage ist mit telegram zu sprechen.
perl -e 'use IO::Socket::SSL;$IO::Socket::SSL::DEBUG=1; my $cl = IO::Socket::SSL->new("api.telegram.org:443"); print $cl "GET / HTTP/1.0\r\n\r\n"; print <$cl>;'
HTTP/1.1 302 Moved Temporarily
.
.
.
Sollten hier Fehlermeldungen kommen, dann passt an der Stelle noch irgendwas nicht.
Meiner Meinung nach sind dass die beiden Komponenten, welche auf einen aktuellen Stand gebracht werden müssen.
Gruß Conny
Ich habe das Problem auf meinem Odroid unter
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.14.85-152 armv7l)
Somit ist es kein Ubuntu 16 Problem
Scheinbar lähmt bei mir nur das Pollen die gesamte FHEM Instanz. Ich kriege Messages an den Bot gesendet, aber nur mit massivem Delay (5 Minuten oder mehr). Da kann natürlich das lähmende Pollen ursache für sein.
openssl version sagt folgendes:
root@odroid:~# openssl version
OpenSSL 1.1.1 11 Sep 2018
root@odroid:~#
perl -V sagt folgendes
root@odroid:~# perl -V
Summary of my perl5 (revision 5 version 26 subversion 1) configuration:
Platform:
osname=linux
osvers=4.9.0
archname=arm-linux-gnueabihf-thread-multi-64int
uname='linux localhost 4.9.0 #1 smp debian 4.9.0 armv7l gnulinux '
config_args='-Dusethreads -Duselargefiles -Dcc=arm-linux-gnueabihf-gcc -Dcpp=arm-linux-gnueabihf-cpp -Dld=arm-linux-gnueabihf-gcc -Dccflags=-DDEBIAN -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-BghvoK/perl-5.26.1=. -fstack-protector-strong -Wformat -Werror=format-security -Dldflags= -Wl,-Bsymbolic-functions -Wl,-z,relro -Dlddlflags=-shared -Wl,-Bsymbolic-functions -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=arm-linux-gnueabihf -Dprefix=/usr -Dprivlib=/usr/share/perl/5.26 -Darchlib=/usr/lib/arm-linux-gnueabihf/perl/5.26 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/arm-linux-gnueabihf/perl5/5.26 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.26.1 -Dsitearch=/usr/local/lib/arm-linux-gnueabihf/perl/5.26.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -Ui_xlocale -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -dEs -Duseshrplib -Dlibperl=libperl.so.5.26.1'
hint=recommended
useposix=true
d_sigaction=define
useithreads=define
usemultiplicity=define
use64bitint=define
use64bitall=undef
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='arm-linux-gnueabihf-gcc'
ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
optimize='-O2 -g'
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion=''
gccversion='7.3.0'
gccosandvers=''
intsize=4
longsize=4
ptrsize=4
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=8
longdblkind=0
ivtype='long long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='arm-linux-gnueabihf-gcc'
ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/gcc/arm-linux-gnueabihf/7/include-fixed /usr/include/arm-linux-gnueabihf /usr/lib /lib/arm-linux-gnueabihf /lib/../lib /usr/lib/arm-linux-gnueabihf /usr/lib/../lib /lib
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=libc-2.27.so
so=so
useshrplib=true
libperl=libperl.so.5.26
gnulibc_version='2.27'
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags='-Wl,-E'
cccdlflags='-fPIC'
lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options:
HAS_TIMES
MULTIPLICITY
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
USE_64_BIT_INT
USE_ITHREADS
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_PERLIO
USE_PERL_ATOF
USE_REENTRANT_API
Locally applied patches:
DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
DEBPKG:debian/db_file_ver - https://bugs.debian.org/340047 Remove overly restrictive DB_File version check.
DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
DEBPKG:debian/enc2xs_inc - https://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories.
DEBPKG:debian/errno_ver - https://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.
DEBPKG:debian/libperl_embed_doc - https://bugs.debian.org/186778 Note that libperl-dev package is required for embedded linking
DEBPKG:fixes/respect_umask - Respect umask during installation
DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories
DEBPKG:debian/extutils_set_libperl_path - EU:MM: set location of libperl.a under /usr/lib
DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor
DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
DEBPKG:debian/perlivp - https://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
DEBPKG:debian/deprecate-with-apt - https://bugs.debian.org/747628 Point users to Debian packages of deprecated core modules
DEBPKG:debian/squelch-locale-warnings - https://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
DEBPKG:debian/patchlevel - https://bugs.debian.org/567489 List packaged patches for 5.26.1-6ubuntu0.3 in patchlevel.h
DEBPKG:fixes/document_makemaker_ccflags - https://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}
DEBPKG:debian/find_html2text - https://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text
DEBPKG:debian/perl5db-x-terminal-emulator.patch - https://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl
DEBPKG:debian/cpan-missing-site-dirs - https://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] https://bugs.debian.org/587650 Memoize::Storable: respect 'nstore' option not respected
DEBPKG:debian/makemaker-pasthru - https://bugs.debian.org/758471 Pass LD settings through to subdirectories
DEBPKG:debian/makemaker-manext - https://bugs.debian.org/247370 Make EU::MakeMaker honour MANnEXT settings in generated manpage headers
DEBPKG:debian/kfreebsd-softupdates - https://bugs.debian.org/796798 Work around Debian Bug#796798
DEBPKG:fixes/autodie-scope - https://bugs.debian.org/798096 Fix a scoping issue with "no autodie" and the "system" sub
DEBPKG:fixes/memoize-pod - [rt.cpan.org #89441] Fix POD errors in Memoize
DEBPKG:debian/hurd-softupdates - https://bugs.debian.org/822735 Fix t/op/stat.t failures on hurd
DEBPKG:fixes/math_complex_doc_great_circle - https://bugs.debian.org/697567 [rt.cpan.org #114104] Math::Trig: clarify definition of great_circle_midpoint
DEBPKG:fixes/math_complex_doc_see_also - https://bugs.debian.org/697568 [rt.cpan.org #114105] Math::Trig: add missing SEE ALSO
DEBPKG:fixes/math_complex_doc_angle_units - https://bugs.debian.org/731505 [rt.cpan.org #114106] Math::Trig: document angle units
DEBPKG:fixes/cpan_web_link - https://bugs.debian.org/367291 CPAN: Add link to main CPAN web site
DEBPKG:fixes/time_piece_doc - https://bugs.debian.org/817925 Time::Piece: Improve documentation for add_months and add_years
DEBPKG:fixes/extutils_makemaker_reproducible - https://bugs.debian.org/835815 https://bugs.debian.org/834190 Make perllocal.pod files reproducible
DEBPKG:fixes/file_path_hurd_errno - File-Path: Fix test failure in Hurd due to hard-coded ENOENT
DEBPKG:debian/hppa_op_optimize_workaround - https://bugs.debian.org/838613 Temporarily lower the optimization of op.c on hppa due to gcc-6 problems
DEBPKG:debian/installman-utf8 - https://bugs.debian.org/840211 Generate man pages with UTF-8 characters
DEBPKG:fixes/file_path_chmod_race - https://bugs.debian.org/863870 [rt.cpan.org #121951] Prevent directory chmod race attack.
DEBPKG:fixes/extutils_file_path_compat - Correct the order of tests of chmod(). (#294)
DEBPKG:fixes/getopt-long-2 - [rt.cpan.org #120300] Withdraw part of commit 5d9947fb445327c7299d8beb009d609bc70066c0, which tries to implement more GNU getopt_long campatibility. GNU
DEBPKG:fixes/getopt-long-3 - provide a default value for optional arguments
DEBPKG:fixes/getopt-long-4 - https://bugs.debian.org/864544 [rt.cpan.org #122068] Fix issue #122068.
DEBPKG:fixes/test-builder-reset - https://bugs.debian.org/865894 Reset inside subtest maintains parent
DEBPKG:debian/hppa_opmini_optimize_workaround - https://bugs.debian.org/869122 Lower the optimization level of opmini.c on hppa
DEBPKG:debian/sh4_op_optimize_workaround - https://bugs.debian.org/869373 Also lower the optimization level of op.c and opmini.c on sh4
DEBPKG:fixes/json-pp-example - [rt.cpan.org #92793] https://bugs.debian.org/871837 fix RT-92793: bug in SYNOPSIS
DEBPKG:debian/perldoc-pager - https://bugs.debian.org/870340 [rt.cpan.org #120229] Fix perldoc terminal escapes when sensible-pager is less
DEBPKG:debian/prune_libs - https://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.
DEBPKG:debian/configure-regen - https://bugs.debian.org/762638 Regenerate Configure et al. after probe unit changes
DEBPKG:fixes/rename-filexp.U-phase1 - regen-configure: rename filexp.U to filexp_path.U, phase 1
DEBPKG:fixes/rename-filexp.U-phase2 - regen-configure: rename filexp.U to filexp_path.U, phase 2
DEBPKG:fixes/packaging_test_skips - Skip various tests if PERL_BUILD_PACKAGING is set
DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
DEBPKG:fixes/encode-alias-regexp - https://bugs.debian.org/880085 fix https://github.com/dankogai/p5-encode/issues/127
DEBPKG:fixes/regex-memory-leak - [910a6a8] https://bugs.debian.org/891196 [perl #132892] perl #132892: avoid leak by mortalizing temporary copy of pattern
DEBPKG:fixes/CVE-2018-6797 - [perl #132227] (perl #132227) restart a node if we change to uni rules within the node and encounter a sharp S
DEBPKG:fixes/CVE-2018-6798/pt1 - [perl #132063] Heap buffer overflow
DEBPKG:fixes/CVE-2018-6798/pt2 - [perl #132063] 5.26.1: fix TRIE_READ_CHAR and DECL_TRIE_TYPE to account for non-utf8 target
DEBPKG:fixes/CVE-2018-6798/pt3 - [perl #132063] (perl #132063) we should no longer warn for this code
DEBPKG:fixes/CVE-2018-6798/pt4 - [perl #132063] utf8.c: Don't dump malformation past first NUL
DEBPKG:fixes/CVE-2018-6913 - [perl #131844] (perl #131844) fix various space calculation issues in pp_pack.c
DEBPKG:fixes/CVE-2018-12015.patch - [PATCH] [PATCH] Remove existing files before overwriting them
DEBPKG:fixes/CVE-2018-18311.patch - [PATCH] Perl_my_setenv(); handle integer wrap
DEBPKG:fixes/CVE-2018-18312.patch - [PATCH 242/242] PATCH: [perl #133423] for 5.26 maint
DEBPKG:fixes/CVE-2018-18313.patch - [PATCH] regcomp.c: Convert some strchr to memchr
DEBPKG:fixes/CVE-2018-18314.patch - [PATCH] fix #131649 - extended charclass can trigger assert
Built under linux
Compiled at Nov 19 2018 15:54:44
@INC:
/etc/perl
/usr/local/lib/arm-linux-gnueabihf/perl/5.26.1
/usr/local/share/perl/5.26.1
/usr/lib/arm-linux-gnueabihf/perl5/5.26
/usr/share/perl5
/usr/lib/arm-linux-gnueabihf/perl/5.26
/usr/share/perl/5.26
/usr/local/lib/site_perl
/usr/lib/arm-linux-gnueabihf/perl-base
root@odroid:~#
Schritt 1 habe ich gemacht und das ist erfolgreich. Es liegt also somit nicht an der OpenSSL Version.
Schritt 2 scheiter genau mit dem Fehler, der auch in Telegram gezeigt wird: sslv3 alert handshake failure.
Somit verstehe ich für mich, dass ich die beiden Perl Module NET::SSLeay und Crypt:SSLeay update müsste.
Wie kann ich das machen, ohne mein komplettes Perl upzudaten?
sudo cpan <enter>
upgrade net::SSLeay<enter>
Eventuell vorher
sudo apt-get install libssl-dev
Ich habe noch einen anderen Beitrag gefunden, in dem es um das gleiche Thema geht.
https://forum.fhem.de/index.php/topic,102385.0.html
Eine mögliche Lösung war er hier das Modul dazu zu zwingen, dass nur TLS und nicht SSL benutzt wird.
Ist es also nicht doch zumindest temporär möglich im Telegram Modul die Verschlüsselung vorzugeben?
Oder geht es hier nicht, weil es wirklich am genutzten Perl Modul scheitert?
Am Ende ist mir bewusst, dass die einzig sinnvolle Lösung nur ein Upgrade des OS und den dazugehörigen Komponenten sein kann.
Mir würde es aber reichen, wenn ich mit einer schnellen und einfachen Lösung ein paar Tage Zeit gewinnen kann.
https://wiki.fhem.de/wiki/TelegramBot#Fehlermeldungen_bei_veralteter_SSL-Version (https://wiki.fhem.de/wiki/TelegramBot#Fehlermeldungen_bei_veralteter_SSL-Version)
Zitat von: fritzhugo123 am 07 Februar 2020, 12:08:54
Ich habe noch einen anderen Beitrag gefunden, in dem es um das gleiche Thema geht.
https://forum.fhem.de/index.php/topic,102385.0.html
Das war der den ich gemeint hatte ;)
Gruß, Joachim
So, cpan upgrade gemacht und als hätte ich es nicht genau so erwartet, nicht gelöst.
Rückmeldung vom upgrade ist: all modules are up to date
Zitat von: andies am 07 Februar 2020, 08:13:44
zuerst sudo cpan <enter>, dann upgrade <enter>. Beobachte das system, ich musste eingreifen.
Danke für den Tipp, bei mir funktioniert Telegram wieder (FHEM Restart!).
Auf den ersten Blick scheint auch alles andere zu funktionieren..
Das Update an sich hat ziemlich lange gedauert + etliche Nachfragen
VG huhu
Auch nach einem cpan Update funktioniert es bei mir nicht.
Und ein Update auf Ubuntu 18 ist bei mir im fehlgeschlagen. Ich musste einen Snapshot wiederherstellen da die CPU von perl auf über 95% war und bei ersten Start von fhem anscheinend einige Devices nicht mehr existieren:
Please define XXX first
Das einzige, was bei mir nach Ubuntu 18.04 nicht mehr funktionierte, war WECO. Das, wie auch ein paar Probleme im eigenen Code, lagen daran, dass die neuere Perl-Version strikter geworden ist und einige Dinge, die bisher nur Warnungen auswarfen, nun als Fehler rauswirft. Sofern die cpan-Variante auch Perl updated, sollte dasselbe Problem dort auftreten.
Bei mir war das Update nach einigen Nacharbeiten (die erforderlichen Stellen wurden im Log angezeigt) jedenfalls erfolgreich. Und es ist sicherlich generell sinnvoll, so alte OS-Versionen mal auf eine aktuellere Version zu bringen.
Das verstehe ich und will ich auch machen. Nur leider fehlt mir in den nächsten Wochen die Zeit dafür. Und einfach so umziehen funktioniert leider bei mir nicht so.
Zumindest das Telegram würde ich kurzfristig gerne beheben.
Wie schon weiter oben ausführlich gepostet, nutze ich schon lange ubuntu 18 und OpenSSL 1.1.1. Trotzdem habe ich das Problem, das FHEM komplett einfriert. Es kommen allerdings Messages rein und es gehen auch welche raus. CPU Last von FHEM ist minimal, trotzdem ist sowohl das Webinterface nahezu unbedienbar als auch die Eventbehandlung von FHEM nahezu am stehen.
Vor vorgestern Abend war das nicht so. Es wurden keine Einstellungen geändert. Polltimeout steht schon immer auf 60
Einzige Abhilfe ist disable = 1
Das Modul habe ich schon updated mit anschließendem shutdown restart.
Gesendet von iPhone mit Tapatalk
Zitat von: Waldmensch am 07 Februar 2020, 16:54:05
Wie schon weiter oben ausführlich gepostet, nutze ich schon lange ubuntu 18 und OpenSSL 1.1.1. Trotzdem habe ich das Problem, das FHEM komplett einfriert. Es kommen allerdings Messages rein und es gehen auch welche raus. CPU Last von FHEM ist minimal, trotzdem ist sowohl das Webinterface nahezu unbedienbar als auch die Eventbehandlung von FHEM nahezu am stehen.
Vor vorgestern Abend war das nicht so. Es wurden keine Einstellungen geändert. Polltimeout steht schon immer auf 60
Einzige Abhilfe ist disable = 1
Das Modul habe ich schon updated mit anschließendem shutdown restart.
Gesendet von iPhone mit Tapatalk
Attribut dnsserver im global gesetzt?
Das was du hast wär ein typischer Effekt wenn das fehlt.
Gesendet von meinem Doogee S60 mit Tapatalk
Das dnsServer Attribut bei global ist gesetzt!?
Gruß, Joachim
Ja, ist schon seit Jahren gesetzt. Das Telebot Problem tritt ja erst seit vorgestern auf. Vorher lief es knapp einen Monat, seit define, reibungslos.
Gesendet von iPhone mit Tapatalk
Zitat von: andies am 07 Februar 2020, 08:13:44
zuerst sudo cpan <enter>, dann upgrade <enter>. Beobachte das system, ich musste eingreifen.
So, es hat gefühlt mehre Stunden gedauert und einige Fragen, zumeist Prüfläufe, mussten beantwortet werden.
Leider ohne Erfolg! Die Fehlermeldung bleibt...
Zitat von: DD am 07 Februar 2020, 19:54:41
Leider ohne Erfolg! Die Fehlermeldung bleibt...
hast du auch das Betriebssystem auf den neuesten Stand gebracht (sudo apt-get upgrade usw)?
Hallo,
ja, hatte ich.
Ich habe vorher eine Copy der SD Karte gemacht und nun noch einmal auf alles die Updates gemacht.
Also im Einzelnen:
sudo apt update
sudo apt full-upgrade
sudo apt-get install libssl-dev
sudo cpan
upgrade net::SSLeay
sudo reboot
Leider ohne Erfolg. FHEM läuft zum Glück noch ohne Probleme. Bis auf Telegram. Da bleibt die Meldung
Hallo,
gleiches Problem mit RaspPi2 / Debian Jessie / Openssl 1.0.1t
Bin Rudi's Anleitung gefolgt: https://forum.fhem.de/index.php/topic,38328.msg1021835.html#msg1021835 (https://forum.fhem.de/index.php/topic,38328.msg1021835.html#msg1021835)
und habe conmarti's Test's verwendet: https://forum.fhem.de/index.php/topic,38328.msg1021844.html#msg1021844 (https://forum.fhem.de/index.php/topic,38328.msg1021844.html#msg1021844)
Konkret:
sudo cpan <enter>
upgrade net::SSLeay<enter>
danach
upgrade Crypt::SSLeay<enter>
und zu guter letzt noch
upgrade IO::Socket::SSL<enter>
Danach konnte ich den TelegramBot vom Terminalfenster aus wieder erreichen und nach Fhem shutdown restart lief es auch in Fhem.
Zum Schluß hatte ich bemerkt, dass es bei upgrade Crypt::SSLeay einen Kompilierfehler gab, so dass dieses Modul vermutlich gar nicht aktualisiert wurde. Aber egal - Hauptsache es läuft.
Vielen Dank in die Runde :)
nein, leider nicht.
Habe auch die beiden anderen Upgrades gemacht.
Die Meldung bleibt weiter:
2020-02-07 21:45:57 TelegramBot Telegram PollingLastError: NonBlockingGet: returned : Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
2020-02-07 21:45:57 TelegramBot Telegram PollingErrCount: 101
Bei mir haben die updates auch keine Abhilfe geschaffen, leider ..... (Installation läuft unter OSX 10.13.6)
Ausgabe:
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Ich hoffe das es bald wieder geht da der Telegrammbot ein sehr schönes Modul ist :)
kannst du mal sudo cpan <enter> und dann r <enter> und den output hier posten? Bitte in Codetags, das ist der Button mit dem #
Zum Vergleich poste ich mal, was bei mir installiert ist (via defmod Installer Installer):
App::cpanminus 1.704400
Archive::Tar 2.360
Capture::Tiny 0.480
CGI 4.460
CGI::Fast 2.150
Class::Inspector 1.360
Class::Method::Modifiers 2.130
Compress::Raw::Bzip2 2.093
Compress::Raw::Zlib 2.093
Config::IniFiles 3.000002
Config::Perl::V 0.310
CPAN 2.270
CPAN::DistnameInfo 0.120
cpan::outdated ?
Crypt::Rijndael 1.140
Data::Peek 0.490
DBD::SQLite 1.640
Digest::BubbleBabble 0.020
Digest::GOST 0.060
ExtUtils::Config 0.008
ExtUtils::Helpers 0.026
ExtUtils::InstallPaths 0.012
ExtUtils::MakeMaker::CPANfile 0.090
File::pushd 1.016
IO::Compress ?
IO::Socket::SSL 2.066
IO::Stringy 2.113
local::lib 2.000024
Mail::IMAPClient 3.420
Module::Build 0.422900
Module::Build::Tiny 0.039
Module::CPANfile 1.100400
Module::Find 0.150
Mozilla::CA 20180117.000
Net::DNS 1.210
Net::MQTT::Simple 1.240
Net::SIP 0.822
Net::Telnet 3.040
Parse::RecDescent 1.967015
Path::Class 0.370
Perl 5.028001
Perl::PrereqScanner::NotQuiteLite 0.990900
Protocol::WebSocket 0.260
Regexp::Trie 0.020
Socket 2.029
Statistics::Descriptive 3.070200
Sub::Uplevel 0.280000
Switch 2.170
Test::Deep 1.128
Test::FailWarnings 0.008
Test::Fatal 0.014
Test::Needs 0.002006
Test::NoWarnings 1.040
Test::Requires 0.100
Test::UseAllModules 0.170
Test::Warn 0.360
Test::Warnings 0.028
XML::NamespaceSupport 1.120
XML::Parser 2.460
XML::Parser::Lite 0.722
XML::SAX 1.020
XML::SAX::Base 1.090
XML::SAX::Expat 0.510
XML::Simple 2.250
<edit> Könnte es sein, dass auch IO::Socket::SSL geupgraded werden muss?
Zitat von: harryman am 07 Februar 2020, 21:32:42
Zum Schluß hatte ich bemerkt, dass es bei upgrade Crypt::SSLeay einen Kompilierfehler gab, so dass dieses Modul vermutlich gar nicht aktualisiert wurde.
Da fehlte vermutlich
sudo apt-get install libssl-dev
Gesendet von iPad mit Tapatalk Pro
Hallo,
ich habe mich jetzt dazu entschlossen ein Upgrade auf Stretch zu wagen (Sicherheitskopie habe ich ja).
Hier aber das Ergebnid zu
Zitat von: andies am 07 Februar 2020, 22:03:08
kannst du mal sudo cpan <enter> und dann r <enter> und den output hier posten? Bitte in Codetags, das ist der Button mit dem #
Vielleicht hilft es ja den Fehler für die anderen zu finden:
Package namespace installed latest in CPAN file
Archive::Extract 0.72 0.86 BINGOS/Archive-Extract-0.86.tar.gz
Archive::Tar 1.96 2.36 BINGOS/Archive-Tar-2.36.tar.gz
Attribute::Handlers 0.96 0.99 RJBS/Attribute-Handlers-0.99.tar.gz
Attribute::Params::Validate 1.13 1.21 DROLSKY/Attribute-Params-Validate-1.21.tar.gz
B::Debug 1.19 1.26 RURBAN/B-Debug-1.26.tar.gz
B::Hooks::EndOfScope 0.13 0.24 ETHER/B-Hooks-EndOfScope-0.24.tar.gz
B::Hooks::OP::Check 0.19 0.22 ETHER/B-Hooks-OP-Check-0.22.tar.gz
CGI 4.09 4.46 LEEJO/CGI-4.46.tar.gz
CGI::Fast 2.04 2.15 LEEJO/CGI-Fast-2.15.tar.gz
CPAN 2.05 2.27 ANDK/CPAN-2.27.tar.gz
CPAN::Meta 2.142690 2.150010 DAGOLDEN/CPAN-Meta-2.150010.tar.gz
CPAN::Meta::Requirements 2.125 2.140 DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz
CPAN::Meta::YAML 0.012 0.018 DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz
Carp 1.3301 1.50 XSAWYERX/Carp-1.50.tar.gz
Class::Accessor 0.34 0.51 KASEI/Class-Accessor-0.51.tar.gz
Class::C3 0.26 0.34 HAARG/Class-C3-0.34.tar.gz
Class::C3::XS 0.13 0.14 ETHER/Class-C3-XS-0.14.tar.gz
Class::Load 0.22 0.25 ETHER/Class-Load-0.25.tar.gz
Class::Method::Modifiers 2.11 2.13 ETHER/Class-Method-Modifiers-2.13.tar.gz
Class::Singleton 1.4 1.5 SHAY/Class-Singleton-1.5.tar.gz
Clone 0.37 0.43 ATOOMIC/Clone-0.43.tar.gz
Compress::Raw::Bzip2 2.064 2.093 PMQS/Compress-Raw-Bzip2-2.093.tar.gz
Compress::Raw::Zlib 2.065 2.093 PMQS/Compress-Raw-Zlib-2.093.tar.gz
Config::Perl::V 0.22 0.31 HMBRAND/Config-Perl-V-0.31.tgz
Crypt::Rijndael 1.12 1.14 LEONT/Crypt-Rijndael-1.14.tar.gz
DBD::SQLite 1.44 1.64 ISHIGAKI/DBD-SQLite-1.64.tar.gz
DBD::mysql 4.028 4.050 DVEEDEN/DBD-mysql-4.050.tar.gz
DBI 1.631 1.643 TIMB/DBI-1.643.tar.gz
DB_File 1.831 1.853 PMQS/DB_File-1.853.tar.gz
Data::Dumper 2.151_01 2.173 XSAWYERX/Data-Dumper-2.173.tar.gz
Data::OptList 0.109 0.110 RJBS/Data-OptList-0.110.tar.gz
Data::Section 0.200006 0.200007 RJBS/Data-Section-0.200007.tar.gz
DateTime 1.12 1.51 DROLSKY/DateTime-1.51.tar.gz
DateTime::Format::Strptime 1.56 1.76 DROLSKY/DateTime-Format-Strptime-1.76.tar.gz
DateTime::Locale 0.45 1.25 DROLSKY/DateTime-Locale-1.25.tar.gz
DateTime::TimeZone 1.75 2.38 DROLSKY/DateTime-TimeZone-2.38.tar.gz
Devel::GlobalDestruction 0.13 0.14 HAARG/Devel-GlobalDestruction-0.14.tar.gz
Devel::PPPort 3.21 3.57 ATOOMIC/Devel-PPPort-3.57.tar.gz
Digest::MD5 2.53 2.55 GAAS/Digest-MD5-2.55.tar.gz
Digest::SHA 5.88 6.02 MSHELOR/Digest-SHA-6.02.tar.gz
Encode 2.60 3.02 DANKOGAI/Encode-3.02.tar.gz
Encode::Locale 1.03 1.05 GAAS/Encode-Locale-1.05.tar.gz
Error 0.17024 0.17029 SHLOMIF/Error-0.17029.tar.gz
Exporter 5.71 5.74 TODDR/Exporter-5.74.tar.gz
ExtUtils::CBuilder 0.280217 0.280234 AMBS/ExtUtils-CBuilder-0.280234.tar.gz
ExtUtils::Constant 0.23 0.25 NWCLARK/ExtUtils-Constant-0.25.tar.gz
ExtUtils::Install 1.67 2.14 BINGOS/ExtUtils-Install-2.14.tar.gz
ExtUtils::MakeMaker 6.98 7.44 BINGOS/ExtUtils-MakeMaker-7.44.tar.gz
ExtUtils::Manifest 1.63 1.72 ETHER/ExtUtils-Manifest-1.72.tar.gz
ExtUtils::ParseXS 3.24 3.35 SMUELLER/ExtUtils-ParseXS-3.35.tar.gz
FCGI 0.77 0.79 ETHER/FCGI-0.79.tar.gz
File::Copy::Recursive 0.38 0.45 DMUEY/File-Copy-Recursive-0.45.tar.gz
File::Fetch 0.48 0.56 BINGOS/File-Fetch-0.56.tar.gz
File::Path 2.09 2.16 JKEENAN/File-Path-2.16.tar.gz
File::Rename 0.20 1.10 RMBARKER/File-Rename-1.10.tar.gz
File::Temp 0.2304 0.2309 ETHER/File-Temp-0.2309.tar.gz
Filter::Simple 0.91 0.94 SMUELLER/Filter-Simple-0.94.tar.gz
GD 2.53 2.71 RURBAN/GD-2.71.tar.gz
Getopt::Long 2.42 2.51 JV/Getopt-Long-2.51.tar.gz
Git 0.01 0.42 MSOUTH/Git-0.42.tar.gz
HTML::Form 6.03 6.05 OALDERS/HTML-Form-6.05.tar.gz
HTML::Formatter 2.11 2.16 NIGELM/HTML-Formatter-2.16.tar.gz
HTML::Parser 3.71 3.72 GAAS/HTML-Parser-3.72.tar.gz
HTML::Template 2.95 2.97 SAMTREGAR/HTML-Template-2.97.tar.gz
HTML::Tree 5.03 5.07 KENTNL/HTML-Tree-5.07.tar.gz
HTTP::Cookies 6.01 6.08 OALDERS/HTTP-Cookies-6.08.tar.gz
HTTP::Daemon 6.01 6.06 OALDERS/HTTP-Daemon-6.06.tar.gz
HTTP::Date 6.02 6.05 OALDERS/HTTP-Date-6.05.tar.gz
HTTP::Message 6.06 6.18 OALDERS/HTTP-Message-6.18.tar.gz
HTTP::Negotiate 6.00 6.01 GAAS/HTTP-Negotiate-6.01.tar.gz
HTTP::Tiny 0.043 0.076 DAGOLDEN/HTTP-Tiny-0.076.tar.gz
Hash::Merge 0.200 0.300 REHSACK/Hash-Merge-0.300.tar.gz
IO 1.31 1.42 TODDR/IO-1.42.tar.gz
IO::Socket::IP 0.29 0.39 PEVANS/IO-Socket-IP-0.39.tar.gz
IO::Socket::SSL 2.002 2.066 SULLR/IO-Socket-SSL-2.066.tar.gz
IO::Stringy 2.110 2.113 CAPOEIRAB/IO-Stringy-2.113.tar.gz
IPC::Cmd 0.92 1.04 BINGOS/IPC-Cmd-1.04.tar.gz
IPC::SysV 2.04 2.07 MHX/IPC-SysV-2.07.tar.gz
Import::Into 1.002004 1.002005 HAARG/Import-Into-1.002005.tar.gz
JSON 2.61 4.02 ISHIGAKI/JSON-4.02.tar.gz
JSON::PP 2.27203 4.04 ISHIGAKI/JSON-PP-4.04.tar.gz
JSON::XS 2.34 4.02 MLEHMANN/JSON-XS-4.02.tar.gz
LWP::MediaTypes 6.02 6.04 OALDERS/LWP-MediaTypes-6.04.tar.gz
LWP::Protocol::GHTTP undef 6.17 OALDERS/LWP-Protocol-GHTTP-6.17.tar.gz
LWP::Protocol::https 6.06 6.07 OALDERS/LWP-Protocol-https-6.07.tar.gz
Lexical::SealRequireHints 0.007 0.011 ZEFRAM/Lexical-SealRequireHints-0.011.tar.gz
Lingua::EN::Inflect 1.895 1.904 DCONWAY/Lingua-EN-Inflect-1.904.tar.gz
List::AllUtils 0.09 0.15 DROLSKY/List-AllUtils-0.15.tar.gz
List::MoreUtils 0.33 0.428 REHSACK/List-MoreUtils-0.428.tar.gz
Locale::Codes 3.30 3.62 SBECK/Locale-Codes-3.62.tar.gz
Locale::Maketext 1.25 1.29 TODDR/Locale-Maketext-1.29.tar.gz
MIME::Base64 3.14 3.15 GAAS/MIME-Base64-3.15.tar.gz
MRO::Compat 0.12 0.13 HAARG/MRO-Compat-0.13.tar.gz
Math::BigInt 1.9993 1.999818 PJACKLAM/Math-BigInt-1.999818.tar.gz
Math::BigInt::FastCalc 0.31 0.5009 PJACKLAM/Math-BigInt-FastCalc-0.5009.tar.gz
Math::BigRat 0.2606 0.2614 PJACKLAM/Math-BigRat-0.2614.tar.gz
Module::Build 0.4210 0.4231 LEONT/Module-Build-0.4231.tar.gz
Module::CoreList 5.20150214 5.20200120 BINGOS/Module-CoreList-5.20200120.tar.gz
Module::Load 0.32 0.34 BINGOS/Module-Load-0.34.tar.gz
Module::Load::Conditional 0.62 0.70 BINGOS/Module-Load-Conditional-0.70.tar.gz
Module::Metadata 1.000019 1.000037 ETHER/Module-Metadata-1.000037.tar.gz
Module::Pluggable 5.1 5.2 SIMONW/Module-Pluggable-5.2.tar.gz
Module::Runtime 0.014 0.016 ZEFRAM/Module-Runtime-0.016.tar.gz
Module::Signature 0.73 0.83 AUDREYT/Module-Signature-0.83.tar.gz
Moo 1.006001 2.003006 HAARG/Moo-2.003006.tar.gz
NEXT 0.65 0.67 NEILB/NEXT-0.67.tar.gz
Net::HTTP 6.07 6.19 OALDERS/Net-HTTP-6.19.tar.gz
Net::Ping 2.43 2.72 RURBAN/Net-Ping-2.72.tar.gz
Net::SMTP::SSL 1.01 1.04 RJBS/Net-SMTP-SSL-1.04.tar.gz
Net::SSLeay 1.65 1.88 CHRISN/Net-SSLeay-1.88.tar.gz
Package::Constants 0.04 0.06 BINGOS/Package-Constants-0.06.tar.gz
Package::Stash 0.37 0.38 ETHER/Package-Stash-0.38.tar.gz
Package::Stash::XS 0.28 0.29 ETHER/Package-Stash-XS-0.29.tar.gz
Params::Classify 0.013 0.015 ZEFRAM/Params-Classify-0.015.tar.gz
Params::Validate 1.13 1.29 DROLSKY/Params-Validate-1.29.tar.gz
Perl::OSType 1.007 1.010 DAGOLDEN/Perl-OSType-1.010.tar.gz
PerlIO::via::QuotedPrint 0.07 0.08 SHAY/PerlIO-via-QuotedPrint-0.08.tar.gz
Pod::Checker 1.60 1.73 MAREKR/Pod-Checker-1.73.tar.gz
Pod::Escapes 1.06 1.07 NEILB/Pod-Escapes-1.07.tar.gz
Pod::Parser 1.62 1.63 MAREKR/Pod-Parser-1.63.tar.gz
Pod::Perldoc 3.23 3.28 MALLEN/Pod-Perldoc-3.28.tar.gz
Pod::Simple 3.28 3.40 KHW/Pod-Simple-3.40.tar.gz
Pod::Usage 1.63 1.69 MAREKR/Pod-Usage-1.69.tar.gz
Regexp::Common 2013031301 2017060201 ABIGAIL/Regexp-Common-2017060201.tar.gz
Role::Tiny 1.003004 2.001004 HAARG/Role-Tiny-2.001004.tar.gz
SQL::Abstract 1.81 1.86 ILMARI/SQL-Abstract-1.86.tar.gz
SelfLoader 1.21 1.24 SMUELLER/SelfLoader-1.24.tar.gz
Socket 2.013 2.029 PEVANS/Socket-2.029.tar.gz
Socket6 0.25 0.29 UMEMOTO/Socket6-0.29.tar.gz
Software::License 0.103010 0.103014 LEONT/Software-License-0.103014.tar.gz
Storable 2.49_01 3.15 XSAWYERX/Storable-3.15.tar.gz
Sub::Exporter 0.986 0.987 RJBS/Sub-Exporter-0.987.tar.gz
Sub::Identify 0.08 0.14 RGARCIA/Sub-Identify-0.14.tar.gz
Sub::Name 0.12 0.26 ETHER/Sub-Name-0.26.tar.gz
Sub::Quote 1.006001 2.006006 HAARG/Sub-Quote-2.006006.tar.gz
Sys::Syslog 0.33 0.36 SAPER/Sys-Syslog-0.36.tar.gz
Term::ANSIColor 4.02 5.01 RRA/Term-ANSIColor-5.01.tar.gz
Term::Cap 1.15 1.17 JSTOWE/Term-Cap-1.17.tar.gz
Term::UI 0.42 0.46 BINGOS/Term-UI-0.46.tar.gz
Test::Harness 3.30 3.42 LEONT/Test-Harness-3.42.tar.gz
Test::Simple 1.001002 1.302171 EXODIST/Test-Simple-1.302171.tar.gz
Text::Balanced 2.02 2.03 SHAY/Text-Balanced-2.03.tar.gz
Text::Diff 1.41 1.45 NEILB/Text-Diff-1.45.tar.gz
Text::ParseWords 3.29 3.30 CHORNY/Text-ParseWords-3.30.tar.gz
Text::Soundex 3.04 3.05 RJBS/Text-Soundex-3.05.tar.gz
Text::Template 1.46 1.58 MSCHOUT/Text-Template-1.58.tar.gz
Thread::Queue 3.05 3.13 JDHEDDEN/Thread-Queue-3.13.tar.gz
Thread::Semaphore 2.12 2.13 JDHEDDEN/Thread-Semaphore-2.13.tar.gz
Tie::File 1.00 1.05 TODDR/Tie-File-1.05.tar.gz
Time::HiRes 1.9726 1.9760 ATOOMIC/Time-HiRes-1.9760.tar.gz
Time::Local 1.2300 1.30 DROLSKY/Time-Local-1.30.tar.gz
Time::Piece 1.27 1.33 ESAYM/Time-Piece-1.33.tar.gz
Try::Tiny 0.22 0.30 ETHER/Try-Tiny-0.30.tar.gz
URI 1.64 1.76 OALDERS/URI-1.76.tar.gz
Unicode::Collate 1.04 1.27 SADAHIRO/Unicode-Collate-1.27.tar.gz
Unicode::Normalize 1.17 1.26 KHW/Unicode-Normalize-1.26.tar.gz
Variable::Magic 0.55 0.62 VPIT/Variable-Magic-0.62.tar.gz
WWW::RobotRules 6.01 6.02 GAAS/WWW-RobotRules-6.02.tar.gz
XML::NamespaceSupport 1.11 1.12 PERIGRIN/XML-NamespaceSupport-1.12.tar.gz
XML::Parser 2.41 2.46 TODDR/XML-Parser-2.46.tar.gz
XML::SAX 0.99 1.02 GRANTM/XML-SAX-1.02.tar.gz
XML::SAX::Base 1.07 1.09 GRANTM/XML-SAX-Base-1.09.tar.gz
XML::SAX::Expat 0.40 0.51 BJOERN/XML-SAX-Expat-0.51.tar.gz
XML::Simple 2.20 2.25 GRANTM/XML-Simple-2.25.tar.gz
XSLoader 0.17 0.24 SAPER/XSLoader-0.24.tar.gz
autodie 2.23 2.32 TODDR/autodie-2.32.tar.gz
autouse 1.08 1.11 RJBS/autouse-1.11.tar.gz
bareword::filehandles 0.003 0.007 ILMARI/bareword-filehandles-0.007.tar.gz
base 2.22 2.23 RJBS/base-2.23.tar.gz
bignum 0.37 0.51 PJACKLAM/bignum-0.51.tar.gz
common::sense 3.73 3.74 MLEHMANN/common-sense-3.74.tar.gz
constant 1.31 1.33 RJBS/constant-1.33.tar.gz
experimental 0.007 0.020 LEONT/experimental-0.020.tar.gz
if 0.0603 0.0608 XSAWYERX/if-0.0608.tar.gz
inc::latest 0.4210 0.500 DAGOLDEN/inc-latest-0.500.tar.gz
indirect 0.33 0.39 VPIT/indirect-0.39.tar.gz
multidimensional 0.010 0.014 ILMARI/multidimensional-0.014.tar.gz
namespace::clean 0.25 0.27 RIBASUSHI/namespace-clean-0.27.tar.gz
parent 0.228 0.238 CORION/parent-0.238.tar.gz
perlfaq 5.0150044 5.20200125 ETHER/perlfaq-5.20200125.tar.gz
strictures 1.005005 2.000006 HAARG/strictures-2.000006.tar.gz
threads 1.93 2.21 JDHEDDEN/threads-2.21.tar.gz
threads::shared 1.46 1.59 JDHEDDEN/threads-shared-1.59.tar.gz
version 0.9909 0.9924 JPEACOCK/version-0.9924.tar.gz
B 1.48 1.76 SHAY/perl-5.30.1.tar.gz
Compress::Zlib 2.064 2.093 PMQS/IO-Compress-2.093.tar.gz
Cwd 3.48_01 3.75 XSAWYERX/PathTools-3.75.tar.gz
Date::Parse 2.30 2.31 ATOOMIC/TimeDate-2.31.tar.gz
Dpkg::Changelog::Parse 1.02 1.03 GUILLEM/Dpkg-1.19.7.tar.gz
Filter::Util::Call 1.49 1.59 RURBAN/Filter-1.59.tar.gz
GD::Graph 1.48 1.54 RUZ/GDGraph-1.54.tar.gz
JSON::backportPP::Boolean undef 2.27203 MAKAMAKA/JSON-2.61.tar.gz
LWP 6.08 6.43 OALDERS/libwww-perl-6.43.tar.gz
List::Util 1.38 1.54 PEVANS/Scalar-List-Utils-1.54.tar.gz
Locale::gettext 1.05 1.07 PVANDRY/gettext-1.07.tar.gz
Mail::Address 2.13 2.21 MARKOV/MailTools-2.21.tar.gz
Module::Build::ModuleInfo 0.4205 0.4210 LEONT/Module-Build-Deprecated-0.4210.tar.gz
Module::CoreList::TieHashDelta 5.20150214 5.20180120 BINGOS/Module-CoreList-5.20180120.tar.gz
Net::Cmd 2.30 3.11 SHAY/libnet-3.11.tar.gz
Pod::Man 2.28 4.14 RRA/podlators-4.14.tar.gz
Pod::Readme 0.11 v1.2.3 RRWO/Pod-Readme-v1.2.3.tar.gz
Term::ReadKey 2.32 2.38 JSTOWE/TermReadKey-2.38.tar.gz
arybase 0.07 0.15 SHAY/perl-5.28.2.tar.gz
Also ich sehe zwei Module, die älter sind und die du mal upgraden solltest:
sudo cpan <enter>
upgrade IO::Socket::SSL<enter>
upgrade Net::SSLeay<enter>
Gesendet von iPad mit Tapatalk Pro
Zitat von: DD am 07 Februar 2020, 22:28:07
Hallo,
ich habe mich jetzt dazu entschlossen ein Upgrade auf Stretch zu wagen (Sicherheitskopie habe ich ja).
Warum zum "Vor-aktuellstem" Release statt gleich zum Aktuellsten: Buster!?
Dann kommst du schneller evtl. wieder in "Probleme"...
Ich würde auch nicht irgendwelche Perl-Pakete updaten und nur einige OS-Libs etc.
Lieber gleich das gesamte System inkl. "Aufräumarbeiten"...
Nur (nochmal) meine Meinung...
Gruß, Joachim
da stimmt auch was nicht. DD schreibt, er habe SSLeay upgegraded, aber die alte Version ist noch auf dem Rechner.
MadMax-FHEM hat natürlich recht: Die neueste Version macht den geringsten Stress. Aber gab es nicht einen Grund, warum Ihr unten bleiben wolltet?
Zitat von: andies am 07 Februar 2020, 22:34:39
Also ich sehe zwei Module, die älter sind und die du mal upgraden solltest:
sudo cpan <enter>
upgrade IO::Socket::SSL<enter>
upgrade Net::SSLeay<enter>
Hat bei mir geklappt! Telegram sendet wieder :)
Waren 3 sehr ruhige Tage ...
Debian 8
IO::Socket::SSL 2.002 2.066
Net::SSLeay 1.65 1.88
Zitat von: MartinPetri am 07 Februar 2020, 21:58:48
Bei mir haben die updates auch keine Abhilfe geschaffen, leider ..... (Installation läuft unter OSX 10.13.6)
Ausgabe:
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed with unknown error error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Ich hoffe das es bald wieder geht da der Telegrammbot ein sehr schönes Modul ist :)
Es ist nicht davon auszugehen, dass Telegram die Anforderung an die TLS-Version wieder zurücknehmen wird. Inzwischen ist sie ja auch offiziell verkündet worden.
Das ist zwar eine böse Überraschung, zwingt aber dazu auf einen aktuellen Stand für die zugrundeliegende SSL-FUnktionalität.
Vielleicht lässt sich perl oder openSSL separat updaten speziell für OSX?
@all: Es macht vermutlich Sinn zu klären, auf welcher Platform und OS-Version ihr genau arbeitet, wenn ein uprgade / update nicht erfolgreich ist.
Für OSX gelten vermutlich andere Schritte/Anweisungen wie für raspbian
Bei meinem Odroid XU4 mit Ubuntu 16.04.6 LTS (GNU/Linux 4.9.50-63 armv7l) hat der cpan upgrade auch geholfen.
Der upgrade hat lange gedauert, aber jetzt ist alles OK.
Vielen Dank!
danke, gleiche Voraussetzungen.. hat ebenso geklappt!! :)
Zitat von: harryman am 07 Februar 2020, 21:32:42
Hallo,
gleiches Problem mit RaspPi2 / Debian Jessie / Openssl 1.0.1t
Bin Rudi's Anleitung gefolgt: https://forum.fhem.de/index.php/topic,38328.msg1021835.html#msg1021835 (https://forum.fhem.de/index.php/topic,38328.msg1021835.html#msg1021835)
und habe conmarti's Test's verwendet: https://forum.fhem.de/index.php/topic,38328.msg1021844.html#msg1021844 (https://forum.fhem.de/index.php/topic,38328.msg1021844.html#msg1021844)
Konkret:
sudo cpan <enter>
upgrade net::SSLeay<enter>
danach
upgrade Crypt::SSLeay<enter>
und zu guter letzt noch
upgrade IO::Socket::SSL<enter>
Danach konnte ich den TelegramBot vom Terminalfenster aus wieder erreichen und nach Fhem shutdown restart lief es auch in Fhem.
Zum Schluß hatte ich bemerkt, dass es bei upgrade Crypt::SSLeay einen Kompilierfehler gab, so dass dieses Modul vermutlich gar nicht aktualisiert wurde. Aber egal - Hauptsache es läuft.
Vielen Dank in die Runde :)
Hi,
ich kämpfe auch mit dem Upgrates, komme aber nicht weiter:
IO::Socket::SSL 2.002 2.066
heist doch dass ich noch die Version 2.002 betreibe.
MAche ich jetzt das Upgrade, kommt die Meldung:
nolock_cpan> upgrade net::SSLeay
All modules are up to date for net::SSLeay
Ich stehe auf dem Schlauch...
Edit: war das falsche Beispiel, gilt aber auch da...
Net::SSLeay 1.65 1.88
Edit:
Nach einem Neuboot und erneutem Versuch erhalte ich bei upgrade net::SSLeay zum Schluss folgende Meldung:
Result: PASS
SULLR/IO-Socket-SSL-2.066.tar.gz
/usr/bin/make test -- OK
Running make install
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/man/man3'
mkdir /usr/local/man: Die Datei existiert bereits at /usr/share/perl/5.20/ExtUtils/Install.pm line 476.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1.
Makefile:746: recipe for target 'pure_site_install' failed
make: *** [pure_site_install] Error 17
SULLR/IO-Socket-SSL-2.066.tar.gz
/usr/bin/make install -- NOT OK
Failed during this command:
SULLR/IO-Socket-SSL-2.066.tar.gz : install NO
Was kann ich da tun?
Zitat von: harryman am 07 Februar 2020, 21:32:42
Hallo,
gleiches Problem mit RaspPi2 / Debian Jessie / Openssl 1.0.1t
Bin Rudi's Anleitung gefolgt: https://forum.fhem.de/index.php/topic,38328.msg1021835.html#msg1021835 (https://forum.fhem.de/index.php/topic,38328.msg1021835.html#msg1021835)
und habe conmarti's Test's verwendet: https://forum.fhem.de/index.php/topic,38328.msg1021844.html#msg1021844 (https://forum.fhem.de/index.php/topic,38328.msg1021844.html#msg1021844)
Konkret:
sudo cpan <enter>
upgrade net::SSLeay<enter>
danach
upgrade Crypt::SSLeay<enter>
und zu guter letzt noch
upgrade IO::Socket::SSL<enter>
Danach konnte ich den TelegramBot vom Terminalfenster aus wieder erreichen und nach Fhem shutdown restart lief es auch in Fhem.
Zum Schluß hatte ich bemerkt, dass es bei upgrade Crypt::SSLeay einen Kompilierfehler gab, so dass dieses Modul vermutlich gar nicht aktualisiert wurde. Aber egal - Hauptsache es läuft.
Vielen Dank in die Runde :)
Super, Besten Dank. Hat bei mir auch funktioniert.
Hatte anfangs auch die selbe Fehlermeldung wie DD.
Fhem läuft bei mir auch auf einem Raspi3 mit Jessie.
cpan <enter> upgrade <enter>
hat bei mir geholfen.
Nach 3 Stunden Konsolenwahnsinn mit einigen Warnings läuft nun Fhem inkl. Telegram wieder. Danke!
was mich jedoch stört, sind die Warnungen in Fhem nach dem Neustart:
2020.02.08 00:36:11 1: PERL WARNING: Subroutine GetState_Initialize redefined at ./FHEM/99_getstate.pm line 42, <$fh> line 7.
2020.02.08 00:36:11 1: PERL WARNING: Subroutine CommandGetState redefined at ./FHEM/99_getstate.pm line 52, <$fh> line 7.
2020.02.08 00:36:11 1: PERL WARNING: Subroutine stringToNumber redefined at ./FHEM/99_getstate.pm line 100, <$fh> line 7.
2020.02.08 00:36:11 1: PERL WARNING: Subroutine stripNumber redefined at ./FHEM/99_getstate.pm line 111, <$fh> line 7.
2020.02.08 00:36:11 1: PERL WARNING: Subroutine isNumber redefined at ./FHEM/99_getstate.pm line 124, <$fh> line 7.
2020.02.08 00:36:11 1: PERL WARNING: Subroutine isInteger redefined at ./FHEM/99_getstate.pm line 130, <$fh> line 7.
2020.02.08 00:36:11 1: PERL WARNING: Subroutine isFloat redefined at ./FHEM/99_getstate.pm line 136, <$fh> line 7.
Sollte ich Fhem nun auch auf den aktuellsten Stand bringen, oder wie sind die Warnungen zu verstehen?
FHEM auf den aktuellen Stand zu bringen, ist eigentlich nie eine schlechte Idee, insbesondere wenn Fehler/Warnungen auftreten. :-)
Neue Perl-Versionen kommen mit einigen Änderungen. Deswegen kann der bisher laufende Code Warnungen (die später ggf. zu Fehlern werden) auswerfen und muss aktualisiert werden.
Wie kann ich mit dem Telegram Bot eine Nachricht lautlos verschicken?
Lt. Commandref https://fhem.de/commandref.html#TelegramBot (https://fhem.de/commandref.html#TelegramBot):
set [Telegram] silentmsg
Bei mir auf einem Raspi2 mit Jessie hatte ich selbige Probleme mit Telegram,
nachdem ich:
sudo cpan <enter>
upgrade net::SSLeay<enter>
upgrade Crypt::SSLeay<enter>
upgrade IO::Socket::SSL<enter>
restart
ausgeführt habe, ist alles wieder SUPER, vielen Dank!!!
Verdammt und ich habe es zu spät gelesen, dass man nur die SSL Pakete updaten muss. Hab gestern 3h ein komplettes upgrade gemacht. Zumindest habe ich bisher noch keine Fehler gefunden und Telegram geht wieder.
Zitat von: Amenophis86 am 08 Februar 2020, 12:22:41
Verdammt und ich habe es zu spät gelesen, dass man nur die SSL Pakete updaten muss. Hab gestern 3h ein komplettes upgrade gemacht. Zumindest habe ich bisher noch keine Fehler gefunden und Telegram geht wieder.
Schadet nicht...
...irgendwann wär's eh gekommen... ;)
Und in meinen Augen sinniger als nur Teile upzudaten...
Laufe seit einigen Wochen bereits auf Buster ohne Probleme...
Dabei gleich Doku "geprüft" und "korrigiert"/"angepasst"...
...und wieder etwas "verschlankt"... :)
Gruß, Joachim
Kurze erfolgreiche Rückmeldung auch von mir.
Nachdem die beiden erste Module keinen Erfolg gebracht haben, war dann das dritte Module der entscheidende Treffer.
Package namespace installed latest in CPAN file
IO::Socket::SSL 2.002 2.066 SULLR/IO-Socket-SSL-2.066.tar.gz
Nun funktioniert mein Telegram wieder.
Vielen Dank!
Hallo,
so sieht das bei mir auch aus.
Aber installiert ist doch immer noch nur die Version 2.002!?
Hallo,
Danke allen für die Info. Nun funktioniert Telegram auch bei mir wieder.
Was ist der Grund, weshalb es vor dem Update plötzlich nicht mehr funktionierte.
Hallo
Aus reinem Interesse hab ich meine unter stretch v9 istallierten Versionen anzeigen lassen. (TelegramBot geht einwandfrei)
Net::SSLeay 1.80
Crypt::SSLeay 0.73_04
IO::Socket::SSL 2.044
sudo cpan -l
Schöne Grüße
Heinz
Ich vermute, mein Problem ist anders gelagert. Ich kann einwandfrei Messages empfangen und senden. Also sollte es nicht am SSL liegen. Bei mir wird nur das komplette FHEM gelähmt. Und zwar direkt abhängig vom polltimeout. Wenn ich diesen auf 60 setze, geht gar nichts mehr. Setze ich den Timeout auf 2 läuft FHEM halbwegs flüssig.
Mir scheint es, dass, obwohl HTTPMOD ja nonblocking sein soll, das Telegram Modul trotzdem blockiert.
Kurios ist, dass es wochenlang funktioniert hat, und vor 3 Tagen plötzlich diese Probleme auftreten. Also irgendwie scheint es eine Mischung aus Schnittstellenproblem (keine Antwort/timeout) und blocken des Telegram Moduls zu sein
Ich hatte das Problem auch: Raspi mit Jessie
upgrade Crypt::SSLeay und upgrade IO::Socket::SSL endeten mit:
ZitatRunning make installFiles found in blib/arch: installing files in blib/lib into architecture dependent library tree
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/man/man3'
mkdir /usr/local/man: Die Datei existiert bereits at /usr/share/perl/5.20/ExtUtils/Install.pm line 476.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1.
Makefile:857: recipe for target 'pure_site_install' failed
make: *** [pure_site_install] Error 17
CHRISN/Net-SSLeay-1.88.tar.gz
/usr/bin/make install -- NOT OK
Failed during this command:
CHRISN/Net-SSLeay-1.88.tar.gz : install NO
/usr/local/man ist ein Link der auf den nicht existierende Ordner /usr/local/share/man zeigt. Nach anlegen von /usr/local/share/man funktionieren bei mir der Link und auch
upgrade Crypt::SSLeay und upgrade IO::Socket::SSL
Danach funktioniert auch Telegram wieder.
:) :) :) :)
Genau das war das Problem bei mir!
Vielen Dankj_meyer!
Der Hinweis sollte im Wiki aufgenommen werden
Hallo Mitnand,
ist es normal das cpan einen Tag dauert zum installieren? Automatisiert oder nicht?
zu dem Befehl upgrade komme ich irgendwie garnicht.
Fhem macht seit dem keine Plots mehr und andere Dinge funktionieren nicht zuverlässig, dafür aber Telegram ! Prima:-(
Gibts irgendwo eine Schritt für Schritt-Anleitung? Hier im Forum postet einer so, der andere anders, ehrlich geschrieben, ich hab KEINE AHNUNG und das in Massen !
Danke für Eure eventuelle Hilfe
RPI 2, Jessy
Meine 0,02 Euro: Je weniger Ahnung man von der Materie hat, desto weniger weit sollte man sich von der verwendeten Distro verwenden. Also lieber statt cpan die Distro auf eine aktuellere Version bringen.
Zitat von: Motivierte linke Hände am 09 Februar 2020, 11:18:51
Meine 0,02 Euro: Je weniger Ahnung man von der Materie hat, desto weniger weit sollte man sich von der verwendeten Distro verwenden. Also lieber statt cpan die Distro auf eine aktuellere Version bringen.
Ist generell meine Meinung!
Wer baut denn an sein Auto einen Kotflügel des neueren Modells und einen Kofferraumdeckel des neueren Modells und Scheinwerfer mit LED (weil man das jetzt halt hat/braucht) des aktuellen Modells...
Statt: sich gleich das neue Modell zu kaufen...
Gruß, Joachim
Hat denn sonst noch jemand das Problem, dass senden/empfangen zwar funktioniert, also SSL nicht die Ursache ist, aber FHEM trotzdem blockiert? Ein Polltimeout von 1 oder 2 statt 60 kann doch nicht die Lösung sein.
Gesendet von iPhone mit Tapatalk
Zitat von: Motivierte linke Hände am 09 Februar 2020, 11:18:51
Meine 0,02 Euro: Je weniger Ahnung man von der Materie hat, desto weniger weit sollte man sich von der verwendeten Distro verwenden. Also lieber statt cpan die Distro auf eine aktuellere Version bringen.
Ich glaube, dass hier jeder zustimmen würde. Das Problem scheint mir zu sein, dass die Erklärungen zur Installation nicht auf einer (Wiki)Seite zu finden, sondern überall verstreut sind und man sich das zusammensuchen muss - und dann entstehen genau die Autos mit Kotflügel aus LKW-Teilen und Flugzeugturbinen.
Da helfen Tipps der Form "RTFM" nicht, weil dieses manual für einige unlesbar oder gar unauffindbar ist. Da ich selbst mehrfach am Wiki geschrieben habe, weiß ich, wovon ich spreche. Versteht mich nicht falsch: Aber wenn jemand noch nie versucht hat, Struktur ins Wiki zu bringen, soll er unbedarften Nutzern nicht vorwerfen, sie sollten erstmal die commandref studieren. Andererseits müssen natürlich auch Nutzer verstehen, dass das hier kostenlose Software ist und auch von ihnen verlangt wird, sich einzuarbeiten und niemand einfach so Lösungen auf dem Tablett präsentiert.
ZitatHat denn sonst noch jemand das Problem, dass senden/empfangen zwar funktioniert, also SSL nicht die Ursache ist, aber FHEM trotzdem blockiert? Ein Polltimeout von 1 oder 2 statt 60 kann doch nicht die Lösung sein.
Kannst Du ein mit maximalen verbose erstellten Log im Problemfall hier anhaengen?
Die letzten 100 Zeilen vor dem blockieren sollten reichen.
ZitatKannst Du ein mit maximalen verbose erstellten Log im Problemfall hier anhaengen?
Ich habs Dir per PN geschickt, wegen persönlicher Daten. Wollte nichts drin rumlöschen.
Ich sehe:
Zitat2020.02.09 13:37:40 4: DNS result for api.telegram.org: 149.154.167.220, ttl:299
...
2020.02.09 13:37:40 5: HttpUtils request header: GET /.../getUpdates?offset=..&limit=5&timeout=60 HTTP/1.0
...
2020.02.09 13:38:30 4: <hidden>: HTTP response code 200
...
2020.02.09 13:38:30 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":[]}:
D.h. es wird HttpUtils_NonblockingGet aufgerufen, die Antwort kommt nach 50 Sekunden, waehrend dieser Zeit macht FHEM nichts anderes.
Ich gehe davon aus, dass es was tun sollte, und deswegen der Eindruck von blockieren entsteht.
Ich habe im Moment keine Idee, wie das zustandekommen kann. Ich habe eine Version von HttUtils.pm mit 4 neuen Debug-Zeilen angehaengt.
Kannst du bitte es erneut testen, diesmal interessieren mich nur die Zeilen mit HttpDebug, sie werden ab verbose 1 geschrieben.
Mit dieser HTTPUtils scheint es nicht zu freezen. Habe bei der Gelegenheit festgestellt, das mein Version schon ein Jahr alt ist. Du hast PN mit Log.
# $Id: HttpUtils.pm 17831 2018-11-24 15:09:17Z rudolfkoenig $
Eventuell lag es daran? Ich weiß nicht, ob die Changes aus dem letzten Jahr Auswirkungen auf Blocking/Nonblocking haben.
Edit:
Interessant/verstörend ist in jedem Fall das Auftreten der Freezer genau zum Zeitpunkt der Verschlüsselungsumstellung. Vorher lief es absolut unauffällig auch mit den alten HTTPUtils
war bei mir genauso. Hab jetzt nochmal zurück auf eine ältere Version von HttpUtils gewechselt und hatte sofort wieder die Hänger. Das Problem ist also mit der aktuellen Version von HttpUtils gefixt.
Konkret war es folgende Änderung https://svn.fhem.de/trac/changeset/19349/ (https://svn.fhem.de/trac/changeset/19349/)
Gruß Conny
Zitatwar bei mir genauso. Hab jetzt nochmal zurück auf eine ältere Version von HttpUtils gewechselt und hatte sofort wieder die Hänger
Ich verfolge das Problem dann erstmal nicht weiter, bitte melden, wenn es mit der aktuellen Version auch reproduzierbar ist.
Generell gilt: vor Probleme melden erst mal ein FHEM-update machen, sonst verschwendet der Maintainer nur seine Zeit.
es ist zwingend auch das Upgrade bei Jessie von IO::Socket::SSL 2.002 -> 2.066 notwendig. Vielleicht kann das noch im Wiki - https://wiki.fhem.de/wiki/TelegramBot#Fehlermeldungen_bei_veralteter_SSL-Version - geändert werden.
erledigt
2020.02.09 22:36:55 3: TelegramBot_Callback telegram: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure from SendIt
2020.02.09 22:36:55 3: TelegramBot_Callback telegram: Reached max retries (ret: NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure) for msg @***** : TEST
Hallo,
ich habe hier Ubuntu 16.04.6 LTS aktuell und habe auch entsprechend update durchgeführt:
ZitatFehlermeldungen bei veralteter SSL-Version
Telegram nutzt seit Februar 2020 eine neue Verschlüsselung und dies ruft bei veralteter Installation eine Fehlermeldung hervor:
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443
Dies deutet auf eine veraltete SSL-Version hin, siehe dazu die Forumsdiskussion ab diesem Eintrag. Hilfreich hat sich ein upgrade der SSL-Module erwiesen. Zuerst muss uU ein Modul installiert werden
sudo apt-get install libssl-dev
und danach in zwei Schritten
sudo cpan <enter>
upgrade net::SSLeay<enter>
Der o. g. Fehler tritt jedoch weiterhin auf. Hat noch jmd. eine Idee?
Danke!
Aktuelle Version der HTTPUtils ?
Edit: seh grad, SSL3 Error
Gesendet von iPhone mit Tapatalk
Bei mir gab es auch das Problem. Nutze Jessie... :-/
Mit folgendem Code hat es dann wieder funktioniert.
sudo cpan <enter>
upgrade net::SSLeay<enter>
upgrade Crypt::SSLeay<enter>
upgrade IO::Socket::SSL<enter>
reboot
Aufgrund des Problems hatte ich es mal gewagt von Jessie auf Stretch upzugraden .... :P
Vorher komplettes SD-Card Backup!! - Jetzt kann ja was schief laufen ;-)
Hat alles perfekt geklappt, FHEM lüppt bis auf snmp der Synology. (Pakete nochmal installiert (https://forum.fhem.de/index.php/topic,92124.msg1022867.html#msg1022867))
Was soll ich sagen ... (hätte ich nicht gedacht) , alles bestens. Hab jede Menge Definitionen in FHEM drin.
Die o.g. Lösungen sind eventuell eh nicht auf Dauer ..., muss jedoch jeder selbst entscheiden. Auf alle Fälle ist das Telegram Problem mit aktuellen Stretch beseitigt. :)
Hallo zusammen,
hat jemand schonmal Daten aus verschiedenen Readings als Tabelle verschickt?
Leider bekomme ich das nicht hin.
Dachte über den Parameter "parseModeSend" gäbe es da Möglichkeiten, allerdings bekomme ich es leider nicht hin :-(
Jemand Ideen?
VG
Marc
Hat vielleicht noch Jemand eine Idee was man machen müsste um die Meldung "Cannot allocate Memory" beim aktualisieren von IO-Socket-SSL
upgrade IO::Socket::SSL
los wird?
Speicherplatz an sich ist aus meiner Sicht verfügbar. Oder interpretiere ich die Meldung falsch. Hab irgendwo auch hier gelesen dass man im Ordner archive Dateien löschen sollte.
Hier meine Meldung:
cpan[6]> upgrade IO::Socket::SSL
Reading '/home/pi/.cpan/Metadata'
Database was generated on Sun, 09 Feb 2020 18:17:03 GMT
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/home/pi/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/home/pi/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Mon, 10 Feb 2020 17:41:02 GMT
.............
New CPAN.pm version (v2.27) available.
[Currently running version is v2.05]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.
...............................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/home/pi/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /home/pi/.cpan/Metadata
Package namespace installed latest in CPAN file
IO::Socket::SSL 2.002 2.066 SULLR/IO-Socket-SSL-2.066.tar.gz
Running install for module 'IO::Socket::SSL'
Fetching with LWP:
http://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz
Fetching with LWP:
http://www.cpan.org/authors/id/S/SU/SULLR/CHECKSUMS
Checksum for /home/pi/.cpan/sources/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz ok
Scanning cache /home/pi/.cpan/build for sizes
Use of uninitialized value $newdir in substitution (s///) at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 350.
Use of uninitialized value $newdir in chdir at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 358.
Use of chdir('') or chdir(undef) as chdir() is deprecated at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 358.
Use of uninitialized value $newdir in pattern match (m//) at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 373.
Use of uninitialized value $newdir in split at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 379.
DONE
Uncompressed /home/pi/.cpan/sources/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz successfully
Using Tar:/bin/tar xf "IO-Socket-SSL-2.066.tar":
Couldn't untar IO-Socket-SSL-2.066.tar: 'Cannot allocate memory'
'YAML' not installed, will not store persistent state
SULLR/IO-Socket-SSL-2.066.tar.gz
Had problems unarchiving. Please build manually
Failed during this command:
SULLR/IO-Socket-SSL-2.066.tar.gz : unwrapped NO -- untar failed
Im Voraus vielen Dank für nen kleinen Hinweis.
Benutzt hier zufällig jemand Pi-Hole auf seinem Rasperry Pi 3 mit Jessy ?
Nachdem ich auch diese Telegram Probleme hatte habe ich auch updat und upgrade und cpan gemacht.
Danach lief Telegram wieder ohne Probleme.
Nach dem Abschalten aller Geräte wegen Gewitterwarnung und anschließendem Neustart machten einige Geräte Probleme.
Der Pi kommt nun gar nicht mehr ins Internet, meine FritzBoxen musste ich wieder zurück auf den Standard DNS stellen.
Wenn ich unter FHEM check update mache, erhalte ich das hier :
Downloading https://fhem.de/fhemupdate/controls_fhem.txt
fhem
https://fhem.de/fhemupdate/controls_fhem.txt: Can't connect(1) to https://fhem.de:443: IO::Socket::INET: Bad hostname 'fhem.de:443'
Downloading https://raw.githubusercontent.com/uniqueck/fhem-abfall/master/controls_fhemabfall.txt
fhemabfall
https://raw.githubusercontent.com/uniqueck/fhem-abfall/master/controls_fhemabfall.txt: Can't connect(1) to https://raw.githubusercontent.com:443: IO::Socket::INET: Bad hostname 'raw.githubusercontent.com:443'
Von diesem IO::Socket lese ich nun auch hier. Hab ich nun mein System abgeschossen ... ohne Internet wird das schwierig :-\
@Tutti_Bomovski
bis auf
Zitatupgrade IO::Socket::SSL
funktioniert es...
Dann kommt das hier:
...
'YAML' not installed, will not store persistent state
Argument "1.4417_001" isn't numeric in numeric ge (>=) at /usr/share/perl/5.24/C PAN/Distribution.pm line 672.
Configuring S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz with Makefile.PL
Should I do external tests?
These test will detect if there are network problems and fail soft,
so please disable them only if you definitely don't want to have any
network traffic to external sites. [Y/n] y
Checking if your kit is complete...
Looks good
Warning: prerequisite Mozilla::CA 0 not found.
Generating a Unix-style Makefile
Writing Makefile for IO::Socket::SSL
Writing MYMETA.yml and MYMETA.json
SULLR/IO-Socket-SSL-2.066.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz
---- Unsatisfied dependencies detected during ----
---- SULLR/IO-Socket-SSL-2.066.tar.gz ----
Mozilla::CA [requires]
Running install for module 'Mozilla::CA'
Checksum for /home/******/.cpan/sources/authors/id/A/AB/ABH/Mozilla-CA-20180117.ta r.gz ok
Configuring A/AB/ABH/Mozilla-CA-20180117.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Mozilla::CA
Writing MYMETA.yml and MYMETA.json
ABH/Mozilla-CA-20180117.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for A/AB/ABH/Mozilla-CA-20180117.tar.gz
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/share/perl/5.24 /CPAN/Distribution.pm line 2243.
ABH/Mozilla-CA-20180117.tar.gz
make -- NOT OK
SULLR/IO-Socket-SSL-2.066.tar.gz
Has already been unwrapped into directory /home/******/.cpan/build/IO-Socket-SSL -2.066-5qrMdV
SULLR/IO-Socket-SSL-2.066.tar.gz
Has already been prepared
Running make for S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz
Warning: Prerequisite 'Mozilla::CA => 0' for 'SULLR/IO-Socket-SSL-2.066.tar.gz' failed when processing 'ABH/Mozilla-CA-20180117.tar.gz' with 'make => NO'. Conti nuing, but chances to succeed are limited.
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/share/perl/5.24 /CPAN/Distribution.pm line 2243.
SULLR/IO-Socket-SSL-2.066.tar.gz
make -- NOT OK
Failed during this command:
SULLR/IO-Socket-SSL-2.066.tar.gz : make NO
ABH/Mozilla-CA-20180117.tar.gz : make NO
cpan[4]> q
Terminal does not support GetHistory.
Lockfile removed.
******@******:~$ reboot
Failed to set wall message, ignoring: Interactive authentication required.
Failed to reboot system via logind: Interactive authentication required.
Failed to start reboot.target: Interactive authentication required.
See system logs and 'systemctl status reboot.target' for details.
Failed to open /dev/initctl: Keine Berechtigung
Failed to talk to init daemon.
******@******:~$ sudo reboot now
Problem bei mir ist der SSL3 Fehler:
Zitat2020.02.09 22:36:55 3: TelegramBot_Callback telegram: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure from SendIt
2020.02.09 22:36:55 3: TelegramBot_Callback telegram: Reached max retries (ret: NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure) for msg @***** : TEST
P.S.: manuell kann ich die Telegram API von dem Host auf dem Fhem läuft ansprechen...
Zitat von: Loctite am 10 Februar 2020, 22:16:09
Benutzt hier zufällig jemand Pi-Hole auf seinem Rasperry Pi 3 mit Jessy ?
Nachdem ich auch diese Telegram Probleme hatte habe ich auch updat und upgrade und cpan gemacht.
Danach lief Telegram wieder ohne Probleme.
Nach dem Abschalten aller Geräte wegen Gewitterwarnung und anschließendem Neustart machten einige Geräte Probleme.
Der Pi kommt nun gar nicht mehr ins Internet, meine FritzBoxen musste ich wieder zurück auf den Standard DNS stellen.
Wenn ich unter FHEM check update mache, erhalte ich das hier :
Downloading https://fhem.de/fhemupdate/controls_fhem.txt
fhem
https://fhem.de/fhemupdate/controls_fhem.txt: Can't connect(1) to https://fhem.de:443: IO::Socket::INET: Bad hostname 'fhem.de:443'
Downloading https://raw.githubusercontent.com/uniqueck/fhem-abfall/master/controls_fhemabfall.txt
fhemabfall
https://raw.githubusercontent.com/uniqueck/fhem-abfall/master/controls_fhemabfall.txt: Can't connect(1) to https://raw.githubusercontent.com:443: IO::Socket::INET: Bad hostname 'raw.githubusercontent.com:443'
Von diesem IO::Socket lese ich nun auch hier. Hab ich nun mein System abgeschossen ... ohne Internet wird das schwierig :-\
Nach meinem Verständnis hast Du vermutlich ein Problem mit Deinem pi-hole. Dieser scheint die DNS-Anfragen nachwievor zu bekommen und zu blockieren (also falsche Addressen zurückzuliefern). Das sollte aber nichts mit Telegram zu tun haben.
Ich habe ein älteres Image benutzt, hier auch dieses cpan aber nur so wie es im Telegram Wiki steht ausgeführt.
Der zweite Teil war jetzt für mich als nicht so guten Linux Anwender nicht so eindeutig, da er nur mit "IO::Socket::SSL 2.002 -> 2.066" dort aufgeführt wird.
Der Befehl lautet ja "update IO::Socket::SSL" ? Wäre vielleicht nicht schlecht wenn das jemand ändern könnte...wenn das denn so richtig ist.
Hier im Beitrag irgend wo in der Nähe von Seite 154 war der cpan Befehl anders und hat extrem lange gedauert. In meinem Fall kann das eigentlich nur daran liegen, da ich sonst nichts verändert hatte.
Zumindest Telegram funktioniert, Pi-Hole hatte ich zu dem Zeitpunkt als ich das Image machte noch nicht, also ist das auch jetzt nicht in Betrieb.
Nun funktioniert Alexa aber nicht mehr.
Das Image habe ich damals erstellt als Alexa definitiv funktioniert hat. Ich hatte das schon mal verwendet wegen einer defekten SD Karte.
Leider steht im Alexa Gerät alles so wie es sein sollte. SSH connect und running...
Ich denke ich werde direkt auf Raspbian Buster wechseln. Damit sollte das hier genannte Problem erst gar nicht auftauchen.
Zitat von: münster am 10 Februar 2020, 20:25:47
Hat vielleicht noch Jemand eine Idee was man machen müsste um die Meldung "Cannot allocate Memory" beim aktualisieren von IO-Socket-SSL
upgrade IO::Socket::SSL
los wird?
Speicherplatz an sich ist aus meiner Sicht verfügbar. Oder interpretiere ich die Meldung falsch. Hab irgendwo auch hier gelesen dass man im Ordner archive Dateien löschen sollte.
Hier meine Meldung:
cpan[6]> upgrade IO::Socket::SSL
Reading '/home/pi/.cpan/Metadata'
Database was generated on Sun, 09 Feb 2020 18:17:03 GMT
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/home/pi/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/home/pi/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Mon, 10 Feb 2020 17:41:02 GMT
.............
New CPAN.pm version (v2.27) available.
[Currently running version is v2.05]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.
...............................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/home/pi/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /home/pi/.cpan/Metadata
Package namespace installed latest in CPAN file
IO::Socket::SSL 2.002 2.066 SULLR/IO-Socket-SSL-2.066.tar.gz
Running install for module 'IO::Socket::SSL'
Fetching with LWP:
http://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz
Fetching with LWP:
http://www.cpan.org/authors/id/S/SU/SULLR/CHECKSUMS
Checksum for /home/pi/.cpan/sources/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz ok
Scanning cache /home/pi/.cpan/build for sizes
Use of uninitialized value $newdir in substitution (s///) at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 350.
Use of uninitialized value $newdir in chdir at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 358.
Use of chdir('') or chdir(undef) as chdir() is deprecated at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 358.
Use of uninitialized value $newdir in pattern match (m//) at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 373.
Use of uninitialized value $newdir in split at /usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm line 379.
DONE
Uncompressed /home/pi/.cpan/sources/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz successfully
Using Tar:/bin/tar xf "IO-Socket-SSL-2.066.tar":
Couldn't untar IO-Socket-SSL-2.066.tar: 'Cannot allocate memory'
'YAML' not installed, will not store persistent state
SULLR/IO-Socket-SSL-2.066.tar.gz
Had problems unarchiving. Please build manually
Failed during this command:
SULLR/IO-Socket-SSL-2.066.tar.gz : unwrapped NO -- untar failed
Im Voraus vielen Dank für nen kleinen Hinweis.
fhem auf raspberry? Dann alle Dienste stoppen. Insbesondere fhem, homebridge usw. Danach sollte der rPi genug Speicher haben, um das "untar" (entpacken) machen zu können.
Zitat von: spel am 10 Februar 2020, 22:26:30
@Tutti_Bomovski
bis auf funktioniert es...
Dann kommt das hier:
...
'YAML' not installed, will not store persistent state
Argument "1.4417_001" isn't numeric in numeric ge (>=) at /usr/share/perl/5.24/C PAN/Distribution.pm line 672.
Configuring S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz with Makefile.PL
Should I do external tests?
These test will detect if there are network problems and fail soft,
so please disable them only if you definitely don't want to have any
network traffic to external sites. [Y/n] y
Checking if your kit is complete...
Looks good
Warning: prerequisite Mozilla::CA 0 not found.
Generating a Unix-style Makefile
Writing Makefile for IO::Socket::SSL
Writing MYMETA.yml and MYMETA.json
SULLR/IO-Socket-SSL-2.066.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz
---- Unsatisfied dependencies detected during ----
---- SULLR/IO-Socket-SSL-2.066.tar.gz ----
Mozilla::CA [requires]
Running install for module 'Mozilla::CA'
Checksum for /home/******/.cpan/sources/authors/id/A/AB/ABH/Mozilla-CA-20180117.ta r.gz ok
Configuring A/AB/ABH/Mozilla-CA-20180117.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Mozilla::CA
Writing MYMETA.yml and MYMETA.json
ABH/Mozilla-CA-20180117.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for A/AB/ABH/Mozilla-CA-20180117.tar.gz
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/share/perl/5.24 /CPAN/Distribution.pm line 2243.
ABH/Mozilla-CA-20180117.tar.gz
make -- NOT OK
SULLR/IO-Socket-SSL-2.066.tar.gz
Has already been unwrapped into directory /home/******/.cpan/build/IO-Socket-SSL -2.066-5qrMdV
SULLR/IO-Socket-SSL-2.066.tar.gz
Has already been prepared
Running make for S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz
Warning: Prerequisite 'Mozilla::CA => 0' for 'SULLR/IO-Socket-SSL-2.066.tar.gz' failed when processing 'ABH/Mozilla-CA-20180117.tar.gz' with 'make => NO'. Conti nuing, but chances to succeed are limited.
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/share/perl/5.24 /CPAN/Distribution.pm line 2243.
SULLR/IO-Socket-SSL-2.066.tar.gz
make -- NOT OK
Failed during this command:
SULLR/IO-Socket-SSL-2.066.tar.gz : make NO
ABH/Mozilla-CA-20180117.tar.gz : make NO
cpan[4]> q
Terminal does not support GetHistory.
Lockfile removed.
******@******:~$ reboot
Failed to set wall message, ignoring: Interactive authentication required.
Failed to reboot system via logind: Interactive authentication required.
Failed to start reboot.target: Interactive authentication required.
See system logs and 'systemctl status reboot.target' for details.
Failed to open /dev/initctl: Keine Berechtigung
Failed to talk to init daemon.
******@******:~$ sudo reboot now
Problem bei mir ist der SSL3 Fehler:
P.S.: manuell kann ich die Telegram API von dem Host auf dem Fhem läuft ansprechen...
Sieht für mich nach Problem mit Benutzerrechten aus. sudo vorangestellt?
Zitat
Sieht für mich nach Problem mit Benutzerrechten aus. sudo vorangestellt?
Ja, weiss da wer weiter!?
Zitat von: PingPong am 10 Februar 2020, 16:15:25
Hallo zusammen,
hat jemand schonmal Daten aus verschiedenen Readings als Tabelle verschickt?
Leider bekomme ich das nicht hin.
Dachte über den Parameter "parseModeSend" gäbe es da Möglichkeiten, allerdings bekomme ich es leider nicht hin :-(
Jemand Ideen?
VG
Marc
Hallo,
So etwas ähnliches habe ich auch vor. In der api von telegram habe ich gesehen das html Code möglich ist. Ich möchte ein bild verschicken das einen hyperlink enthält. Sowohl der bildname (kommt immer aus dem selben Ordner) wie auch das Ziel des links sind eigentlich immer gleich.
Wie könnte ich das bauen?
Gruß
Jan
Zitat von: Tutti_Bomovski am 10 Februar 2020, 14:24:30
Bei mir gab es auch das Problem. Nutze Jessie... :-/
Mit folgendem Code hat es dann wieder funktioniert.
sudo cpan <enter>
upgrade net::SSLeay<enter>
upgrade Crypt::SSLeay<enter>
upgrade IO::Socket::SSL<enter>
reboot
Danke dafür - bei mir hatte noch "make" gefehlt.
sudo apt-get install make.
Fluppt nun wieder
Zitatsudo apt-get install make
Das fehlte! Danke!
Vielen dank!
Hat bei mir mit
sudo cpan <enter> (cpan musste vorher automatisch konfiguriert werden)
upgrade net::SSLeay<enter> >>> OK
upgrade Crypt::SSLeay<enter> >>> nichts upgedatet da im vorherigen Schritt anscheinend schon gemacht
upgrade IO::Socket::SSL<enter> >>> OK
exit
sudo reboot now
funktioniert! Keine Hänger oder sonst was.
Hallo,
bei mir hat ein Updated der perl Module "IO::Socket::SSL" und "Net::SSLeay" geholfen. Anscheinend unterstützt der Telegram Server kein sslv3 mehr.
Gibt es eine Möglicheit Zahlen in Telegram nicht als Link dargestellt zu bekommen?
Mit backquote vorne?
Zitat von: amenomade am 22 März 2020, 20:40:47
Mit backquote vorne?
Du meinst dieses Zeichen? `
Was meinst du mit vorne?
Ich habe es jetzt vor der Zahl eingefügt. Jeodch wird es mir dann in der Nachricht lediglich als Tet ausgegeben.
Dann habe ich die Zahl "eingeqoutet", wie ich hier gelesen habe: https://linuxwiki.de/Backquote
Half auch nicht.
Hast Du mal versucht die Lösung als HTML und dann mit Code zu versenden:
https://stackoverflow.com/questions/50389855/telegram-messages-from-bot-or-manual-how-to-avoid-numbers-becoming-links-on-mo (https://stackoverflow.com/questions/50389855/telegram-messages-from-bot-or-manual-how-to-avoid-numbers-becoming-links-on-mo)
Also so etwas wie
<code>1234567</code>
im parseMode HTML?
Hallo.
Ein ähnliches Thema gab es hier damals schon (Post #2010). Ich hatte mal anhand versch. Smartphones Unterschiede in den Clients dargestellt (https://forum.fhem.de/index.php/topic,38328.msg871878.html#msg871878 (https://forum.fhem.de/index.php/topic,38328.msg871878.html#msg871878)).
Telegram aus dem Playstore unter Android 7 macht bei mir Zahlen nur dann zum Link, wenn ich +49 davor setze. Und nur dann.
Unter LineageOS (Andro 9) und Telegram vom F-Droid dagegen zeigt es die meisten Zahlen als Link (analog unter iOS).
Man muss unterscheiden in lange Zahlen, wo das Phänomen überwiegend auftritt, und kurze Zahlen.
Der einzige mir bekannte Fall, wo aus langen Zahlen zuverlässig kein Link wird: ein + davor. Richtig nützlich ist das natürlich nicht.
z.B. set myTelegramBot msg +0123456
Kurze Zahlen werden bei keiner meiner Telegram-Varianten zum Link. Kurz heißt: zweistellig ohne Komma (12) oder einstellig mit einer Nachkommastelle (7.9). Mehr Stellen = lange Zahl = als Link bei einigen Clients.
Mein Fazit: Wird vom Client gesteuert und ist derzeit noch nicht wirklich beeinflussbar. Vielleicht ist es aber schon überholt ;)
Viele Grüße
rob
Zitat von: viegener am 23 März 2020, 18:27:03
Hast Du mal versucht die Lösung als HTML und dann mit Code zu versenden:
https://stackoverflow.com/questions/50389855/telegram-messages-from-bot-or-manual-how-to-avoid-numbers-becoming-links-on-mo (https://stackoverflow.com/questions/50389855/telegram-messages-from-bot-or-manual-how-to-avoid-numbers-becoming-links-on-mo)
Sowas hab ich ja per Google vergeblich gesucht.
Klappt wunderbar. Danke. Jedoch scheinen jetzt die Ziffern eine andere Schriftart zu haben als voher?!
Gruß
Christian
Zitat von: chr2k am 25 März 2020, 22:44:49
Klappt wunderbar.
Also ist es doch bereits steuerbar. Gut zu wissen. :)
Weitere Infos unter https://sourceforge.net/p/telegram-bot/wiki/markdown_syntax/#md_ex_text (https://sourceforge.net/p/telegram-bot/wiki/markdown_syntax/#md_ex_text) und https://stackoverflow.com/questions/38119481/send-bold-italic-text-on-telegram-bot-with-html (https://stackoverflow.com/questions/38119481/send-bold-italic-text-on-telegram-bot-with-html) werde mir jetzt mal in Ruhe anschauen.
Danke und viele Grüße
rob
Was auch geht im ParseMode HTML ist:
<pre>56789</pre>
Gruß Rainer
Halo zusammen,
vielleicht stand es hier schon irgendwo und/oder ich habe es überlesen. Aber ich glaube, ich habe noch einen Bug gefunden: ???
Ich bekomme es nicht hin, in einem at-Kommando eine Nachricht mit HTML oder Markdown zu formatieren.
Es funktioniert sowohl in einem DOIF als auch direkt in der Telegram Bot Instanz ausgeführt.
Als "parseModeSend" habe ich "3_InMsg" ausgewählt.
Hat irgendjemand ein lauffähiges Beispiel für mich?
Danke und frohe Ostertage.
Gruß Rainer
Zitat von: dora71 am 11 April 2020, 23:10:40
Halo zusammen,
vielleicht stand es hier schon irgendwo und/oder ich habe es überlesen. Aber ich glaube, ich habe noch einen Bug gefunden: ???
Ich bekomme es nicht hin, in einem at-Kommando eine Nachricht mit HTML oder Markdown zu formatieren.
Es funktioniert sowohl in einem DOIF als auch direkt in der Telegram Bot Instanz ausgeführt.
Als "parseModeSend" habe ich "3_InMsg" ausgewählt.
Hat irgendjemand ein lauffähiges Beispiel für mich?
Danke und frohe Ostertage.
Gruß Rainer
Damit ich einen potentiellen Bug lösen kann, müsste ich wissen was nicht funktioniert. Also kannst Du ein Beispiel geben, was nicht funktioniert?
Zitat von: viegener am 12 April 2020, 00:17:00
Damit ich einen potentiellen Bug lösen kann, müsste ich wissen was nicht funktioniert. Also kannst Du ein Beispiel geben, was nicht funktioniert?
Ich versuche, das mal zu konkretisieren. Wie ich bereits schrieb, habe ich in der Telegram Instanz als "parseModeSend" "3_InMsg" ausgewählt.
Was jetzt
nicht funktioniert, ist:
define beispiel at 07:30:00 set teleBot message Markdown *Fetter Text*
oder
define beispiel at 07:30:00 set teleBot message HTML <b>Fetter Text</b>
Was hingegen funktioniert, ist:
define gutesbeispiel DOIF ([07:30]) (set teleBot message HTML <b>Fetter Text</b>)
Hoffe, die Erklärung reicht so.
Gruß Rainer
Zitat von: dora71 am 12 April 2020, 09:52:13
Ich versuche, das mal zu konkretisieren. Wie ich bereits schrieb, habe ich in der Telegram Instanz als "parseModeSend" "3_InMsg" ausgewählt.
Was jetzt nicht funktioniert, ist:
define beispiel at 07:30:00 set teleBot message Markdown *Fetter Text*
oder
define beispiel at 07:30:00 set teleBot message HTML <b>Fetter Text</b>
Was hingegen funktioniert, ist:
define gutesbeispiel DOIF ([07:30]) (set teleBot message HTML <b>Fetter Text</b>)
Hoffe, die Erklärung reicht so.
Gruß Rainer
Nein leider nicht, denn beide Beispiel funktionieren bei mir problemlos und erzeugen das erwartete Ergebnis (ohne log meldung, ohne Warnung, weder bei Ausführung noch beim define).
Also wäre es gut zu sagen was nicht funktioniert? Generell wenn etwas in DOIF geht und in at nicht, ist die Vermutung ja erstmal, dass es an Besonderheiten von at liegen könnte. Aber wie gesagt es funktioniert bei mir und es ist auch nicht klar, was in diesem Fall nicht funktionieren
Hallo nochmal,
habe noch mal ein wenig tiefer gegraben und herausgefunden, dass wohl ein Zeilenumbruch das Übel ausmacht:
Gebe ich in der Definition eines ATs z. B. folgendes ein:
*19:45:00 set teleBot message Markdown *Test mit Fettschrift:*
Luftdruck: bla
erscheint in Telegram folgendes:
Markdown *Test mit Fettschrift:*
Luftdruck: bla
Arbeite ich in der Definition anstatt mit dem Zeilenumbruch mit "\n" und schreibe alles hintereinander weg, funktioniert es mit der Fettschrift wie gewünscht. So hätte ich wenigstens einen Weg mit AT zu arbeiten.
Sollte die Erklärung immer noch nicht reichen, noch mal melden. Kein Problem. Und danke für das schnelle Kontrollieren.
Im Logbuch tauchen bei mir auch keine Fehler auf. Auch nicht beim define oder bei der Ausführung.
Gruß Rainer
Zitat von: dora71 am 12 April 2020, 19:51:59
Hallo nochmal,
habe noch mal ein wenig tiefer gegraben und herausgefunden, dass wohl ein Zeilenumbruch das Übel ausmacht:
Gebe ich in der Definition eines ATs z. B. folgendes ein:
*19:45:00 set teleBot message Markdown *Test mit Fettschrift:*
Luftdruck: bla
erscheint in Telegram folgendes:
Markdown *Test mit Fettschrift:*
Luftdruck: bla
Arbeite ich in der Definition anstatt mit dem Zeilenumbruch mit "\n" und schreibe alles hintereinander weg, funktioniert es mit der Fettschrift wie gewünscht. So hätte ich wenigstens einen Weg mit AT zu arbeiten.
Sollte die Erklärung immer noch nicht reichen, noch mal melden. Kein Problem. Und danke für das schnelle Kontrollieren.
Im Logbuch tauchen bei mir auch keine Fehler auf. Auch nicht beim define oder bei der Ausführung.
Gruß Rainer
Ja Du hast völlig recht - habs korrigiert und neues telegramBot-MOdul sollte ab morgen im update verfügbar sein
Danke fürs finden!
Manchmal muss man nur hartnäckig bleiben, sowohl als Entwickler als auch als User 8)
Danke für's schnelle fixen.
Gruß Rainer
Hallo zusammen,
habe gerade auch noch ein kleines Problem das ich als Laie suche und mir nicht erklären kann. Und zwar kann ich manchmal den Empfänger nicht angeben, bzw. der wird nicht korrekt geparst. Folgenden Codeschnipsel habe ich in einer Datei ausgelagert:
# Texte um nette Satusmeldungen im Log und per Telegram auszugeben
my $text_Pumpenstatus = "neuer Status der Tiefbrunnenpumpe ist: ";
# Festlegung wie eine Nachricht ans Handy verschickt wird
my $send_msg = "set Haus_bot message \@-38xxxxxxx";
#########################################################################
# ab hier nichts mehr anpassen
#########################################################################
# Pumpe anschalten
fhem ("set Garten_Tiefbrunnenpumpe_MQTT2 on");
# Info an Handy schicken
fhem ($send_msg." ".$text_Pumpe_an);
# 3sec danach eine Info zum neuen Status der Pumpe ans Handy schicken und ins Log schreiben
# fhem (define mein_Name at +00:00:03 {Perlcode});
# jegliche Sonderzeichen im inneren Perlcode müssen escaped werden
fhem ("define Brunnenpumpe_Statusmeldung at +00:00:03 {fhem (\"$send_msg $text_Pumpenstatus [Garten_Tiefbrunnenpumpe_MQTT2:POWER]\");;Log3 (undef, 3, \"$text_Pumpenstatus\".ReadingsVal(\"Garten_Tiefbrunnenpumpe_MQTT2\",\"POWER\",\"\"))}");
Hierbei ist es so, dass die erste Nachricht
fhem ($send_msg." ".$text_Pumpe_an);
am richtigen Handy korrekt ankommt. Die zweite Nachricht die 3sec später über das gekapselte define/at verschickt wird
[...]fhem ("define xyz at +00:00:03 {fhem (\"$send_msg $text_Pumpenstatus\")[...]
kommt allerdings
a) beim default Empfänger an (und nicht dem übergebenen)
b) und enthält im empfangenen Text die ChatID als erstes mit einer führenden Null als Text, d.h. die empfangene Textnachricht auf dem default Empfänger sieht so aus
038xxxxxxx neuer Status der Tiefbrunennpumpe ist: OFF
Wie kann/muss ich die Nachricht/den Empfänger verpacken damit es korrekt übergeben werden kann?
Und wenn wir dabei sind: gibt es eine Chance einzelne Perl Befehle in der TelegramBot zugehörigen allowedCommands Instanz zu erlauben statt generell alle perl Befehle? Konkret: meine Befehle aus einer/meinen Datei erlauben (z.B. Pumpe_anschalten ()), aber bitte nicht komplett Perl? Wie macht man das richtig?
Gruß, Robert
Zitat von: Betonklotz am 03 Mai 2020, 13:43:24
...
my $send_msg = "set Haus_bot message \@-38xxxxxxx";
Wie kann/muss ich die Nachricht/den Empfänger verpacken damit es korrekt übergeben werden kann?
Muss hier ggf. mit doppeltem Backslash gearbeitet werden, da du das ja nochmal in ein DEF verpackst?
Zitat von: Ralli am 03 Mai 2020, 18:46:06
Muss hier ggf. mit doppeltem Backslash gearbeitet werden, da du das ja nochmal in ein DEF verpackst?
Leider nein.
a) die normalen Nachrichten (also fhem ($send_msg." ".$text_Pumpe_an);) bekommen dann ein "\Chat ID" voran ==> ok, könnte man lösen indem man zwei Variabeln definiert um das zu fixen
b) aber zusätzlich schneidet er in der zweiten Nachricht die 3sec später über das gekapselte define/at gesendet wird die erste Zeiffer weg, d.h.
8xxxxxxx neuer Status der Tiefbrunennpumpe ist: OFF
wird dann übermittelt. zudem gibt es eine Warnung im FHEM Logfile
PERL WARNING: '\038' resolved to '\o{3}8' at (eval 184326) line 1.
eval: {fhem ("set Haus_bot message \038xxxxxxx neuer Status der Tiefbrunnenpumpe ist: [...]
Es scheint also so, als ob irgendwo im Modul eine Filterung/Kürzung stattfindet die sicher snnvoll ist, hier in meinem Fall aber unnötig zuschlägt...
Gruß, Robert
Zitat von: Betonklotz am 04 Mai 2020, 07:33:45
Leider nein.
a) die normalen Nachrichten (also fhem ($send_msg." ".$text_Pumpe_an);) bekommen dann ein "\Chat ID" voran ==> ok, könnte man lösen indem man zwei Variabeln definiert um das zu fixen
b) aber zusätzlich schneidet er in der zweiten Nachricht die 3sec später über das gekapselte define/at gesendet wird die erste Zeiffer weg, d.h.
8xxxxxxx neuer Status der Tiefbrunennpumpe ist: OFF
wird dann übermittelt. zudem gibt es eine Warnung im FHEM Logfile
PERL WARNING: '\038' resolved to '\o{3}8' at (eval 184326) line 1.
eval: {fhem ("set Haus_bot message \038xxxxxxx neuer Status der Tiefbrunnenpumpe ist: [...]
Es scheint also so, als ob irgendwo im Modul eine Filterung/Kürzung stattfindet die sicher snnvoll ist, hier in meinem Fall aber unnötig zuschlägt...
Gruß, Robert
Nein, das hat mit dem Modul erstmal gar nichts zu tun - das Problem ist genau die komplexe Abfolge von Anführungszeichen und \ - Der Hinweis von Ralli ar schon richtig.
Das Problem ist durch Deine Routine landet folgender Befehl in der Definition des at:
{fhem ("set Haus_bot message @-38xxxxxxx ....
Dabei wird bei der Ausführung von perl das @... versucht zu interpretieren und das geht natürlich nicht, denn es ist kein array
Also wäre mein Vorschlag an geeigneten Stellen das " durch ' zu ersetzen, dann ist es zwar auch nicht einfacher zu lesen, aber sicherer als ganz viele \
Mit anderen Worten die letzte Zeile durch folgendes ersetzen:
fhem ("define Brunnenpumpe_Statusmeldung at +00:00:03 {fhem ('$send_msg $text_Pumpenstatus [Garten_Tiefbrunnenpumpe_MQTT2:POWER]');;Log3 (undef, 3, \"$text_Pumpenstatus\".ReadingsVal(\"Garten_Tiefbrunnenpumpe_MQTT2\",\"POWER\",\"\"))}");
Dann wird nach der ersten ersetzung der Variablen (aussen stehen ja ") die innen stehenden @ und sonstigen Variablen in diesem Teil nicht ersetzt und es sollte gehen.
Weiterer Hinweis: über den selben Mechanismus könntest Du auch die konstrukte \"Power\" durch 'Power' ersetzen was das ganze noch etwas lesbarer macht.
Hallo,
habe die einfachen Anführungszeichen einfach mal ausprobiert und die vorher auch schon mal als Tipp erhalten, leider bringt das keine Besserung
'$send_msg $text_Pumpenstatus [Garten_Tiefbrunnenpumpe_MQTT2:POWER]'
Habe die Texte und Empfänger jetzt hartcodiert und es funktioniert. Mach dir keinen Kopf darum.
Aber hast du evtl. auch einen Tipp für die zweite Frage, also
Und wenn wir dabei sind: gibt es eine Chance einzelne Perl Befehle in der TelegramBot zugehörigen allowedCommands Instanz zu erlauben statt generell alle perl Befehle? Konkret: meine Befehle aus einer/meinen Datei erlauben (z.B. Pumpe_anschalten ()), aber bitte nicht komplett Perl? Wie macht man das richtig?
Da habe ich derzeit eine riesen Sicherheitslücke, da ich generell "perl" erlauben musste :-( Hintergrund: die Pumpe wird aktuell nur per Perl geschaltet.
Gruß, Robert
Zitat von: Betonklotz am 05 Mai 2020, 08:06:00
Hallo,
habe die einfachen Anführungszeichen einfach mal ausprobiert und die vorher auch schon mal als Tipp erhalten, leider bringt das keine Besserung
'$send_msg $text_Pumpenstatus [Garten_Tiefbrunnenpumpe_MQTT2:POWER]'
Habe die Texte und Empfänger jetzt hartcodiert und es funktioniert. Mach dir keinen Kopf darum.
Aber hast du evtl. auch einen Tipp für die zweite Frage, also
Und wenn wir dabei sind: gibt es eine Chance einzelne Perl Befehle in der TelegramBot zugehörigen allowedCommands Instanz zu erlauben statt generell alle perl Befehle? Konkret: meine Befehle aus einer/meinen Datei erlauben (z.B. Pumpe_anschalten ()), aber bitte nicht komplett Perl? Wie macht man das richtig?
Da habe ich derzeit eine riesen Sicherheitslücke, da ich generell "perl" erlauben musste :-( Hintergrund: die Pumpe wird aktuell nur per Perl geschaltet.
Gruß, Robert
Ich habe Deine Routine bei mir exakt mit meinen Daten nachgestellt um die Lösung für Dich zu erarbeiten. Vorher ging es nicht danach schon, damit vermute ich, dass irgendein anderes Problem vorliegt.
Nein eine Möglichkeit einzelne perlbefehle zu erlauben und andere nicht wäre technisch schon kaum möglich. Hast Du mal versucht über
cmdalias die perlnbefehle zu richtigen Kommandos zu machen?
Bezüglich Sicherheit - allowedcommands ist sicher KEIN Sicherheitsmechanismus, sondern eher als Beschränkung für Flüchtigkeitsfehler durch weniger erfahrene Nutzer gedacht. Eine Absicherung MUSS mindestens die Restriktion der erlaubten Benutzer auf wenige umfassen. Aber wenn Sicherheit ein reales Thema ist, sollte per Telegram kein Zugriff zur Ausführung erlaubt werden.
Hallo,
hmmm, keine Ahnung was dann bei mir los ist. Glücklicherweise läuft es mit den hartcodierten Werten. Trotzdem vielen Dank für deine Mühen.
Zitat von: viegener am 05 Mai 2020, 16:18:13
Hast Du mal versucht über cmdalias die perlnbefehle zu richtigen Kommandos zu machen?
Nein, das hört sich aber nach einer guten Möglichkeit an. Probiere ich am Wochenende mal aus.
Zitat von: viegener am 05 Mai 2020, 16:18:13
Bezüglich Sicherheit - allowedcommands ist sicher KEIN Sicherheitsmechanismus, sondern eher als Beschränkung für Flüchtigkeitsfehler durch weniger erfahrene Nutzer gedacht. Eine Absicherung MUSS mindestens die Restriktion der erlaubten Benutzer auf wenige umfassen. Aber wenn Sicherheit ein reales Thema ist, sollte per Telegram kein Zugriff zur Ausführung erlaubt werden.
Die Beschränkung auf Nutzer ist (natürlich) drin und im Grunde nutze ich nur die "Favoriten", also gebe keine Befehle selber ein. Trotzdem: ich habe extra Homematic und FHEM als System gewählt (und überall AES aktiviert), weil ich eben nicht möchte, dass jemand meine Heizung verstellt (oder schlimmeres), alles ganz toll über die Cloud eines Drittanbieters geht o.ä. Das jemand auch bei AES mitlesen kann was ich so über den Äther schicke ist ja ok, aber halt nichts schalten...
Dementsprechend wollte ich auch bei einer Fernsteuerung über Telegram das Maximum an Sicherheit rausholen und so viele Hürden wie möglich einbauen.
Gruß, Robert
Zwar OT aber weil du es schreibst: AES bei Homematic aber hoffentlich mit eigenem Schlüssel!?
Weil sonst "nutzlos"... ;)
Gruß, Joachim
Zitat von: Loctite am 11 Februar 2020, 16:51:26
Ich denke ich werde direkt auf Raspbian Buster wechseln. Damit sollte das hier genannte Problem erst gar nicht auftauchen.
leider doch. heute update gemacht, und telegram steht still. echt ärgerlich....
Gesendet mit Tapatalk
Hallo zusammen,
seit kurzem ist mein FHEM via Telegram "so schweigsam".
Im Logfile fand ich dann diese Meldung:
2020.05.16 12:28:35 3: TelegramBot_SendIt myTelegramBot: Failed with :FAILED peer not found :mein_name::
ich musste mich mit dem telegram bot erst wieder bekannt machen, indem ich ihm eine Nachricht sende. Danach wurden Meldungen wieder übertragen. Warum verliert er das irgendwann? Wie kann ich das konsistent speichern?
Gruß
Jan
Zitat von: stratege-0815 am 16 Mai 2020, 12:40:53
Im Logfile fand ich dann diese Meldung:
2020.05.16 12:28:35 3: TelegramBot_SendIt myTelegramBot: Failed with :FAILED peer not found :mein_name::
ich musste mich mit dem telegram bot erst wieder bekannt machen, indem ich ihm eine Nachricht sende. Danach wurden Meldungen wieder übertragen. Warum verliert er das irgendwann? Wie kann ich das konsistent speichern?
Diese oder eine ähnliche Meldung hatte ich im Log bei der Inbetriebnahme von Telegram (vor 2 Jahren ?!) ebenfalls. Besonders nach einem Neustart von FHEM waren die Kontakte weg, also musste ich "allowUnknownContacts" erst wieder auf "1" stellen, eine Nachricht schicken und dann ging es wieder.
Ich umgehe das Problem seither mit einem Notify, dass beim Start von FHEM ausgeführt wird und die Kontakte setzt. Seither (~2 Jahre) ist es stabil.
global:INITIALIZED {
fhem("setreading Telegram Contacts 123456789:Vorname1_Nachname1: 987654321:Vorname2_Nachname2:");
}
Zitat von: stratege-0815 am 16 Mai 2020, 12:40:53
Hallo zusammen,
seit kurzem ist mein FHEM via Telegram "so schweigsam".
Im Logfile fand ich dann diese Meldung:
2020.05.16 12:28:35 3: TelegramBot_SendIt myTelegramBot: Failed with :FAILED peer not found :mein_name::
ich musste mich mit dem telegram bot erst wieder bekannt machen, indem ich ihm eine Nachricht sende. Danach wurden Meldungen wieder übertragen. Warum verliert er das irgendwann? Wie kann ich das konsistent speichern?
Gruß
Jan
Die kontakte sind ein reading, das wie andere readings beim save mitgespeichert wird und bei. Neustart auch wieder gesetzt wird. Wenn sich nichts verändert reicht es also einmal zu speichern nachdem die kontakte bekannt sind.
Alternativ kann man die kontake aber auch über die set funktion manuell setzen
Hinweis: ich empfehle eher die verwendung der kontaktid als die verwendung des namens, da mir nicht bekannt ist, ob telegram hier eindeutigkeit sicherstellt.
Alles klar, vielen Dank. Werde ich so anpassen.
Hallo viegener,
hat ewig gedauert weil ich noch alles andere um die Ohren hatte:
Zitat von: viegener am 05 Mai 2020, 16:18:13
Hast Du mal versucht über cmdalias die perlnbefehle zu richtigen Kommandos zu machen?
funktioniert leider nicht.
define c_Tiefbrunnenpumpe_an cmdalias Tiefbrunnenpumpe_an AS {Tiefbrunnenpumpe_schalten ("an")}
allowedCommands tiefbrunnenpumpe_an, tiefbrunnenpumpe_aus, [...]
führt zu einem
2020.05.17 08:53:32 3: Forbidden command perl for Haus_bot
2020.05.17 08:53:32 1: stacktrace:
2020.05.17 08:53:32 1: main::allowed_Authorize called by fhem.pl (3775)
2020.05.17 08:53:32 1: main::CallFn called by fhem.pl (5632)
2020.05.17 08:53:32 1: main::Authorized called by fhem.pl (1115)
2020.05.17 08:53:32 1: main::AnalyzePerlCommand called by fhem.pl (1171)
2020.05.17 08:53:32 1: main::AnalyzeCommand called by fhem.pl (1100)
2020.05.17 08:53:32 1: main::AnalyzeCommandChain called by ./FHEM/98_cmdalias.pm (92)
2020.05.17 08:53:32 1: main::CommandCmdAlias called by fhem.pl (1247)
2020.05.17 08:53:32 1: main::AnalyzeCommand called by fhem.pl (1100)
2020.05.17 08:53:32 1: main::AnalyzeCommandChain called by ./FHEM/50_TelegramBot.pm (1427)
2020.05.17 08:53:32 1: main::TelegramBot_ExecuteCommand called by ./FHEM/50_TelegramBot.pm (1260)
2020.05.17 08:53:32 1: main::TelegramBot_SendFavorites called by ./FHEM/50_TelegramBot.pm (1574)
2020.05.17 08:53:32 1: main::Telegram_HandleCommandInMessages called by ./FHEM/50_TelegramBot.pm (2603)
2020.05.17 08:53:32 1: main::TelegramBot_ParseMsg called by ./FHEM/50_TelegramBot.pm (2281)
2020.05.17 08:53:32 1: main::TelegramBot_Callback called by FHEM/HttpUtils.pm (634)
2020.05.17 08:53:32 1: main::__ANON__ called by fhem.pl (754)
2020.05.17 08:53:32 3: TelegramBot_ExecuteCommand Haus_bot: cmd executed :Tiefbrunnenpumpe_an: --> :Forbidden command {Tiefbrunnenpumpe_schalten ("an")}.:
Werde also wohl oder übel über ein Notify und dummy o.ä. Konstrukt gehen müssen. Schade, wäre so m.E. deutlich einfacher und eleganter.
Schönes WE,
Robert
Zitat von: Betonklotz am 17 Mai 2020, 09:00:47
define c_Tiefbrunnenpumpe_an cmdalias Tiefbrunnenpumpe_an AS {Tiefbrunnenpumpe_schalten ("an")}
allowedCommands tiefbrunnenpumpe_an, tiefbrunnenpumpe_aus, [...]
Ich weiss nicht, ob das mit Alias funktionieren würde, aber was ich hier sehe kann auf keinen Fall funktionieren
ZitatTiefbrunnenpumpe_an
tiefbrunnenpumpe_an
Zitat von: amenomade am 18 Mai 2020, 02:42:44
Ich weiss nicht, ob das mit Alias funktionieren würde, aber was ich hier sehe kann auf keinen Fall funktionieren
Leider nein, wäre auch zu einfach gewesen:
2020.05.18 11:29:54 3: Forbidden command perl for Haus_bot
2020.05.18 11:29:54 1: stacktrace:
2020.05.18 11:29:54 1: main::allowed_Authorize called by fhem.pl (3775)
2020.05.18 11:29:54 1: main::CallFn called by fhem.pl (5632)
2020.05.18 11:29:54 1: main::Authorized called by fhem.pl (1115)
2020.05.18 11:29:54 1: main::AnalyzePerlCommand called by fhem.pl (1171)
2020.05.18 11:29:54 1: main::AnalyzeCommand called by fhem.pl (1100)
2020.05.18 11:29:54 1: main::AnalyzeCommandChain called by ./FHEM/98_cmdalias.pm (92)
2020.05.18 11:29:54 1: main::CommandCmdAlias called by fhem.pl (1247)
2020.05.18 11:29:54 1: main::AnalyzeCommand called by fhem.pl (1100)
2020.05.18 11:29:54 1: main::AnalyzeCommandChain called by ./FHEM/50_TelegramBot.pm (1427)
2020.05.18 11:29:54 1: main::TelegramBot_ExecuteCommand called by ./FHEM/50_TelegramBot.pm (1260)
2020.05.18 11:29:54 1: main::TelegramBot_SendFavorites called by ./FHEM/50_TelegramBot.pm (1574)
2020.05.18 11:29:54 1: main::Telegram_HandleCommandInMessages called by ./FHEM/50_TelegramBot.pm (2603)
2020.05.18 11:29:54 1: main::TelegramBot_ParseMsg called by ./FHEM/50_TelegramBot.pm (2281)
2020.05.18 11:29:54 1: main::TelegramBot_Callback called by FHEM/HttpUtils.pm (634)
2020.05.18 11:29:54 1: main::__ANON__ called by fhem.pl (754)
2020.05.18 11:29:54 3: TelegramBot_ExecuteCommand Haus_bot: cmd executed :tiefbrunnenpumpe_an: --> :Forbidden command {Tiefbrunnenpumpe_schalten ("an")}.:
bei allowed commands
tiefbrunnenpumpe_an, Tiefbrunnenpumpe_an, Tiefbrunnenpumpe_schalten
Zitat von: Betonklotz am 18 Mai 2020, 11:35:01
Leider nein, wäre auch zu einfach gewesen:
2020.05.18 11:29:54 3: Forbidden command perl for Haus_bot
2020.05.18 11:29:54 1: stacktrace:
2020.05.18 11:29:54 1: main::allowed_Authorize called by fhem.pl (3775)
2020.05.18 11:29:54 1: main::CallFn called by fhem.pl (5632)
2020.05.18 11:29:54 1: main::Authorized called by fhem.pl (1115)
2020.05.18 11:29:54 1: main::AnalyzePerlCommand called by fhem.pl (1171)
2020.05.18 11:29:54 1: main::AnalyzeCommand called by fhem.pl (1100)
2020.05.18 11:29:54 1: main::AnalyzeCommandChain called by ./FHEM/98_cmdalias.pm (92)
2020.05.18 11:29:54 1: main::CommandCmdAlias called by fhem.pl (1247)
2020.05.18 11:29:54 1: main::AnalyzeCommand called by fhem.pl (1100)
2020.05.18 11:29:54 1: main::AnalyzeCommandChain called by ./FHEM/50_TelegramBot.pm (1427)
2020.05.18 11:29:54 1: main::TelegramBot_ExecuteCommand called by ./FHEM/50_TelegramBot.pm (1260)
2020.05.18 11:29:54 1: main::TelegramBot_SendFavorites called by ./FHEM/50_TelegramBot.pm (1574)
2020.05.18 11:29:54 1: main::Telegram_HandleCommandInMessages called by ./FHEM/50_TelegramBot.pm (2603)
2020.05.18 11:29:54 1: main::TelegramBot_ParseMsg called by ./FHEM/50_TelegramBot.pm (2281)
2020.05.18 11:29:54 1: main::TelegramBot_Callback called by FHEM/HttpUtils.pm (634)
2020.05.18 11:29:54 1: main::__ANON__ called by fhem.pl (754)
2020.05.18 11:29:54 3: TelegramBot_ExecuteCommand Haus_bot: cmd executed :tiefbrunnenpumpe_an: --> :Forbidden command {Tiefbrunnenpumpe_schalten ("an")}.:
bei allowed commands
tiefbrunnenpumpe_an, Tiefbrunnenpumpe_an, Tiefbrunnenpumpe_schalten
OK, dann ist die Prüfung in FHEM für allowed Commands entsprechend restriktiv auch alias aufzulösen. Das ist ja an sich gut für die Sicherheit, aber natürlich keine Lösung für Dich.
Hallo zusammen,
ich nutze den Telegram Bot nun schon seit einiger Zeit zum Schicken von Bildern vor der Haustüre wenn jemand klingelt.
Nun hat das ganze hervorragend funktioniert, bis gestern Abend. Seit heute geht das nicht mehr und ich sehe immer im Log folgendes:
2020.07.02 17:02:52 3: TelegramBot_Callback zz: resulted in NonBlockingGet timed out on read from <hidden> after 30s from SendIt
2020.07.02 17:02:52 3: TelegramBot_Callback zz: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg -[id] : /opt/fhem/www/snapshots/InstarHaustuere_snapshot.jpg
Daraufhin habe ich mal versucht FHEM zu updaten , neustarten, hat aber nicht geholfen.
Im Wiki (https://wiki.fhem.de/wiki/MsgDialog) bin ich auf die Meldung gestoßen und es wurde ein UTF Thema suggeriert, kann ich aber nicht vorstellen, da es nur ein Image ist. Trotzdem habe ich das genannte Attribut für die UTF-8 Kodierung gesetzt.
Habe versucht andere Images zu schicken im FHEM Verzeichnis, bei manchen gehts.
Habe auch versucht relative Pfade zu nutzen, ging gar nicht, da hat er gleich nach Befehleingabe gemeckert, checkt wohl den Pfad.
Mir kommt es vor als findet er das Image aber hat Perobleme das zu senden.
Hat irgendjemand einen Tip?
Danke & Gruß
Zitat von: stefanovic88 am 02 Juli 2020, 17:25:45
Hallo zusammen,
ich nutze den Telegram Bot nun schon seit einiger Zeit zum Schicken von Bildern vor der Haustüre wenn jemand klingelt.
Nun hat das ganze hervorragend funktioniert, bis gestern Abend. Seit heute geht das nicht mehr und ich sehe immer im Log folgendes:
2020.07.02 17:02:52 3: TelegramBot_Callback zz: resulted in NonBlockingGet timed out on read from <hidden> after 30s from SendIt
2020.07.02 17:02:52 3: TelegramBot_Callback zz: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg -[id] : /opt/fhem/www/snapshots/InstarHaustuere_snapshot.jpg
Daraufhin habe ich mal versucht FHEM zu updaten , neustarten, hat aber nicht geholfen.
Im Wiki (https://wiki.fhem.de/wiki/MsgDialog) bin ich auf die Meldung gestoßen und es wurde ein UTF Thema suggeriert, kann ich aber nicht vorstellen, da es nur ein Image ist. Trotzdem habe ich das genannte Attribut für die UTF-8 Kodierung gesetzt.
Habe versucht andere Images zu schicken im FHEM Verzeichnis, bei manchen gehts.
Habe auch versucht relative Pfade zu nutzen, ging gar nicht, da hat er gleich nach Befehleingabe gemeckert, checkt wohl den Pfad.
Mir kommt es vor als findet er das Image aber hat Perobleme das zu senden.
Hat irgendjemand einen Tip?
Danke & Gruß
Wie gross sind denn die Bilder - sind diese unterschiedlich gross (gibt es nur Probleme bei grossen Bildern ?)
Relative Pfade sollten schon gehen aber kommt eben drauf an relativ zu was...
Ich denke mit UTF8 sollte das hier eher nichts zu tun haben.
Generell immer die Frage was hat sich geändert oder was könnte sich geändert haben also auch externe Einflüsse.
Zitat von: viegener am 02 Juli 2020, 20:27:29
Wie gross sind denn die Bilder - sind diese unterschiedlich gross (gibt es nur Probleme bei grossen Bildern ?)
Relative Pfade sollten schon gehen aber kommt eben drauf an relativ zu was...
Ich denke mit UTF8 sollte das hier eher nichts zu tun haben.
Generell immer die Frage was hat sich geändert oder was könnte sich geändert haben also auch externe Einflüsse.
Mit kleinen ich sage jetzt mal unter 50 kb kein Problem. Wenn ich jetzt welche mit 100 kb + versuche bekomme ich den Fehler. Regulär die kamera Bilder sind ca 500 kb.
Das System läuft eigentlich ohne große Eingriffe. Über die Nacht bis morgens wurde nichts gemacht, Updates werden auch nur manuell installiert. Wie gesagt FHEM Update wurde gemacht, aber eigentlich als Lösungsidee, da es ja seid morgens nicht mehr ging.
Speicherplatz habe ich mal gecheckt, sollte alles ok sein. Könnte ggf schon an der Image Größe liegen, wobei ich mir jetzt nicht vorstellen kann warum plötzlich 500kb Bilder ein Problem darstellen sollten.
Nun ja, was soll ich sagen, nachdem ich mich über ein Tag lang damit beschäfigt habe, scheint es seit ein paar Minuten wieder zu gehen. Fotos lassen sich auch wieder ohen Probleme versenden.
Zitat von: stefanovic88 am 03 Juli 2020, 14:10:47
Nun ja, was soll ich sagen, nachdem ich mich über ein Tag lang damit beschäfigt habe, scheint es seit ein paar Minuten wieder zu gehen. Fotos lassen sich auch wieder ohen Probleme versenden.
Gut zu hören, es auch in der Vergangenheit immer mal wieder bei Telegram lokale Effekte, die zu temporären Ausfällen geführt haben. Das dabei Bilder betroffen sind ist allerdings neu.
Gibt es die Möglichkeit vom Server eine Nachricht an einen User zu senden und zusätzlich 2 Buttons einzufügen (Ja / Nein) ähnlich wie bei cmdFavorites.
Zitat von: TWART016 am 09 Juli 2020, 15:24:38
Gibt es die Möglichkeit vom Server eine Nachricht an einen User zu senden und zusätzlich 2 Buttons einzufügen (Ja / Nein) ähnlich wie bei cmdFavorites.
Generell gibt es die Möglichkeit über
queryInline . Allerdings musst Du dann selbst auf die zurückkomende QUery Id reagieren
Ziel ist es folgendes zu Senden:
set Telegram queryInline (Ja,einschalten|Nein,ausgeschalten) Soll das Licht eingeschalten werden?
Bei Ja, möchte ich dann mit einem notify das Licht einschalten. Über die Internals sehe ich den zuletzt gesendeten Text. Wenn zwischendurch was anderes gesendet wird, verliert er die Zuordnung.
Kann man das mit dem Modul abfangen, oder muss ich mir was mit eigenen Readings bauen bzw. den Text bei queryInline so eindeutig, dass er einmalig ist?
Zitat von: TWART016 am 09 Juli 2020, 23:51:03
Ziel ist es folgendes zu Senden:
set Telegram queryInline (Ja,einschalten|Nein,ausgeschalten) Soll das Licht eingeschalten werden?
Das funktioniert wunderbar, ALLERDINGS ist es wichtig, IMMER den Text hinten dran zu schicken und einen Empfänger auszuwählen. Ohne funktioniert es nicht.
Ich habe das Ganze über ein eigenen Teil in myUtils gelöst, weil dort doch ein paar Sachen beachtet werden müssen, inkl Sicherheitssachen und und und
Grüße
Andreas
Zitat von: flummy1978 am 12 Juli 2020, 16:23:44
Das funktioniert wunderbar, ALLERDINGS ist es wichtig, IMMER den Text hinten dran zu schicken und einen Empfänger auszuwählen. Ohne funktioniert es nicht.
Ich habe das Ganze über ein eigenen Teil in myUtils gelöst, weil dort doch ein paar Sachen beachtet werden müssen, inkl Sicherheitssachen und und und
Wie meinst du das? Wie sieht die myUtils aus?
Die myUtils ist erstmal wurscht (es sei denn Du kannst Perl ein wenig - das weiss ich ja nicht) aber mach einfach mal in Deinem Fhem (wenn Telegram eingerichtet ist):
set telegram_device queryInline @ID/Name (Einschalten:TextEIN) (Ausschalten:TextAUS) textvorButtons
Dann weisst Du was die myUtils ausgeben müsste. Ich habs leider noch nicht hinbekommen die Buttons in einer Zeile zu machen (müsste auch irgendwie gehen) Da ich aber meist mehr als 2 oder einen Button habe, hab ich dort keine Mühen mehr reingesteckt ;)
Wenns hilft ist gut, bei Fragen fragen :)
Andreas
Zitat von: flummy1978 am 12 Juli 2020, 18:51:17
Die myUtils ist erstmal wurscht (es sei denn Du kannst Perl ein wenig - das weiss ich ja nicht) aber mach einfach mal in Deinem Fhem (wenn Telegram eingerichtet ist):
set telegram_device queryInline @ID/Name (Einschalten:TextEIN) (Ausschalten:TextAUS) textvorButtons
Dann weisst Du was die myUtils ausgeben müsste. Ich habs leider noch nicht hinbekommen die Buttons in einer Zeile zu machen (müsste auch irgendwie gehen) Da ich aber meist mehr als 2 oder einen Button habe, hab ich dort keine Mühen mehr reingesteckt ;)
Wenns hilft ist gut, bei Fragen fragen :)
Andreas
Ich glaube ich bin da schon ein bisschen weiter. Mit diesem Code bekomme ich das gleiche hin, weil das Attribut defaultPeer gesetzt ist. Solltest du dir vllt mal ansehen ;)
set Telegram queryInline (Ja:einschalten|Nein:ausgeschalten) Soll das Licht eingeschalten werden?
attr Telegram defaultPeer Name
Damit funktioniert es übrigens in einer Zeile
(Ja:einschalten|Nein:ausgeschalten)
Meine Frage war eigentlich wie ich die Zuordnung von der Antwort zuweisen kann. Das konnte ich mit dem Doppelpunkt lösen und dahinter einen einmaligen Text definieren.
Vielen Dank für die Hilfe.
Das Default Peer hab ich bei mir aktiviert, aber war hier nicht die Frage und ich weiß genau wie ich mich am Anfang dusselig gesucht hab, warum das Beispiel aus dem Forum (ohne Empfänger) nicht funktionierte ;D ::)
Zitat von: TWART016 am 12 Juli 2020, 20:26:03
Damit funktioniert es übrigens in einer Zeile
(Ja:einschalten|Nein:ausgeschalten)
Meine Frage war eigentlich wie ich die Zuordnung von der Antwort zuweisen kann. Das konnte ich mit dem Doppelpunkt lösen und dahinter einen einmaligen Text definieren.
Vielen Dank für die Hilfe.
Perfekt .. habsch auch was gelernt ;)
Und Memo an mich selbst: Manchmal hilft auch vernünfitig lesen (oder besser verstehen) .... ich hab mich im ersten Moment gewundert, ob ich es falsch verstanden habe, warum das bei Dir so nicht funktionierte und irgendwie den Unterschied "Ja,einschalten" zu "Ja:einschalten" dezent ignoriert.... sorry
Hauptsache es hat geholfen und Du bist einen Schritt weiter als vor Deiner Frage 8)
Viele Grüße
Andreas
Hi, ich würde hier gerne noch mal anschließen da ich nun ein ähnliches Problem habe seit wenigen Tagen.
Zitat von: stefanovic88 am 02 Juli 2020, 17:25:45
Hallo zusammen,
ich nutze den Telegram Bot nun schon seit einiger Zeit zum Schicken von Bildern vor der Haustüre wenn jemand klingelt.
Nun hat das ganze hervorragend funktioniert, bis gestern Abend. Seit heute geht das nicht mehr und ich sehe immer im Log folgendes:
2020.07.02 17:02:52 3: TelegramBot_Callback zz: resulted in NonBlockingGet timed out on read from <hidden> after 30s from SendIt
2020.07.02 17:02:52 3: TelegramBot_Callback zz: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg -[id] : /opt/fhem/www/snapshots/InstarHaustuere_snapshot.jpg
Daraufhin habe ich mal versucht FHEM zu updaten , neustarten, hat aber nicht geholfen.
Zitat von: viegener am 02 Juli 2020, 20:27:29
Wie gross sind denn die Bilder - sind diese unterschiedlich gross (gibt es nur Probleme bei grossen Bildern ?)
Relative Pfade sollten schon gehen aber kommt eben drauf an relativ zu was...
Ich denke mit UTF8 sollte das hier eher nichts zu tun haben.
Generell immer die Frage was hat sich geändert oder was könnte sich geändert haben also auch externe Einflüsse.
Ich habe seit einer unbestimmten Zeit zusätzlich noch folgende Fehler :
TelegramBot teleBot sentMsgResult: NonBlockingGet: returned gethostbyname api.telegram.org failed
TelegramBot teleBot PollingErrCount: 231
Senden/Empfangen funktioniert nicht/ oder nur sporadisch mal.
Ich habe jüngst im FritzBox Router DNS over TLS aktiviert und könnte mir zusammen reimen dass es hier einen Zusammenhang gibt weitere Änderungen gab es soweit nicht.
Ich werde DNS over TLS nun Testweise in einem Fallback Modus betreiben und berichten ob es daran lag.
Du musst halt prüfen, ob die jeweiligen DNS-Server auch TLS unterstützen...
Hast du fest eingetragene!?
z.B. 1.1.1.1 etc. oder nimmst du die des Providers!?
Evtl. gibt dir der Provider halt mal DNS Server die das nicht unterstützen...
Gruß, Joachim
Ich habe die von Cloudflare (1.1.1.1, 1.0.0.1) und zusätzlich noch die von Google (8.8.4.4, 8.8.8.8) fest eingetragen.
Leider bringt auch der DNS over TLS Fallback Modus bisher keine Besserung womit ich meine Router Änderung (DoT Aktivierung) fürs erste ausschließe.
Leider nach wie vor ungewollte Sendepause bei meinem Telegram Bot. :)
Dann habe ich gerade mal ein set teleBot reset
abgesetzt mit folgendem Fehler-Ergebnis: TelegramBot_DoUrlCommand teleBot: FAILED http access returned error :https://api.telegram.org/<MEINBOT>/getMe: Can't connect(1) to https://api.telegram.org:443: IO::Socket::INET: Bad hostname 'api.telegram.org:443':
Wenn ich api.telegram.org anpinge läuft das ohne Probleme von meinem Laptop, ich stehe irgendwie im Regen. Hat jemand ne Idee?
Ist "attr global dnsServer" gesetzt? Wenn ja auf was?
Bitte Folgendes einmal nach "attr global dnsServer 8.8.8.8" und einmal nach "deleteattr global dnsServer" ausfuehren:
Zitat{ HttpUtils_gethostbyname({timeout=>4}, "api.telegram.org", 1,sub(){my($h,$e,$a)=@_;; Log 1, $e ? "ERR:$e": ("IP:".ip2str($a)) }) }
und das Ergebnis aus dem FHEM-Log hier berichten.
Bei mir kommt ohne dnsServer
Zitat2020.07.22 22:19:53.958 1: IP:149.154.167.220
bzw. nach "attr global dnsServer 8.8.8.8":
Zitat2020.07.22 22:20:11.151 1: IP:[2001:67c:4e8:f004::9]
Das dnsServer Attribut war bisher nicht gesetzt.
Ergebnis nach "attr global dnsServer 1.1.1.1":
2020.07.22 23:53:54 1: IP:149.154.167.220
Ergebnis nach "deleteattr global dnsServer" also ohne DNS Server:
2020.07.22 23:56:53 1: ERR:gethostbyname api.telegram.org failed
In jedem Fall klappt die Auflösung nach setzen von "attr global dnsServer" wieder und ich habe reichlich Telegram-Bot Nachrichten erhalten.
Was mich jetzt allerdings noch wundert ist das unsere Ausgaben sich noch unterscheiden. :)
Danke für die Hilfe!
EDIT: Ich habe den DNS over TLS Fallback Modus wieder ausgeschaltet daran könnten die unterschiedlichen ausgaben liegen.
Die Unterschiede:
- ohne dnsServer: bei mir funktioniert die Namensafloesung auf dem FHEM-Server (d.h. OS-Ebene), bei Dir nicht. Achtung: nicht alle FHEM Module verwenden fuer die Namensaufloesug HttpUtils (s.u), d.h. ich wuerde es versuchen zu fixen. Keine Ahnung, wie.
- mit dnsServer: hier wird die FHEM-Implementation fuer Namensaufloesung verwendet. Bonus: es ist nicht blockierend. Warum Du hier eine IPV4 und ich eine IPV6 Adresse zurueckkriege, kann ich noch nicht erklaeren.
Zitat von: rudolfkoenig am 23 Juli 2020, 08:36:19
- mit dnsServer: hier wird die FHEM-Implementation fuer Namensaufloesung verwendet. Bonus: es ist nicht blockierend. Warum Du hier eine IPV4 und ich eine IPV6 Adresse zurueckkriege, kann ich noch nicht erklaeren.
@speex: Da wäre die Frage ob bei Dir im Router IPV6 überhaupt aktiviert ist (im router / fritzbox als auch auf dem Raspberry)? Wenn nicht (wie zum Beispiel bei mir im Router - weil es nachwievor Schwierigkeiten mit VPN gibt), wäre das eine recht einfache Erklärung.
In fhem bekomme ich ebenfalls die V4-Adresse bei Verwendung von 8.8.8.8 als dnsServer in FHEM
api.telegram.org has IPv6 address 2001:67c:4e8:f004::9
api.telegram.org has address 149.154.167.220
Die FHEM interne Namensaufloesung fragt zuerst nach eine IPV6 Adresse, falls man "attr global useInet6" gesetzt hat.
Ich habe das in dem gezeigten Aufruf mit 1 (Parameter #3) vorbelegt, und da die Routine den DNS-Server direkt fragt, sollten die Einstellungen im Router oder OS irrelevant sein. Da wir aber unterschiedliche Werte zurueckkriegen, muss ich irgendetwas uebersehen.
Zitat von: rudolfkoenig am 23 Juli 2020, 10:32:32
Die FHEM interne Namensaufloesung fragt zuerst nach eine IPV6 Adresse, falls man "attr global useInet6" gesetzt hat.
Ich habe das in dem gezeigten Aufruf mit 1 (Parameter #3) vorbelegt, und da die Routine den DNS-Server direkt fragt, sollten die Einstellungen im Router oder OS irrelevant sein. Da wir aber unterschiedliche Werte zurueckkriegen, muss ich irgendetwas uebersehen.
Das könnte daran liegen, dass die Abfrage vom Telegrammodul im Hintergrund weiter passiert - also kommt bei diesem Aufruf
{ HttpUtils_gethostbyname({timeout=>4}, "api.telegram.org", 1,sub(){my($h,$e,$a)=@_;; Log 1, $e ? "ERR:$e": ("IP:".ip2str($a)) }) }
Der gecachte Eintrag zurück, denn TTL ist bei mir zwischen 60 und 290 und damit vermutlich grösser als das polling timeout. Mit anderen Worten der Aufruf liefert das Ergebnis der letzten Anfrage durch das TelegramModul zurück und nicht die von Dir mit ipv6 vorbelegte Anfrage.
Also der Unterschied ist, bei Dir läuft kein telegram Modul und damit kein polling und Deine Anfrage liefert ipv6 zurück bei mir und bei speex (vermutlich) liefert es den letzten gecachten Eintrag aus HU_dnsCache zurück der nicht explizit zuerst nach IPV6 (also AAAA) fragt.
Ich habe das bei mir überprüft - polling abschalten - 5 minuten warten - Anfrage von Dir aufrufen und Voila:
2020.07.23 11:39:02.471 1: IP:[2001:67c:4e8:f004::9]
(Allerdings muss man beim Wiedereinschalten des pollings aufpassen, denn bei mir geht die FHEM-Instanz direkt danach auf die Bretter:
2020.07.23 11:39:02.471 1: IP:[2001:67c:4e8:f004::9]
Can't locate object method "new" via package "IO::Socket::INET6" at FHEM/HttpUtils.pm line 409.
Aber das hätte ich ja erwarten können...
Aber zurück zum eigentlichen Problem von speex:
- DNS Anfragen nach api.telegram.org funktionieren auf dem Rechner von speex nicht (stabil)
- Als Workaround oder Lösung sollte sich das über setzen von global dnsServer umgehen lassen
Aber eigentlich ist das Problem, warum die Namensauflösung auf dem Rechner nicht geht - das sollte nicht so bleiben...
@speex - kannst Du auf dem Rechner in der shell oder kommandozeile mal ganz simpel
Zitatping api.telegram.org
ausführen?
Ist da irgendwie pihole oder ähnliches noch im Spiel?
Entschuldigt die verspätete Antwort.
Nein betreibe auch kein Pi Hole oder derartiges.
Ping von meinem Laptop:
ping api.telegram.org
PING api.telegram.org (149.154.167.220): 56 data bytes
64 bytes from 149.154.167.220: icmp_seq=0 ttl=50 time=43.477 ms
64 bytes from 149.154.167.220: icmp_seq=1 ttl=50 time=33.723 ms
64 bytes from 149.154.167.220: icmp_seq=2 ttl=50 time=31.402 ms
64 bytes from 149.154.167.220: icmp_seq=3 ttl=50 time=40.184 ms
64 bytes from 149.154.167.220: icmp_seq=4 ttl=50 time=37.689 ms
^C
--- api.telegram.org ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 31.402/37.295/43.477/4.341 ms
➜ ~
Ping vom FHEM-Server an telegram.org:
ping api.telegram.org
PING api.telegram.org(2001:67c:4e8:f004::9 (2001:67c:4e8:f004::9)) 56 data bytes
64 bytes from 2001:67c:4e8:f004::9 (2001:67c:4e8:f004::9): icmp_seq=1 ttl=53 time=26.5 ms
64 bytes from 2001:67c:4e8:f004::9 (2001:67c:4e8:f004::9): icmp_seq=2 ttl=53 time=21.8 ms
64 bytes from 2001:67c:4e8:f004::9 (2001:67c:4e8:f004::9): icmp_seq=3 ttl=53 time=17.6 ms
64 bytes from 2001:67c:4e8:f004::9 (2001:67c:4e8:f004::9): icmp_seq=4 ttl=53 time=18.3 ms
64 bytes from 2001:67c:4e8:f004::9 (2001:67c:4e8:f004::9): icmp_seq=5 ttl=53 time=18.0 ms
^C
--- api.telegram.org ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 17.668/20.515/26.586/3.390 ms
Soweit läuft der Telegram Bot bisher, ohne Aussetzer.
Ich schätze ich muss mir meine IPv6 Settings noch mal zu Gemüte führen und schauen ob da etwas krumm ist.
Ich sehe mich ausserstande, die 160 Seiten durchzuschauen, ob mein Fehler schonmal bemerkt wurde (im Wiki steht nichts). Ich kann keine Nachrichten von Telegram empfangen, nur senden. Sieht jemand, woran das liegen könnte:
ernals:
FAILS 0
FUUID 5e244bdc-f33f-1115-a17f-dfb470f6ef653cf2
FVERSION 50_TelegramBot.pm:?-s21652/2020-04-12
NAME TelegramBot
NR 55
OLD_POLLING 42
POLLING 42
SNAME TelegramBot
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me XXXXXXXXXX:FHEM:@xxxxxxxxxxxxxxxxx
offset_id AAAAAAAAAA
sentLastResult SUCCESS
sentMsgId
sentMsgOptions
sentMsgPeer
sentMsgPeerId XXXXXXXXX
sentMsgResult SUCCESS
sentMsgText
AliasCmds:
Contacts:
HU_DO_PARAMS:
NAME
addr https://api.telegram.org:443
auth 0
boundary TelegramBot_boundary-x0123
buf
code 200
compress 1
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Fri, 31 Jul 2020 20:56:00 GMT
Content-Type: application/json
Content-Length: 25
Connection: close
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
hu_blocking 0
hu_filecount 183
hu_port 443
hu_portSfx
loglevel 4
method POST
path /bot1111111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/deleteMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/bot11111111111:AAAAAAAAAAAAAAAAAAAAAAAA/deleteMessage
args:
123456789
undef
20
12760
undef
1
hash:
sslargs:
HU_UPD_PARAMS:
FD 18
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 22481
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset 111111111
path /botXXXXXXXXXXXX:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/getUpdates?offset=111111111&limit=5&timeout=60
protocol https
redirects 0
timeout 125
url https://api.telegram.org/botXXXXXX:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/getUpdates?offset=111111118&limit=5&timeout=60
hash:
sslargs:
READINGS:
2020-07-31 00:00:42 PollingErrCount 0
2020-07-07 12:07:27 PollingLastError NonBlockingGet: returned api.telegram.org: Die Wartezeit f�r die Verbindung ist abgelaufen (110)
2020-07-31 22:56:00 sentMsgId
2020-07-31 22:56:00 sentMsgPeerId XXXXXXXX
2020-07-31 22:56:00 sentMsgResult SUCCESS
inlinechats:
sentQueue:
Attributes:
FhemBot_ReceiveCustomPeer XXXXXXX YYYYYYY
FhemBot_ReceiveRestrictedPeer 1
allowUnknownContacts 0
cmdFavorites /kurz
cmdKeyword cmnd
cmdRestrictedPeer XXXXXXXX YYYYYYYYY
cmdReturnEmptyResult 0
defaultPeer XXXXXXXXXX
defaultPeerCopy 1
favorites /[Tor zu]=set Tor Zu
favoritesInline 1
group intern
parseModeSend 1_Markdown
pollingTimeout 60
Kein Contacts Reading, und allowUnknownContacts = 0
Zitat von: amenomade am 31 Juli 2020, 23:23:19
Kein Contacts Reading, und allowUnknownContacts = 0
Danke, hat geklappt. Ich werde mal versuchen etwas ins Wiki zu schreiben.
Hi!
Ich habe folgende Herausforderung: Ich nutze den TelegramBot-Modul mit mehreren Benutzern (Contacts) und möchte gerne bei den Favorites so etwas realisieren wie
/[Überwachungskamera Video]=set TB sendMedia cam.mp4;
Dabei soll nur der Benutzer das Video bekommen, der auch angefragt hat, nicht der DefaultPeer. Wie setze ich das um?
Danke euch! Stefan
Konnte leider keine Lösung finden und einen Workaround über das Auslesen von Readings fand ich unsauber. Das ist hier sicher quick&dirty, aber vielleicht wäre das eine sinnvolle Erweiterung?
--- FHEM/50_TelegramBot.pm.orig 2020-05-06 20:48:19.934236904 +0200
+++ FHEM/50_TelegramBot.pm 2020-08-12 00:06:05.300117719 +0200
@@ -1256,6 +1256,9 @@
$ret = TelegramBot_SendIt( $hash, (($mchatnorm)?$mchatnorm:$mpeernorm), "-", undef, 10, $storedMgsId );
}
+ # substitute placeholder for message peer id
+ $ecmd =~ s/PEERID/$mpeernorm/g;
+
$ecmd .= " ".$cmdAddition if ( $cmdAddition );
return TelegramBot_ExecuteCommand( $hash, $mpeernorm, $mchatnorm, $ecmd, $needsResult, $storedMgsId );
}
Jetzt kann ich nämlich einfach folgendes machen:
/[Überwachungskamera Video]=set TB sendMedia @PEERID cam.mp4;
Zitat von: dustbln am 12 August 2020, 00:16:44
Konnte leider keine Lösung finden und einen Workaround über das Auslesen von Readings fand ich unsauber. Das ist hier sicher quick&dirty, aber vielleicht wäre das eine sinnvolle Erweiterung?
--- FHEM/50_TelegramBot.pm.orig 2020-05-06 20:48:19.934236904 +0200
+++ FHEM/50_TelegramBot.pm 2020-08-12 00:06:05.300117719 +0200
@@ -1256,6 +1256,9 @@
$ret = TelegramBot_SendIt( $hash, (($mchatnorm)?$mchatnorm:$mpeernorm), "-", undef, 10, $storedMgsId );
}
+ # substitute placeholder for message peer id
+ $ecmd =~ s/PEERID/$mpeernorm/g;
+
$ecmd .= " ".$cmdAddition if ( $cmdAddition );
return TelegramBot_ExecuteCommand( $hash, $mpeernorm, $mchatnorm, $ecmd, $needsResult, $storedMgsId );
}
Jetzt kann ich nämlich einfach folgendes machen:
/[Überwachungskamera Video]=set TB sendMedia @PEERID cam.mp4;
Dasselbe Verhalten sollte sich heute schon recht einfach erreichen lassen:
/[Überwachungskamera Video]=set TB sendMedia @[TB:msgChatId] cam.mp4;
Es lassen sich ja Readings in Favoriten verwenden (mit der üblichen set-Syntax) - in diesem Fall sind die Readings im Device auch schon gesetzt, so dass das funktionieren sollte
Danke@viegener für die Info, das war mir so nicht bekannt. Wo ist das dokumentiert?
Ich finde es aber auch ehrlich gesagt bei einem Multiuser-Setup nicht so optimal, ein globales Reading dafür zu nehmen. Was ist, wenn zwei Nutzer (praktisch) zeitgleich ein Kommando senden? Wann steht welche ID im Reading? Daher fände ich tatsächlich eine eindeutige Lösung sauberer.
Zitat von: dustbln am 16 August 2020, 11:00:21
Danke@viegener für die Info, das war mir so nicht bekannt. Wo ist das dokumentiert?
Ich finde es aber auch ehrlich gesagt bei einem Multiuser-Setup nicht so optimal, ein globales Reading dafür zu nehmen. Was ist, wenn zwei Nutzer (praktisch) zeitgleich ein Kommando senden? Wann steht welche ID im Reading? Daher fände ich tatsächlich eine eindeutige Lösung sauberer.
Wie gesagt die logik ist nicht speziell für telegram sondern teil der normalen set-logik - findet sich in der commandref unter set
Zeitgleich ist ja in fhem nicht so wirklich der fall - auch hier wird ein empfangenes kommando sprich favorit mit befehl erstmal bearbeitet bevor der nächste bearbeitet wird. Damit ist das die saubere lösung - eine ersetzung mit eigener syntax und logik möchte ich ungerne schaffen. Die favoriten sind schon jetzt recht komplex - die set-logik ist standarf.
Vielleicht könnte man den anwendungsfall ins fhemwiki eintragen
Ah gut. Wenn das Abfragen des Readings zuverlässig korrekt funktioniert, dann passt das aus meiner Sicht. Wieder was gelernt!
Aufnahme in Wiki oder sogar Hinweis in Commandref wären vielleicht sinnvoll, ich habe mir selbst einen Wolf gesucht ohne auf die Idee zu kommen, dass set das bereits kann.
Zitat von: dustbln am 16 August 2020, 13:59:06
Ah gut. Wenn das Abfragen des Readings zuverlässig korrekt funktioniert, dann passt das aus meiner Sicht. Wieder was gelernt!
Aufnahme in Wiki oder sogar Hinweis in Commandref wären vielleicht sinnvoll, ich habe mir selbst einen Wolf gesucht ohne auf die Idee zu kommen, dass set das bereits kann.
Das wiki lebt sehr vom mitmachen, lass Dir einen account machen und beschreibe den anwendungsfall ich vi. Sicher es gibt leute die ähnliche ansätze brauchen und gerne die vorlage nutzen würden
Mache ich gerne!
Noch ein anderer Punkt, den ich durch Zufall entdeckt habe: Bei den Favoriten ist es toll, dass ich den Favoriten noch Parameter anhängen kann. Beispiel:
/[Sprich]=set tts;
Dann kann ich in Telegram /favoritX Hallo test senden und das wird zu set tts Hallo test. Leider kann ich aber auch so etwas senden wie /favoritX ; set Festplatte alles_loeschen. Ich denke das Semikolon sollte hier escaped aber abgewandelt werden, zB:
$cmdAddition =~ s/;/ SEMICOLON /g if ( $cmdAddition );
(Hintergrund: Ich habe nur cmdFavorites gesetzt, damit aus Sicherheitsgründen nur vorgegebene Kommandos ausgeführt werden können)
Zitat von: dustbln am 18 August 2020, 00:18:22
Mache ich gerne!
Noch ein anderer Punkt, den ich durch Zufall entdeckt habe: Bei den Favoriten ist es toll, dass ich den Favoriten noch Parameter anhängen kann. Beispiel:
/[Sprich]=set tts;
Dann kann ich in Telegram /favoritX Hallo test senden und das wird zu set tts Hallo test. Leider kann ich aber auch so etwas senden wie /favoritX ; set Festplatte alles_loeschen. Ich denke das Semikolon sollte hier escaped aber abgewandelt werden, zB:
$cmdAddition =~ s/;/ SEMICOLON /g if ( $cmdAddition );
(Hintergrund: Ich habe nur cmdFavorites gesetzt, damit aus Sicherheitsgründen nur vorgegebene Kommandos ausgeführt werden können)
Valider Punkt, auch wenn das vielleicht genutzt wird, werde ich das abstellen. Semikolon wird durch Doppelsemikolon ersetzt, dann ist der hintere Teil immer auch innerhalb desselben Kommandos. - Ich habe dazu schon mal eine neue Version in github hinterlegt, diese unterstützt auch channels wenn man es explizit über das Attribut ermöglicht
Wichtige Anmerkung: Wenn man über Favorites die Ausführung von Befehlen ermöglicht, so lassen sich damit Kommandos direkt in FHEM ausführen. Das sollte man nur dann aktivieren, wenn man es wirklich braucht und weiss wem man dies ermöglicht und was damit gemacht werden kann.
Es gibt eine neue Version des TelegramBot im SVN. Darin sind enthalten sind einige auch hier schon erwähnte Änderungen und auch Bugfixes
- Es gibt einen Support für channels - dieser muss allerdings erst per attribut "allowChannels" freigeschaltet werden
- Damit sind channels auch in den Kontakten und für Befehle unterstützt, allerdings erlauben diese keine Identifikation des Senders!
- Einige Fixes sind zu den Keyboards eingeflossen, damit auch inline-Antowrten korrekt beantwortet werden
- Favoriten mit Semikolon abgetrennten Teilen werden jetzt maskiert (Doppelsemikolon)
Hallo,
ich suche nach einer Lösung für folgendes Problem:
Ich habe nun im Telegram via Fhem ein Menü für Favoriten konfiguriert.
Nun bin ich nicht alleine, der diese Favoriten nutzt.
Und die gleichen Favoriten für mehrere Benutzer macht keinen Sinn.
Gibt es die Möglichkeit Favoriten benutzerabhängig zu konfigurieren, oder einzelne Favoriten auszublenden?
Gruß, Matthias
Weiß jemand warum die Antwort bei favorites immer doppelt kommt, auch wenn ich einen Befehl über das cmdKeyword absetze erhalte ich die Antwort immer doppelt.
Wenn ich eine Nachricht zb. per Notify absetze bekomme ich sie nur einmal.
Habe auch im Forum einen Thread gefunden wo beschrieben wird das man cmdReturnEmptyResult auf 0 setzen soll, allerdings war dieses attribut schon in der Vergangenheit bei mir gesetzt.
Zitat von: fritzhugo123 am 04 September 2020, 18:42:11
Hallo,
ich suche nach einer Lösung für folgendes Problem:
Ich habe nun im Telegram via Fhem ein Menü für Favoriten konfiguriert.
Nun bin ich nicht alleine, der diese Favoriten nutzt.
Und die gleichen Favoriten für mehrere Benutzer macht keinen Sinn.
Gibt es die Möglichkeit Favoriten benutzerabhängig zu konfigurieren, oder einzelne Favoriten auszublenden?
Gruß, Matthias
Nein unterschiedliche Favoriten nach Benutzer sind nicht im Bot selber möglich - es ist aber machbar in den Befehlen selbst je nach Benutzer unterschiedliche Kommandos auszulösen. Oder natürlich über andere Befehle ganz andere Menus aufzubauen
Zitat von: speex am 05 September 2020, 15:57:28
Weiß jemand warum die Antwort bei favorites immer doppelt kommt, auch wenn ich einen Befehl über das cmdKeyword absetze erhalte ich die Antwort immer doppelt.
Wenn ich eine Nachricht zb. per Notify absetze bekomme ich sie nur einmal.
Habe auch im Forum einen Thread gefunden wo beschrieben wird das man cmdReturnEmptyResult auf 0 setzen soll, allerdings war dieses attribut schon in der Vergangenheit bei mir gesetzt.
Gib doch mal Beispiele, welche Favoriten betroffen sind.
Vielleicht habe ich mich unglücklich ausgedrückt bei allen vom Mobilgerät abgesetzten commands mit Rückantwort wie z.B. list hmdorsensor state
bekomme ich die Antwort doppelt.
Also es betrifft nicht konkret die favorites an sich das ist nur einer der favorite commands.
Ein favorite der früher mal funktioniert hat und inzwischen nicht mehr
/cam[Eingang Foto] get IPCam image;
Erzeugt einen Fehler auch dieser z.B. kommt doppelt.
Zitat von: speex am 06 September 2020, 18:42:55
Vielleicht habe ich mich unglücklich ausgedrückt bei allen vom Mobilgerät abgesetzten commands mit Rückantwort wie z.B. list hmdorsensor state
bekomme ich die Antwort doppelt.
Also es betrifft nicht konkret die favorites an sich das ist nur einer der favorite commands.
Ein favorite der früher mal funktioniert hat und inzwischen nicht mehr
/cam[Eingang Foto] get IPCam image;
Erzeugt einen Fehler auch dieser z.B. kommt doppelt.
Noch ein paar Fragen:
- Was hast Du geändert?
- Kommen zweimal identische Nachrichten oder unterscheiden sich diese?
- Kannst Du mal ein list auf dem device hier posten (bitte anonymisieren/kritische Daten wir Kontake/peers/etc entfernen)
Ich muss zu meiner Schande gestehen das mich das schon länger plagt da ich aber in der Vergangenheit nur selten so Kommandos abgesetzt habe hat mich das nicht gekümmert, bis vor kurzem.
Daher kann ich keine konkrete änderung nennen die das verursacht hat. ^^
Die Nachrichten sind identisch.
ich hoffe das ist so korrekt annonymisiert:
Internals:
FAILS 0
FUUID ***
NAME teleBot
NR 29
OLD_POLLING 9
POLLING 9
SNAME teleBot
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me ***:***:@***
offset_id ***
sentLastResult SUCCESS
sentMsgId ***
sentMsgOptions
sentMsgPeer #***
sentMsgPeerId ***
sentMsgResult SUCCESS
sentMsgText Image: /opt/fhem/webcam/IPCam_snapshot_2.jpg - 🚨🚪Tür Öffnung!
sourceVersion $Id: 50_TelegramBot.pm 22708 2020-09-01 15:51:38Z viegener $
AliasCmds:
/cam 3
/dor 4
/heizen 6
/lichtan 2
/lichtaus 1
/tv 5
Contacts:
HU_DO_PARAMS:
NAME
addr https://api.telegram.org:443
auth 0
boundary TelegramBot_boundary-x0123
buf
code 200
compress 1
conn
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
httpheader HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Mon, 07 Sep 2020 06:33:47 GMT
Content-Type: application/json
Content-Length: 714
Connection: close
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
hu_blocking 0
hu_filecount 38
hu_port 443
hu_portSfx
loglevel 4
method POST
path /***/sendPhoto
protocol https
redirects 0
timeout 30
url https://api.telegram.org/***/sendPhoto
args:
***
/opt/fhem/webcam/IPCam_snapshot_2.jpg
🚨🚪Tür Öffnung!
1
undef
1
hash:
sslargs:
HU_UPD_PARAMS:
FD 4
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 10606
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset ***
path /***/getUpdates?offset=***&limit=5&timeout=20
protocol https
redirects 0
timeout 45
url https://api.telegram.org/***/getUpdates?offset=***&limit=5&timeout=20
hash:
sslargs:
READINGS:
2020-09-05 15:43:19 Contacts ***
2020-09-07 00:00:03 PollingErrCount 0
2020-09-05 02:27:52 PollingLastError NonBlockingGet timed out on read from <hidden> after 45s
2020-09-05 15:43:19 StoredCommands meinKeyword list fl_Dor_Sensor state
2020-09-05 15:43:19 msgChat #***
2020-09-05 15:43:19 msgChatId ***
2020-09-05 15:43:19 msgFileId
2020-09-05 15:43:19 msgId ***
2020-09-05 15:43:19 msgPeer *
2020-09-05 15:43:19 msgPeerId ***
2020-09-05 15:43:19 msgReplyMsgId
2020-09-05 15:43:19 msgText meinKeyword list fl_Dor_Sensor state
2020-09-05 15:43:19 prevMsgChat #***
2020-09-05 15:43:19 prevMsgFileId
2020-09-05 15:43:19 prevMsgId *
2020-09-05 15:43:19 prevMsgPeer ***
2020-09-05 15:43:19 prevMsgPeerId ***
2020-09-05 15:43:19 prevMsgReplyMsgId
2020-09-05 15:43:19 prevMsgText /s4@***
2018-02-05 22:06:02 queryData TBOT_FAVORITE_3
2018-02-05 22:06:02 queryID ***
2018-02-05 22:06:02 queryPeer ***
2018-02-05 22:06:02 queryPeerId ***
2018-02-05 22:06:02 queryReplyMsgId 8
2020-09-07 08:33:47 sentMsgId ***
2020-09-07 08:33:47 sentMsgPeerId ***
2020-09-07 08:33:47 sentMsgResult SUCCESS
inlinechats:
sentQueue:
Attributes:
allowUnknownContacts 0
cmdFavorites /s
cmdKeyword meinKeyword
cmdRestrictedPeer *** *** ***
cmdReturnEmptyResult 0
cmdSentCommands /last
defaultPeer ***
favorites /lichtaus[Licht aus]=set master_LED off;
/lichtan[Licht an]=set master_LED on;
/cam[Eingang Foto]=get IPCam image;
/dor[Tür Status]=list fl_Dor_Sensor state;
/tv[TV Ausschalten]=set W_S_Medien off;
/heizen[5min. Heizen]=set Heizung controlMode boost
pollingTimeout 20
pollingVerbose 0_None
room notification
saveStateOnContactChange 1
textResponseResult Nachricht : $peer\n Befehl:$cmd:\n Ergebnis:\n$result\n
@speex: nimm mal testweise das Attribut "textResponseResult" ganz heraus
Mit entferntem "textResponseResult" selbes Ergebnis.
Zitat von: speex am 07 September 2020, 19:05:11
Mit entferntem "textResponseResult" selbes Ergebnis.
Dann habe ich erstmal gar keine Idee.
Kannst Du feststellen, ob das Kommando mehrfach ausgeführt wird oder nur das Ergebnis zweimal kommt?
Sind Gruppen beteiligt bei der Kommunikation mit dem Bot
Gibt es mehrere Bots
Ist FHEM auf aktuellem Stand
Mehr Informationen was wirklich passiert - welche Meldungen für welche Kommandos - nur Fehlermeldungen wären auch hilfreich, denn bisher gehe ich davon aus, dass das Problem nur bei Dir besteht
Zu erster Frage weiß ich nicht wie ich das sicher beurteilen kann ich würde behaupten es wird nur einmal ausgeführt und doppelt geantwortet wenn ich den list command absetze erscheint folgendes im Eventmonitor:
2020-09-09 15:52:08 TelegramBot teleBot Contacts: ***
2020-09-09 15:52:08 TelegramBot teleBot msgId: ***
2020-09-09 15:52:08 TelegramBot teleBot msgPeer: ***
2020-09-09 15:52:08 TelegramBot teleBot msgPeerId: ***
2020-09-09 15:52:08 TelegramBot teleBot msgChat: #***
2020-09-09 15:52:08 TelegramBot teleBot msgChatId: ***
2020-09-09 15:52:08 TelegramBot teleBot msgText: /s4@***
2020-09-09 15:52:08 TelegramBot teleBot msgReplyMsgId:
2020-09-09 15:52:08 TelegramBot teleBot msgFileId:
2020-09-09 15:52:08 TelegramBot teleBot sentMsgResult: SUCCESS
2020-09-09 15:52:08 TelegramBot teleBot sentMsgId: ***
2020-09-09 15:52:08 TelegramBot teleBot sentMsgPeerId: ***
2020-09-09 15:52:08 TelegramBot teleBot sentMsgResult: SUCCESS
2020-09-09 15:52:08 TelegramBot teleBot sentMsgId: ***
2020-09-09 15:52:08 TelegramBot teleBot sentMsgPeerId: ***
Zu zweiter Frage ja der Bot ist in einer Gruppe und ich schicke die commands in die Gruppe.
Nein nur ein telegramBot ist definiert.
Fhem ist up to date.
Zitat von: speex am 09 September 2020, 16:00:09
Zu erster Frage weiß ich nicht wie ich das sicher beurteilen kann ich würde behaupten es wird nur einmal ausgeführt und doppelt geantwortet wenn ich den list command absetze erscheint folgendes im Eventmonitor:
2020-09-09 15:52:08 TelegramBot teleBot Contacts: ***
2020-09-09 15:52:08 TelegramBot teleBot msgId: ***
2020-09-09 15:52:08 TelegramBot teleBot msgPeer: ***
2020-09-09 15:52:08 TelegramBot teleBot msgPeerId: ***
2020-09-09 15:52:08 TelegramBot teleBot msgChat: #***
2020-09-09 15:52:08 TelegramBot teleBot msgChatId: ***
2020-09-09 15:52:08 TelegramBot teleBot msgText: /s4@***
2020-09-09 15:52:08 TelegramBot teleBot msgReplyMsgId:
2020-09-09 15:52:08 TelegramBot teleBot msgFileId:
2020-09-09 15:52:08 TelegramBot teleBot sentMsgResult: SUCCESS
2020-09-09 15:52:08 TelegramBot teleBot sentMsgId: ***
2020-09-09 15:52:08 TelegramBot teleBot sentMsgPeerId: ***
2020-09-09 15:52:08 TelegramBot teleBot sentMsgResult: SUCCESS
2020-09-09 15:52:08 TelegramBot teleBot sentMsgId: ***
2020-09-09 15:52:08 TelegramBot teleBot sentMsgPeerId: ***
Zu zweiter Frage ja der Bot ist in einer Gruppe und ich schicke die commands in die Gruppe.
Nein nur ein telegramBot ist definiert.
Fhem ist up to date.
Hast du irgendwelche automatismen (doif, msg, notify, etc) am laufen, die meldungen versenden?
Ein notify und ein doif die Nachrichten die dadurch abgesetzt werden kommen nur einmal.
Zitat von: speex am 14 September 2020, 19:02:10
Ein notify und ein doif die Nachrichten die dadurch abgesetzt werden kommen nur einmal.
1) Ich stochere einfach nur weiter rum, weil ich das Problem bei mir nicht nachstellen kann. Also vermute ich weiter etwas spezielles bei Dir.
Hier meinte ich, ob es einen Automatismus gibt, der auf Telegram-Nachrichten reagiert und möglicherweise doppelt versendet.
2) Generell: Hast Du sonst Spezialitäten in Deiner Installation? Versuche doch mal zu analysieren, ob Du von irgendwo Skripte verwendest die etwas besonderes machen?
Zitat von: speex am 09 September 2020, 16:00:09
Zu zweiter Frage ja der Bot ist in einer Gruppe und ich schicke die commands in die Gruppe.
3) Versuche dochmal den Bot direkt zu kontaktieren (ohne Gruppe) - ändert das etwas?
4) Gibt es Favoriten, die nur einmalige Antworten versenden - Wenn ja was ist der Unterschied zwischen diesen (konkrete Beispiele können hilfen)
Zitat von: speex am 14 September 2020, 19:02:10
Ein notify und ein doif die Nachrichten die dadurch abgesetzt werden kommen nur einmal.
Was passiert, wenn du
attr teleBot textResponseConfirm 0
setzt (falls nicht schon probiert)?
Ich hatte das Problem auch mal. So sah meine Config aus, bei der nix doppelt zurück kam:
define Telegram TelegramBot
attr Telegram allowUnknownContacts 0
attr Telegram cmdFavorites /cmd
attr Telegram cmdKeyword doit
attr Telegram cmdReturnEmptyResult 0
attr Telegram cmdTimeout 600
attr Telegram defaultPeer xxx
attr Telegram favorites /[Rollos auf TV-Stellung]=set WZ.Rollade.Links pct 75;;;;set WZ.Rollade.Mitte pct 55;;;;set WZ.Rollade.Mitte.Links pct 75;;;;set WZ.Rollade.Mitte.Rechts pct 75;;;;set WZ.Rollade.Rechts pct 75;;\
/[Schalfen]=set RollladenPosition Schlafen;;\
/[Aufstehen]=set RollladenPosition Aufstehen;;\
/[Wetter-Kurzinfo]=get Wetter state
attr Telegram parseModeSend 0_None
attr Telegram pollingTimeout 180
attr Telegram room Server
attr Telegram textResponseConfirm 0
Zitat von: h002 am 15 September 2020, 16:39:48
Was passiert, wenn du
attr teleBot textResponseConfirm 0
setzt (falls nicht schon probiert)?
TextResponseConfirm ist eigentlich ein Text der gesendet wird, wenn vor der Ausführung eines Favoriten der Befehl explizit bestätigt werden soll. Also ist es ein Text (diesen auf 0 zu setzen führt vermutlich dass eben kein Text mit der Abfrage kommt, aber nicht mehr) und der Text wird vor der Ausführung gesendet.
Das sollte mit diesem Problem nichts zu tun haben, da die Antwort/Rückgabe des Befehls ja mehrfach kommt.
@speex: Ich vermute inzwischen, dass das Problem dadurch entsteht, dass defaultPeerCopy nicht gesetzt ist. Setze mal defaultPeerCopy auf 0
Hallo zusammen, eine Frage hätte ich:
Die von FHEM via Telegram versendeten Nachrichten kommen auf meinem iPhone fast immer mit einer deutlichen Zeitverzögerung an; teils 10 Sekunden.
Ich hab Telegram vollständig entsprechend dem FHEM-Wiki eingebunden, was alles problemlos funktioniert.
Besteht hier irgendeine Möglichkeit, etwas zu beeinflussen?
Hintergrund:
Ich nutze Telegram bisher nur, um in seltenen Fällen ein paar nicht zeitkritische Infos von FHEM an mich zu senden.
Da ich meine Haustürklingel seit ein paar Tagen allerdings auch in FHEM eingebunden habe, war der Gedanke, mithilfe von Telegram hier auch eine Statusnachricht auf dem Smartphone zu erhalten (funktioniert auch vom Grundsatz her), allerdings sind hier 10 Sekunden Delay ungenügend.
Zitat von: Dracolein am 18 September 2020, 09:16:09
Hallo zusammen, eine Frage hätte ich:
Die von FHEM via Telegram versendeten Nachrichten kommen auf meinem iPhone fast immer mit einer deutlichen Zeitverzögerung an; teils 10 Sekunden.
Ich hab Telegram vollständig entsprechend dem FHEM-Wiki eingebunden, was alles problemlos funktioniert.
Besteht hier irgendeine Möglichkeit, etwas zu beeinflussen?
Hintergrund:
Ich nutze Telegram bisher nur, um in seltenen Fällen ein paar nicht zeitkritische Infos von FHEM an mich zu senden.
Da ich meine Haustürklingel seit ein paar Tagen allerdings auch in FHEM eingebunden habe, war der Gedanke, mithilfe von Telegram hier auch eine Statusnachricht auf dem Smartphone zu erhalten (funktioniert auch vom Grundsatz her), allerdings sind hier 10 Sekunden Delay ungenügend.
Ich kenne keine Möglichkeite die Verzögerung auf telegram-Seite oder in der App zu beeinflussen. Bei mir ist aber nur die Push-Meldung auf dem iPhone verzögert, also die Benachrichtigung und der entsprechende Ton.
Also wenn ich das iPhone entsperrt habe und aus FHEM versende, dann erhöht sich der Zähler für die Nachrichten in Sekundenbruchteilen. Das popup und der Ton kommen dann etwa 2-3 Sekunden später, das variiert aber auch.
Ja ich kann es auch nicht wirklich reproduzieren, manchmal kommt die Meldung binnen sekundenbruchteilen und manchmal 10-15 Sekunden zu spät. Dabei ist es egal, ob sich mein SMartphone im heimischen WLAN befindet, oder per 3G verbunden ist.
Sorry für die späte Antwort @viegener.
Das Attribut defaultPeerCopy 0
hats gebracht!
Die Bot responses kommen nicht mehr doppelt.
Danke!
Hallo zusammen,
wäre es möglich das Modul um die Funktion "sendVideo" aus der Telegram Bot API zu erweitern ? https://core.telegram.org/bots/api#sendvideo
Ich nutze das Modul um Videos von den IPCams am Haus zu verschicken. Aktuell nutze ich sendMedia, was prima funktioniert, aber dazu führt, dass aus einem mp4 Video ein GIF gemacht wird. d.h. man kann die Videos im Telegram dann nicht per scroll balken bedienen. Auch die Streaming funktion der Videos fällt dann weg.
Ich konnte den Unterschied bereits per Python script ausprobieren und würde mich freuen wenn das auch im FHEM funktionieren würde.
Auszug aus Python script:
bot.send_video(chat_id="############", video=open(outputvid, 'rb'), supports_streaming=True)
supports_streaming Boolean Optional Pass True, if the uploaded video is suitable for streaming
Grüße
Sebastian
Hallo,
ich habe den telegram dienst schon seit längerem nicht mehr benutzt. Und sehe gerade, dass ich wohl Verbindungsprobleme habe:
Internals:
FAILS 0
FUUID 5ce84ebd-f33f-a625-84bb-c98bb616e2802210
NAME teleBot
NR 84
OLDFAILS 86
OLD_POLLING 89
POLLING 0
SNAME teleBot
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me Failed - see log file for details
sentLastResult NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
sentMsgId
sentMsgOptions
sentMsgPeer Wolfgang
sentMsgPeerId 345191095
sentMsgText 345191095 test
Contacts:
345191095 345191095:Wolfgang:
HU_DO_PARAMS:
NAME
addr https://api.telegram.org:443
auth 0
boundary TelegramBot_boundary-x0123
data
displayurl <hidden>
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
hideurl 1
host api.telegram.org
loglevel 4
method POST
path /bot394885093:AAHTznK0C8F0x-c98gVtXg0aqm5TXe8nFew/sendMessage
protocol https
redirects 0
timeout 30
url https://api.telegram.org/bot394885093:AAHTznK0C8F0x-c98gVtXg0aqm5TXe8nFew/sendMessage
args:
345191095
345191095 test
undef
0
undef
1
hash:
sslargs:
HU_UPD_PARAMS:
NAME
addr https://api.telegram.org:443
auth 0
compress 1
conn
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_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset 0
path /bot394885093:AAHTznK0C8F0x-c98gVtXg0aqm5TXe8nFew/getUpdates?offset=0&limit=5&timeout=60
protocol https
redirects 0
timeout 125
url https://api.telegram.org/bot394885093:AAHTznK0C8F0x-c98gVtXg0aqm5TXe8nFew/getUpdates?offset=0&limit=5&timeout=60
hash:
sslargs:
READINGS:
2019-05-24 23:08:10 Contacts 345191095:Wolfgang:
2020-10-11 16:15:07 PollingErrCount 124
2020-10-11 16:15:07 PollingLastError NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
2019-09-24 19:03:38 msgChat Wolfgang
2019-09-24 19:03:38 msgChatId 345191095
2019-09-24 19:03:38 msgFileId
2019-09-24 19:03:38 msgId 2333
2019-09-24 19:03:38 msgPeer Wolfgang
2019-09-24 19:03:38 msgPeerId 345191095
2019-09-24 19:03:38 msgReplyMsgId
2019-09-24 19:03:38 msgText /start
2019-09-24 19:03:38 prevMsgChat Wolfgang
2019-09-24 19:03:38 prevMsgFileId
2019-09-24 19:03:38 prevMsgId 1974
2019-09-24 19:03:38 prevMsgPeer Wolfgang
2019-09-24 19:03:38 prevMsgPeerId 345191095
2019-09-24 19:03:38 prevMsgReplyMsgId
2019-09-24 19:03:38 prevMsgText scotty
2020-10-11 16:06:47 sentMsgId
2020-10-11 16:06:47 sentMsgPeerId 345191095
2020-10-11 16:06:47 sentMsgResult NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
inlinechats:
Attributes:
allowUnknownContacts 0
defaultPeer 345191095
event-min-interval .*:900
event-on-change-reading .*
event-on-update-reading .*
pollingTimeout 60
pollingVerbose 1_Digest
room telebot,Büro,System
verbose 5
Irgendwie verbindet sich das Device nicht mehr richtig, oder sehe ich das falsch?
Viele Grüße
Wolfgang
Bis zum 24.09. hat es wohl noch einwandfrei funktioniert...
Es sind zwar einige Poll-Fehler zu sehen, kann aber auch auf Seiten Telegram liegen: z.B. Server-Down/Upgrade/... o.ä.
Zitat
2020-10-11 16:15:07 PollingErrCount 124
Geht es aktuell nicht!?
Kannst du denn den Telegram-Server vom fhem-Rechner aus aktuell erreichen!?
Ansonsten:
EDIT: hat nat. nix mit dem Problem zu tun...
Zitat
event-on-change-reading .*
event-on-update-reading .*
Äh: was soll das (deiner Meinung nach) tun?
Also
event-on-change-reading .*
Nur Updates/Events, wenn sich was ändert
event-on-update-reading .*
Auch events, wenn sich nichts geändert hat...
Also die beiden heben sich auf...
...könntest sie also auch weglassen ;)
Evtl. noch mal drüber nachdenken ;)
Gruß, Joachim
Hallo Joachim,
24.09 ist gut, aber das war 2019!
Ich aktualisiere gerade FHEM sowie PERL, und evtl. mein ganzes System...
==> https://wiki.fhem.de/wiki/TelegramBot#Fehlermeldungen_bei_veralteter_SSL-Version (https://wiki.fhem.de/wiki/TelegramBot#Fehlermeldungen_bei_veralteter_SSL-Version)
Viele Grüße
Wolfgang
Zitat von: Albatros_ am 07 Oktober 2020, 08:09:16
Hallo zusammen,
wäre es möglich das Modul um die Funktion "sendVideo" aus der Telegram Bot API zu erweitern ? https://core.telegram.org/bots/api#sendvideo
Ich nutze das Modul um Videos von den IPCams am Haus zu verschicken. Aktuell nutze ich sendMedia, was prima funktioniert, aber dazu führt, dass aus einem mp4 Video ein GIF gemacht wird. d.h. man kann die Videos im Telegram dann nicht per scroll balken bedienen. Auch die Streaming funktion der Videos fällt dann weg.
Ich konnte den Unterschied bereits per Python script ausprobieren und würde mich freuen wenn das auch im FHEM funktionieren würde.
Auszug aus Python script:
bot.send_video(chat_id="############", video=open(outputvid, 'rb'), supports_streaming=True)
supports_streaming Boolean Optional Pass True, if the uploaded video is suitable for streaming
Grüße
Sebastian
Ich habe in github mal eine neue Version mit sendVideo (und silentVideo) eingechecked. Ich habe supports_streaming dabei allerdings nicht gesetzt, denn die Vorbedingungen sind hier nicht klar für mich. Gerne mal ausprobieren
Zitat von: wowogiengen am 11 Oktober 2020, 16:27:05
Hallo Joachim,
24.09 ist gut, aber das war 2019!
Ich aktualisiere gerade FHEM sowie PERL, und evtl. mein ganzes System...
==> https://wiki.fhem.de/wiki/TelegramBot#Fehlermeldungen_bei_veralteter_SSL-Version (https://wiki.fhem.de/wiki/TelegramBot#Fehlermeldungen_bei_veralteter_SSL-Version)
Viele Grüße
Wolfgang
Ups, sorry! ;)
Die restl. Anmerkungen bleiben aber ;)
Gruß, Joachim
Hallo,
nachdem am WE das cpan -u
ewig gedauert hat, habe ich soeben den fhem server neu gestartet und siehe da, telegram funktioniert offensichtlich wieder.
Jezt müsste ich nur noch ein Möglichkeit finden, dass er mir das Bild, welches von der Haustürkamera aufgenommen hat, auch an mich sendet...
Viele Grüße
Wolfgang
Zitat von: viegener am 12 Oktober 2020, 11:21:12
Ich habe in github mal eine neue Version mit sendVideo (und silentVideo) eingechecked. Ich habe supports_streaming dabei allerdings nicht gesetzt, denn die Vorbedingungen sind hier nicht klar für mich. Gerne mal ausprobieren
Hallo Johannes,
vielen Dank für die schnelle Anpassung. Ich habe das neue Modul heute testen können. Es funktioniert einwandfrei. Die Videos kommen jetzt als Video im Telegram an und nicht mehr als GIF :) Von meiner Seite wäre die neue Version Freigegeben.
Vielen Dank !
Sebastian
Zitat von: wowogiengen am 12 Oktober 2020, 18:20:08
Hallo,
nachdem am WE das cpan -u
ewig gedauert hat, habe ich soeben den fhem server neu gestartet und siehe da, telegram funktioniert offensichtlich wieder.
Jezt müsste ich nur noch ein Möglichkeit finden, dass er mir das Bild, welches von der Haustürkamera aufgenommen hat, auch an mich sendet...
Viele Grüße
Wolfgang
Hallo Wolfgang,
ich habe das folgendermaßen gelöst. Über ein notify reagiert der Bot auf das gesendete Kommando "/Eingang". Es wird zunächst ein neues Bild erzeugt und dieses dann per Telegram verschickt.
define IPCAM_Haustuer IPCAM 192.168.0.123
attr IPCAM_Haustuer icon it_camera
attr IPCAM_Haustuer path /cgi-bin/api.cgi?cmd=Snap&channel=0&rs=12e3e343&user=BENUTZERNAME&password=PASSWORT
attr IPCAM_Haustuer room IPCAM
attr IPCAM_Haustuer storage ./www/snapshots
define TelegramMessage_IPC_haus notify teleBot.msgText:.*(E|e)ingang get IPCAM_Haustuer image;; sleep 3;; set teleBot sendPhoto ./www/snapshots/IPCAM_Haustuer_snapshot.jpg
Grüße
Sebastian
s
Zitat von: Albatros_ am 21 Oktober 2020, 20:43:42
Hallo Johannes,
vielen Dank für die schnelle Anpassung. Ich habe das neue Modul heute testen können. Es funktioniert einwandfrei. Die Videos kommen jetzt als Video im Telegram an und nicht mehr als GIF :) Von meiner Seite wäre die neue Version Freigegeben.
Vielen Dank !
Sebastian
OK - Danke fr die Rückmeldung - ich habe die Version eben ins SVN eingechecked - kommt ab morgen im update
Hallo zusammen,
seit kurzem wird das contact reading meines fhem TelegramBots (... und das fhem log) ständig mit Müll zugespammt. Ich habe gestern allowUnknownContacts auf 0 gesetzt, heute ist wieder alles voll mit Müll. Ich habe das reading mit setreading .... wieder auf die richtigen contacts gesetzt, aber es wird wohl nicht lange dauern, bis das wieder vollgerotzt ist.
Hat jemand eine Idee, was man dagegen machen kann? Alles auf einen neuen Bot umbiegen ist wohl keine Dauerlösung, wenn der dann auch wieder zugespammt wird.
Gruß Roland
Zitat von: hauwech am 27 Oktober 2020, 11:16:55
Hallo zusammen,
seit kurzem wird das contact reading meines fhem TelegramBots (... und das fhem log) ständig mit Müll zugespammt. Ich habe gestern allowUnknownContacts auf 0 gesetzt, heute ist wieder alles voll mit Müll. Ich habe das reading mit setreading .... wieder auf die richtigen contacts gesetzt, aber es wird wohl nicht lange dauern, bis das wieder vollgerotzt ist.
Hat jemand eine Idee, was man dagegen machen kann? Alles auf einen neuen Bot umbiegen ist wohl keine Dauerlösung, wenn der dann auch wieder zugespammt wird.
Gruß Roland
allowUnknownContacts auf 0 ist genau der richtige Schritt - wenn danach bei Dir die Contacts weitergefüllt werden bräuchte ich ein logfile a besten mit verbose 4 oder 5.
Heute morgen war das contacts reading wieder zugemüllt, allowUnknownContacts steht auf 0.
Ich habe mal geschätzt 1% rauskopiert:
799503550 799503550:Dinara:
799812448 799812448:Mohammed_Talip:@Maaserr
799902927 799902927:Iam_Louis:@officialouis
800350905 800350905:VorsklaBot:@myvorskla_bot
801309768 801309768:Phicay_Phicay:
801462814 801462814:Manoj:
801814632 801814632:CAM_Sheera:
802899888 802899888:Alvaro_Llanes:
803093807 803093807:Senior_Little:@SeniorLittle
803197698 803197698:Amin92_Amim92:
803251841 803251841:instagramer:@instagrameer
803549121 803549121:Stocks_expert:
804195889 804195889:BUNNYS_ENRIQUE_VILORIA_VASQUEZ:
804610142 804610142:Ucell:@atelye_samarqand
805102742 805102742:ROY_FLETCHER:@Fletcherroy22
806605562 806605562:Mel_Silsan❣:@Meellllk
806617555 806617555:Tấn_Nguyễn_quang:
806930587 806930587:Kirill_Kovalev:@Miguel3553
807160503 807160503:Vivian_Lisboa:@Vivian_Lisboa
807808848 807808848:Alex:
808266533 808266533:deepak_patel:
808398182 808398182:Luân:
809017855 809017855:L:@saenchaiboy
809265269 809265269:pubg_unban:@pubgunbanff
809369213 809369213:Adriele_Rodrigues:
809541623 809541623:ᴅᴇᴋ_ᴋɪᴀɴ':@kianjay
809650130 809650130:Aditya_Kshirsagar:
809895539 809895539:Rita_Dorothy_Rechardson:@Ritadorothy
809932097 809932097:Carolina_Agostinho:
809976603 809976603:Matson_maverick:@Madxast
810074402 810074402:KTx_Stryfe:@deekay_nguyen03
810123539 810123539:Sólon_Melo:
810353425 810353425:Victory_Fan:
811167052 811167052:Сухроб:
811474115 811474115:Ramiro_Castillo_Monteza:
812212524 812212524:Samuel_Avedon:@Mthize
812261795 812261795:Teo_Ngo:
812342099 812342099:Rodrigo_Johnson:
812548112 812548112:Trần_Minh_Quân:
813214452 813214452:Altin_Shabani:
813374104 813374104:✔:@Qadam_Seriali1
813523414 813523414:Isaac:
813940864 813940864:Xandy_Lemos:@xandylemos
814125496 814125496:Y_Lisboa:@lisboa_y
Das fhem.log enthält leider nur sowas:
020.10.27 23:02:38.636 3: TelegramBot_ContactUpdate updated contact :728623452:Aleksander::
2020.10.27 23:02:38.672 3: TelegramBot_ContactUpdate new contact :812911585:Izzati:@ixxati_04:
2020.10.27 23:02:38.790 3: TelegramBot_ContactUpdate new contact :836722351:Suraj_Desai:@SDSDSD6162:
2020.10.27 23:02:38.901 3: TelegramBot_ContactUpdate new contact :934610973:Aryan:@Black_kinda_sus:
2020.10.27 23:02:39.014 3: TelegramBot_ContactUpdate new contact :607553461:Lij_mike::
2020.10.27 23:02:39.122 3: TelegramBot_ContactUpdate new contact :990101166:Furki::
2020.10.27 23:02:39.536 3: TelegramBot_ContactUpdate new contact :1184464578:Abhinav_k::
2020.10.27 23:02:39.637 3: TelegramBot_ContactUpdate new contact :896317046:Elizabeth_Theodore::
2020.10.27 23:02:39.742 3: TelegramBot_ContactUpdate new contact :1230574072:Li_Muqing::
2020.10.27 23:02:39.847 3: TelegramBot_ContactUpdate new contact :1264014722:Kmart::
2020.10.27 23:02:40.178 3: TelegramBot_ContactUpdate new contact :1258682974:Ad::
2020.10.27 23:02:40.370 3: TelegramBot_ContactUpdate new contact :1175587953:Donna_burgess_wolf:@Donnaburgesswolf:
2020.10.27 23:02:40.476 3: TelegramBot_ContactUpdate new contact :1296417869:VM:@Rvmrvm:
2020.10.27 23:02:40.589 3: TelegramBot_ContactUpdate new contact :1261682593:Bella_Munas::
2020.10.27 23:02:40.701 3: TelegramBot_ContactUpdate new contact :1273626698:Nikki_Delano::
2020.10.27 23:02:40.999 3: TelegramBot_ContactUpdate new contact :1298869178:Mahmoud_Zayan::
2020.10.27 23:02:41.107 3: TelegramBot_ContactUpdate new contact :1072401260:Rosy_Martinez:@Rostmartinez:
2020.10.27 23:02:41.214 3: TelegramBot_ContactUpdate new contact :1272412769:Richard_Raymond::
2020.10.27 23:28:40.614 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.617 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.618 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.620 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.622 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.812 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.813 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.814 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.815 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.816 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.941 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.942 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.943 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.944 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.945 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.075 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.076 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.078 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.079 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.080 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.213 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.214 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.216 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.217 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.218 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.356 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.357 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.359 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.360 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.361 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.520 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.522 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.522 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.523 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.988 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:41.991 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:42.122 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.633 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.635 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.636 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.638 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.639 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.812 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.813 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.814 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.815 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:51.816 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:52.095 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:52.097 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:32:52.098 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
Nach meinem Kenntnisstand kann man den Loglevel nicht auf ein einzelnes device einschränken. Da ich vorher nicht weiß, WANN das passiert, müsste ich den loglevel global auf 4 oder 5 stellen und einen Tag laufen lassen. Da ich sehr viele Devices habe, würde das sicher ein brutal großes logfile generieren.
Korrektur: Ich habe loglevel und verbose verwechselt. Ich habe nun für myTeleBot verbose 5 eingestellt und ein separates Logfile angelegt. Das reading habe ich erstmal wieder bereinigt, jetzt heißt es warten, bis die Typen wieder aktiv werden.
@hauwech: Ich muss mir das anschauen und rumprobieren durch welchen Umweg diese Kontakte bei Dir reinkommen. Ist Dein Bot in Gruppen oder Channels enthalten? Kann es sein,d ass der Bot zu Gruppen hinzugefügt wird?
Ich habe in fhem nur zwei Kontakte, meinen und den meiner Frau. Zur Benachrichtigung aus fhem heraus habe ich eine Gruppe, in der diese beiden contacts und der Bot member sind.
Dieser Gruppe habe ich soeben mal testweise das Recht "Nutzer hinzufügen" entzogen. Channels benutze ich nicht. Ich habe Telegram eigentlich ausschließlich zur Benachrichtigung aus fhem in Betrieb.
Zwischenstand:
Bis jetzt ist alles in Ordnung. Ich beobachte weiter, falls es wieder auftritt melde ich mich.
Gruß Roland
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.
@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"
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.
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?
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?
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
Ich hatte ja verbose auf 5 gesetzt. Wenn es Dir mit "3" auch was hilft, kann ich verbose runterdrehen auf 3.
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
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
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
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
Zwischenstand:
Heute hatte ich noch kein contacts update, vielleicht machen die am Feiertag nix ;D
Log läuft weiter mit verbose 5.
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.
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
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 :)
Zitat von: hauwech am 01 November 2020, 12:19:44
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 :)
Sorry - erstmal zwei Schritte zurück, hier passt einiges nicht zusammen - meine Vermutungen:
1) Momentan ist dein Contacts-Reading kaputt (von Hand gesetzt über setReading ?) - Das muss repariert werden - entweder Neustart oder Contacts über "set ... replaceContacts" setzen
2) Ich sehe immer noch nicht dass Kontakte reinkommen - also war möglicherweise allowUnknownContacts nicht wirklich gesetzt (oder hat durch ein fehlerhaftes Kontaktadressbuch weiter ontakte durchgelassen)
Hinweis: Die von Dir verwendete neue Version macht bei den Kontakten nichts anders schreibt nur mehr logeinträge - also kann es an der Version nicht liegen
Zitat von: viegener am 01 November 2020, 12:56:35
Sorry - erstmal zwei Schritte zurück, hier passt einiges nicht zusammen - meine Vermutungen:
1) Momentan ist dein Contacts-Reading kaputt (von Hand gesetzt über setReading ?) - Das muss repariert werden - entweder Neustart oder Contacts über "set ... replaceContacts" setzen
Ich hatte Contacts mehrmals via setreading zurückgesetzt (hatte ich in einem anderen Beitrag so gelesen). Das hat auch mehrmals funktioniert, bis heute. Wenn ich es richtig verstehe, würde "replaceContacts" die tausende Kontakte auch rausschmeißen, aber aus Modulsicht "sauber".
Zitat
2) Ich sehe immer noch nicht dass Kontakte reinkommen - also war möglicherweise allowUnknownContacts nicht wirklich gesetzt (oder hat durch ein fehlerhaftes Kontaktadressbuch weiter ontakte durchgelassen)
Hinweis: Die von Dir verwendete neue Version macht bei den Kontakten nichts anders schreibt nur mehr logeinträge - also kann es an der Version nicht liegen
Ahh, OK, das hatte ich übersehen. new contacts kamen mit der ID und dem Kontakt rein, message from kam auch schon mit Namen.
2020.10.27 23:02:41.107 3: TelegramBot_ContactUpdate new contact :1072401260:Rosy_Martinez:@Rostmartinez:
2020.10.27 23:02:41.214 3: TelegramBot_ContactUpdate new contact :1272412769:Richard_Raymond::
2020.10.27 23:28:40.614 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.617 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
Wie im vorhergehenden Beitrag beschrieben, habe ich meine richtigen Kontakte nach dem fhem-Bot-reset mit dem Handy Client am fhem Bot wieder eingetragen.
Bis jetzt funktioniert alles wieder, neue "new contact" Meldungen habe ich noch nicht wieder gesehen, nur die mehrfache message von "Brandon Williams", die aber erfolgreich geblockt wurde.
Eine Frage bleibt noch (für mich): Verhindert allowUnknownContacts "nur" messages von unbekannten Kontakten, oder auch "---_Contact_Update new contact"?Gruß Roland
Zitat von: hauwech am 01 November 2020, 14:33:13
Ich hatte Contacts mehrmals via setreading zurückgesetzt (hatte ich in einem anderen Beitrag so gelesen). Das hat auch mehrmals funktioniert, bis heute. Wenn ich es richtig verstehe, würde "replaceContacts" die tausende Kontakte auch rausschmeißen, aber aus Modulsicht "sauber".Ahh, OK, das hatte ich übersehen. new contacts kamen mit der ID und dem Kontakt rein, message from kam auch schon mit Namen.
2020.10.27 23:02:41.107 3: TelegramBot_ContactUpdate new contact :1072401260:Rosy_Martinez:@Rostmartinez:
2020.10.27 23:02:41.214 3: TelegramBot_ContactUpdate new contact :1272412769:Richard_Raymond::
2020.10.27 23:28:40.614 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
2020.10.27 23:28:40.617 3: TelegramBot myTeleBot: Message from unknown Contact (id:1338530656: name:Kevin:) blocked
Wie im vorhergehenden Beitrag beschrieben, habe ich meine richtigen Kontakte nach dem fhem-Bot-reset mit dem Handy Client am fhem Bot wieder eingetragen.
Bis jetzt funktioniert alles wieder, neue "new contact" Meldungen habe ich noch nicht wieder gesehen, nur die mehrfache message von "Brandon Williams", die aber erfolgreich geblockt wurde.
Eine Frage bleibt noch (für mich): Verhindert allowUnknownContacts "nur" messages von unbekannten Kontakten, oder auch "---_Contact_Update new contact"?
Gruß Roland
Sorry ich kann das mit den Teilinfos nicht analysieren. Wenn ich helfen soll, brauche ich mehr Informationen sonst stochere ich hier wirklich weter im Dunkeln:
Welche Version hast Du im Einsatz --> die neue aus github oder eine aktuelle aus dem FHEM update?
Es wäre gut, wenn Du die neue Version aus github benutzt und dann nach logeinträgen der Art
"TelegramBot <...>: Found ... - id..." schaust
Das sind die Einträge, die Auskunft darüber geben woher die neuen Einträge reinkommen.
Bitte diese aus dem log hier posten, dann kann ich möglicherweise mehr rausfinden.
Kannst Du bitte mal über replace Contacts Deine Kontakte auf die Kontakte, die Du erwartest und dann
Tut mir leid, wenn ich Verwirrung gestiftet habe... :-[
Ich hatte aber hier https://forum.fhem.de/index.php/topic,38328.msg1096688.html#msg1096688 (https://forum.fhem.de/index.php/topic,38328.msg1096688.html#msg1096688) geschrieben, daß ich Deine neue Github Version eingesetzt habe.
Aktueller Status:
- Im Einsatz: 50_TelegramBot.pm 22708 2020-09-01 15:51:38Z viegener $
- erlaubte Kontakte mit message vom Handy Client an fhem-bot eingetragen
- allowUnknownContacts = 0
- allowChannels = 0
- seither keine neuen Kontakte
- einige messages von unbekannten Kontakten, die aber erfolgreich geblockt wurden
Verbose habe ich wieder auf "3" gesetzt.
Der Grund:
Ich versende mit Telegram "sendImage" Snapshots von meinen Überwachungskameras bei bestimmten Ereignissen. Mit Verbose >= 4 landen die jpegs als riesige Binärdatenblöcke im log.
Zusammengefaßt: Alles läuft derzeit wieder wie gewünscht, aber ich behalte den TelegramBot erstmal im Blick und suche nach Logeinträgen mit dem von Dir vorgeschlagenen Muster.
Vielen Dank für Deine Unterstützung!
Gruß Roland
Zitat von: hauwech am 02 November 2020, 10:51:53
Tut mir leid, wenn ich Verwirrung gestiftet habe... :-[
Ich hatte aber hier https://forum.fhem.de/index.php/topic,38328.msg1096688.html#msg1096688 (https://forum.fhem.de/index.php/topic,38328.msg1096688.html#msg1096688) geschrieben, daß ich Deine neue Github Version eingesetzt habe.
Aktueller Status:
- Im Einsatz: 50_TelegramBot.pm 22708 2020-09-01 15:51:38Z viegener $
- erlaubte Kontakte mit message vom Handy Client an fhem-bot eingetragen
- allowUnknownContacts = 0
- allowChannels = 0
- seither keine neuen Kontakte
- einige messages von unbekannten Kontakten, die aber erfolgreich geblockt wurden
Verbose habe ich wieder auf "3" gesetzt.
Der Grund:
Ich versende mit Telegram "sendImage" Snapshots von meinen Überwachungskameras bei bestimmten Ereignissen. Mit Verbose >= 4 landen die jpegs als riesige Binärdatenblöcke im log.
Zusammengefaßt: Alles läuft derzeit wieder wie gewünscht, aber ich behalte den TelegramBot erstmal im Blick und suche nach Logeinträgen mit dem von Dir vorgeschlagenen Muster.
Vielen Dank für Deine Unterstützung!
Gruß Roland
Gerne doch , das ist schön zu hören, dass es erstmal läuft wie erwartet.
Zur Erklärung bezüglich der Version: Es ist manchmal schwierig zu entscheiden, ob eine Version noch im Einsatz ist oder nur temporär für einen Test genutzt wurde. Beides kommt vor. Ich plane die github-Version demnächst auch ins normale update zu geben.
Update:
Es läuft ohne Probleme, die readings bleiben sauber. Ab und zu gibts mal eine geblockte Message from unknown contact.
Hallo zusammen,
ist es eigentlich irgendwie möglich über das attr. favorites ein Wert aus einem aktuellen Reading inline anzuzeigen?
z.B.:
attr TelegramBot favorites /[sensor:temperature]
oder wäre es durch eine Programmierung eigentlich umsetzbar?
Schönen Sonntag euch
Zitat von: stera am 22 November 2020, 13:24:01
Hallo zusammen,
ist es eigentlich irgendwie möglich über das attr. favorites ein Wert aus einem aktuellen Reading inline anzuzeigen?
z.B.:
attr TelegramBot favorites /[sensor:temperature]
oder wäre es durch eine Programmierung eigentlich umsetzbar?
Schönen Sonntag euch
Ich habe nicht wirklich verstanden, was Du erreichen möchtest, deshalb kann ich Dir noch nicht helfen.
Also was möchtest Du erreichen, denn aus Deinem Beispiel ergäbe sich ein favorit z.B: /16 --> also Du müsstest in Telegram die Temperatur raten und könntest dann den Favoriten ausführen, das klingt für mich aber nicht sinnvoll, insofern vermute ich Du möchtest etwas anderes erreichen
Ich bin gerade nicht Zuhause, sonst hätte ich etwas Code mitgeschickt.
Wenn ich in Telegram /Fav eingebe, bekomme ich ein Menü bzw die Inline Auswahl. Wenn ich dort draufklicke, kann bzw wird eine Aktion ausgeführt. Ist es möglich, das dort ein aktuelles Reading angezeigt wird ohne das überhaupt auszuführen.
@stera: Nein diese Möglichkeit gibt es nicht für das Favoritenmenu - die entsprechenden Werte sollen erst bei der Ausführung des Favoriten eingesetzt werden, also wenn man den entsprechenden Favoriten eingibt/auswählt.
Wenn DU aber in einem Menu Wert haben willst so ist das natürlich auch ohne Favoriten machbar, bzw. Du kannst einen einzelnen Favoriten ja auch so definieren, dass er selber ein Menu ausgibt, in dem dann natürlich Werte ausgegebn werden können.
Also z.B. einen Favoriten /xyz definieren und dieser sendet dann ein inline Menu mit Werten als telegram msg zurück. Du bist ja nicht draufangewiesen, /fav zu benutzen
Da hast du natürlich recht. Wenn man sich im Handy in der Tastatur noch ein Shortcut macht z.B. hier "v" für /verbrauch dann kommt man schnell dort hin.
Habe es jetzt über ein DoIF gelöst.
### Status an Telegram senden ###
([TelegramBot:"msgText: /verbrauch"])
( set TelegramBot queryInline @name (Strom [strom:energytoday] kWh|Solar[solar:energytoday] kWh) Verbrauchswerte )
DOELSE
@stera: Das verstehe ich nicht - warum machst Du genau das nicht einfach über Favoriten - Du brauchst dazu kein DOIF.
Schau Dir dochmal im Detail die Favoriten an - damit sind nicht nur die Menus möglich sondern auch solche Shortcuts - darin können auch werte verwendet werden.
Zum Beispiel so:
/test[Test info]=set yourbotname msg @[yourbotname :msgChatId] {( <some perl code> )} ;
Hallo,
ich hoffe ihr könnt mir weiterhelfen. Ich hatte am 30.01.2020 die letzte erfolgreiche Kommunikation zwischen Telegram und FHEM. Leider komme ich erst jetzt dazu, mich näher damit zu beschäftigen. Ich benötige Telegram aktuell eigentlich nur, um meine Heizung aus der Ferne einzuschalten. Daher war das im Sommer nicht so wichtig.
Ich habe alle Updates aufgrund der neuen SSL Verschlüsselung gemacht. Der Test
openssl s_client -connect api.telegram.org:443
gibt auch einen längeren Text inkl. Zertifikat usw. aus. Von daher gehe ich davon aus, dass die Verbindung möglich ist.
Allerdings bekomme ich in FHEM den Status
NonBlockingGet: returned api.telegram.org: Das Netzwerk ist nicht erreichbar (101)
Ich habe bereits den Token erneurt und den Bot neu in FHEM angelegt. Leider mit demselben Ergebnis.
Habt ihr Ideen, was ich noch prüfen kann?
Zitat von: htschors am 30 November 2020, 17:03:06
Hallo,
ich hoffe ihr könnt mir weiterhelfen. Ich hatte am 30.01.2020 die letzte erfolgreiche Kommunikation zwischen Telegram und FHEM. Leider komme ich erst jetzt dazu, mich näher damit zu beschäftigen. Ich benötige Telegram aktuell eigentlich nur, um meine Heizung aus der Ferne einzuschalten. Daher war das im Sommer nicht so wichtig.
Ich habe alle Updates aufgrund der neuen SSL Verschlüsselung gemacht. Der Test
openssl s_client -connect api.telegram.org:443
gibt auch einen längeren Text inkl. Zertifikat usw. aus. Von daher gehe ich davon aus, dass die Verbindung möglich ist.
Allerdings bekomme ich in FHEM den Status
NonBlockingGet: returned api.telegram.org: Das Netzwerk ist nicht erreichbar (101)
Ich habe bereits den Token erneurt und den Bot neu in FHEM angelegt. Leider mit demselben Ergebnis.
Habt ihr Ideen, was ich noch prüfen kann?
Die Fehlermeldung hat erstmal weder etwas mit SSL noch mit dem Bot-Token zu tun. Dein FHEM_Rechner oder eben nur FHEM kann den telegram-Server nicht erreichen. Das klingt für mich erstmal nach einem reinen Netzwerkprobem.
Entweder im lokalen Netz oder z.B. durch IPv4 vs IPv6
Frage: Hast Du in FHEM einen DNSServer gesetzt (also im device global)?
Hallo,
ich habe heute bei der Lösungssuche
attr global dnsServer 8.8.8.8
gesetzt (in der FHEM Kommandozeile eingegeben), muss aber zugeben, dass ich mich da nicht auskenne. Ich bin Anfang des Jahres zu Vodafone DSL gewechselt. Vielleicht hat sich da vom Router oder Provider etwas geändert. Aber wie gesagt, da sehe ich aktuell nicht wirklich durch.
Zitat von: htschors am 30 November 2020, 21:33:28
Hallo,
ich habe heute bei der Lösungssuche
attr global dnsServer 8.8.8.8
gesetzt (in der FHEM Kommandozeile eingegeben), muss aber zugeben, dass ich mich da nicht auskenne. Ich Anfang des Jahres zu Vodafone DSL gewechselt. Vielleicht hat sich da vom Router oder Provider etwas geändert. Aber wie gesagt, da sehe ich aktuell nicht wirklich durch.
Dann lösche den Eintrag mal testweise - wie gesagt Dein Problem liegt bei der Netzwerkverbindung zu Telegram und nicht beim Token oder ssl.
Arbeitshypothese: Der DNSServer 8.8.8.8 gibt eine IPv4-Adresse für telegram zurück und Dein Rechner auf dem FHEM läuft hat nur IPv6 oder umgekehrt?
Wenn es ein raspberry ist auf dem FHEM läuft? Lass doch einfach mal ein ping api.telegram.org auf dem Rechner laufen und poste mal was dabei zurückkommt
Zitat von: viegener am 25 November 2020, 22:26:44
@stera: Das verstehe ich nicht - warum machst Du genau das nicht einfach über Favoriten - Du brauchst dazu kein DOIF.
Schau Dir dochmal im Detail die Favoriten an - damit sind nicht nur die Menus möglich sondern auch solche Shortcuts - darin können auch werte verwendet werden.
Zum Beispiel so:
/test[Test info]=set yourbotname msg @[yourbotname :msgChatId] {( <some perl code> )} ;
Das funktioniert natürlich auch gut. Hatte nun aber schon vor einiger Zeit mit DOIF andere Dinge so geregelt und finde es persönlich etwas übersichtlicher.
Hallo viegener,
Ja, FHEM läuft bei mir auf dem Raspberry. Ich habe den Eintrag entfernt. Aber es bleibt im state=failed mit der Fehlermeldung
PollingLastError: NonBlockingGet: returned api.telegram.org: Das Netzwerk ist nicht erreichbar (101)
Der Ping funktioniert allerdings:
64 bytes from 149.154.167.220: icmp_seq=1 ttl=53 time=22.2 ms
64 bytes from 149.154.167.220: icmp_seq=2 ttl=53 time=22.0 ms
64 bytes from 149.154.167.220: icmp_seq=3 ttl=53 time=22.0 ms
64 bytes from 149.154.167.220: icmp_seq=4 ttl=53 time=22.4 ms
64 bytes from 149.154.167.220: icmp_seq=5 ttl=53 time=22.1 ms
64 bytes from 149.154.167.220: icmp_seq=6 ttl=53 time=22.1 ms
64 bytes from 149.154.167.220: icmp_seq=7 ttl=53 time=22.5 ms
Hast du noch Ideen, was ich noch prüfen kann?
Zitat von: htschors am 04 Dezember 2020, 17:22:39
Hallo viegener,
Ja, FHEM läuft bei mir auf dem Raspberry. Ich habe den Eintrag entfernt. Aber es bleibt im state=failed mit der Fehlermeldung
PollingLastError: NonBlockingGet: returned api.telegram.org: Das Netzwerk ist nicht erreichbar (101)
Der Ping funktioniert allerdings:
64 bytes from 149.154.167.220: icmp_seq=1 ttl=53 time=22.2 ms
64 bytes from 149.154.167.220: icmp_seq=2 ttl=53 time=22.0 ms
64 bytes from 149.154.167.220: icmp_seq=3 ttl=53 time=22.0 ms
64 bytes from 149.154.167.220: icmp_seq=4 ttl=53 time=22.4 ms
64 bytes from 149.154.167.220: icmp_seq=5 ttl=53 time=22.1 ms
64 bytes from 149.154.167.220: icmp_seq=6 ttl=53 time=22.1 ms
64 bytes from 149.154.167.220: icmp_seq=7 ttl=53 time=22.5 ms
Hast du noch Ideen, was ich noch prüfen kann?
Ich kann erstmal nur wiederholen, dass es nicht auf ein Problme mit Bot oder SSL deutet. Die Meldung kommt eher auf der Netzwerkebene.
Ein paar weitere Fragen:
- Ist der ping auf dem FHEM-Rechner auf dem telegram nicht geht ausgefürt (auch mit dem fhem benutzer)?
- Hast Du nach dem Löschen des Eintrags FHEM neugestartet
Eine interessante Frage wäre nich, was liefert:
{ my $p = `ping -c 3 api.telegram.org`;; return $p }
als FHEM Befehl eingegeben?
Hallo viegener,
ja, ich denke auch dass das Problem auf Netzwerkebene ist.
{ my $p = `ping -c 3 api.telegram.org`;; return $p }
liefert
PING api.telegram.org (149.154.167.220) 56(84) bytes of data.
64 bytes from 149.154.167.220: icmp_seq=1 ttl=53 time=21.9 ms
64 bytes from 149.154.167.220: icmp_seq=2 ttl=53 time=22.1 ms
64 bytes from 149.154.167.220: icmp_seq=3 ttl=53 time=21.7 ms
--- api.telegram.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 21.765/21.944/22.114/0.222 ms
Hilft dir/uns das weiter?
Zu deinen anderen beiden Fragen:
- Ist der ping auf dem FHEM-Rechner auf dem telegram nicht geht ausgefürt (auch mit dem fhem benutzer)? Nein, hatte den Nutzer "pi" per SSL Verbindung genommen. Mit deinem perl script als FHEM Befehl siehst du aber auch dass der Ping mit dem FHEM Nutzer auch funktioniert, oder?
- Hast Du nach dem Löschen des Eintrags FHEM neugestartet: Ja, habe ich gemacht. FHEM mit 'shutdown restart' und auch noch mal per SSL 'reboot'.
Woran könnte es noch liegen, wenn der Ping funktioniert?
Zitat von: htschors am 07 Dezember 2020, 19:57:57
Hallo viegener,
ja, ich denke auch dass das Problem auf Netzwerkebene ist.
{ my $p = `ping -c 3 api.telegram.org`;; return $p }
liefert
PING api.telegram.org (149.154.167.220) 56(84) bytes of data.
64 bytes from 149.154.167.220: icmp_seq=1 ttl=53 time=21.9 ms
64 bytes from 149.154.167.220: icmp_seq=2 ttl=53 time=22.1 ms
64 bytes from 149.154.167.220: icmp_seq=3 ttl=53 time=21.7 ms
--- api.telegram.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 21.765/21.944/22.114/0.222 ms
Hilft dir/uns das weiter?
Zu deinen anderen beiden Fragen:
- Ist der ping auf dem FHEM-Rechner auf dem telegram nicht geht ausgefürt (auch mit dem fhem benutzer)? Nein, hatte den Nutzer "pi" per SSL Verbindung genommen. Mit deinem perl script als FHEM Befehl siehst du aber auch dass der Ping mit dem FHEM Nutzer auch funktioniert, oder?
- Hast Du nach dem Löschen des Eintrags FHEM neugestartet: Ja, habe ich gemacht. FHEM mit 'shutdown restart' und auch noch mal per SSL 'reboot'.
Woran könnte es noch liegen, wenn der Ping funktioniert?
Wenn der ping geht liegt es womöglich irgendwo in perl/fhem auf Deiner Installation. Vielleicht nochmal ein weiterer Versuch:
Was ergibt sich bei folgendem:
{ HttpUtils_gethostbyname({timeout=>4}, "api.telegram.org", 1, sub(){my($h,$e,$a)=@_;; Log 1, $e ? "TESTX - ERR:$e": ("TESTX - IP:".ip2str($a)) }) }
Das Ergebnis findet isch im FHEM logfile mit dem Präfix "TESTX"
Zitat von: viegener am 10 Dezember 2020, 21:36:09
Wenn der ping geht liegt es womöglich irgendwo in perl/fhem auf Deiner Installation. Vielleicht nochmal ein weiterer Versuch:
Was ergibt sich bei folgendem:
{ HttpUtils_gethostbyname({timeout=>4}, "api.telegram.org", 1, sub(){my($h,$e,$a)=@_;; Log 1, $e ? "TESTX - ERR:$e": ("TESTX - IP:".ip2str($a)) }) }
Das Ergebnis findet isch im FHEM logfile mit dem Präfix "TESTX"
Hallo und danke erst mal für den weiteren Vorschlag. Ich denke wir nähern uns dem Problem?
Ich habe die folgende Ausgabe im Logfile:
TESTX - IP:[2001:67c:4e8:f004::9]
Was sagt uns das? :)
Zitat von: htschors am 12 Dezember 2020, 11:09:34
Hallo und danke erst mal für den weiteren Vorschlag. Ich denke wir nähern uns dem Problem?
Ich habe die folgende Ausgabe im Logfile:
TESTX - IP:[2001:67c:4e8:f004::9]
Was sagt uns das? :)
OK, die Namensauflösung in FHEM bekommt eine IPV6-Adresse zurück (während Linux eine IPv4-Adresse bekommt, die auf erreicht werden kann). Wenn FHEM versucht diese Adresse zu erreichen kommt vermutlich Deine Anfangsmeldung zurück, das passt.
Also müssen wir versuchen FHEM die IPV6-Namensauflösung abzugewöhnen.
Hast Du das attribut: "useInet6" in global auf 1 gesetzt?
Wenn ja - bitte setze es auf 0
Zitat von: viegener am 13 Dezember 2020, 12:35:54
OK, die Namensauflösung in FHEM bekommt eine IPV6-Adresse zurück (während Linux eine IPv4-Adresse bekommt, die auf erreicht werden kann). Wenn FHEM versucht diese Adresse zu erreichen kommt vermutlich Deine Anfangsmeldung zurück, das passt.
Also müssen wir versuchen FHEM die IPV6-Namensauflösung abzugewöhnen.
Hast Du das attribut: "useInet6" in global auf 1 gesetzt?
Wenn ja - bitte setze es auf 0
Ja, das war es. Ich habe das Attribut auf 0 gesetzt und jetzt kann er die Adresse auflösen. Aber jetzt hab ich den SSL Fehler. Obwohl ich alles aktualisiert habe :/
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Zitat von: htschors am 14 Dezember 2020, 20:25:50
Ja, das war es. Ich habe das Attribut auf 0 gesetzt und jetzt kann er die Adresse auflösen. Aber jetzt hab ich den SSL Fehler. Obwohl ich alles aktualisiert habe :/
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Dann vermute ich es ist nicht alles aktualisiert insbesondere in perl - also müsstest Du nochmal hier im Thread zurückblättern und versuchen selber herauszufinden, wo es vielleicht nicht aktuell ist.
Versuche doch mal alle Schritte im Detail nachzuvollziehen
@htschors
Was für ein OS ist denn drauf, wenn es kein aktuelles ist, dann wird es daran liegen. Bei nem Linux kannst Du per SSH Shell mal ein lsb_release -a machen, vielleicht weiss man dann ja schon mehr. Ich habe nun nicht alles gelesen, denke aber Du hast nen Pi mit nem alten OS (Debian 8 oder älter sogar ? ).
Wenn das rauskommt, gibts nur 2 Möglichkeiten:
1. Entweder ein Dist Upgrade nach Debian 9 -> dann 10 (VORHER: Backup Image der SDCard ziehen !!!)
2. Ein neues Image auf ne neue SD Card machen und FHEM neu aufbauen aus einem Backup, dann kannste direkt per SDCard tausch testen. Wenn es läuft, kannst Du die alte SDCard für was anderes nutzen. Das hätte den Vorteil, das Du gleich die SDCard mal erneuert hast und natürlich das System mal frisch drauf hast, ohne Altlasten.
Aber schau erstmal nach dem o.g. Befehl.
Ronny
Zitat von: rcmcronny am 15 Dezember 2020, 07:07:55
@htschors
Was für ein OS ist denn drauf, wenn es kein aktuelles ist, dann wird es daran liegen. Bei nem Linux kannst Du per SSH Shell mal ein lsb_release -a machen, vielleicht weiss man dann ja schon mehr. Ich habe nun nicht alles gelesen, denke aber Du hast nen Pi mit nem alten OS (Debian 8 oder älter sogar ? ).
Wenn das rauskommt, gibts nur 2 Möglichkeiten:
1. Entweder ein Dist Upgrade nach Debian 9 -> dann 10 (VORHER: Backup Image der SDCard ziehen !!!)
2. Ein neues Image auf ne neue SD Card machen und FHEM neu aufbauen aus einem Backup, dann kannste direkt per SDCard tausch testen. Wenn es läuft, kannst Du die alte SDCard für was anderes nutzen. Das hätte den Vorteil, das Du gleich die SDCard mal erneuert hast und natürlich das System mal frisch drauf hast, ohne Altlasten.
Aber schau erstmal nach dem o.g. Befehl.
Ronny
Hallo Ronny,
danke für den Hinweis. Daran liegt es sicherlich. Ich hatte noch ein auf Debian 8 basiertes OS. Ich habe noch einen Raspberry da und habe darauf ein neues FHEM aufgesetzt. Alles problemlos nur leider stürzt mein alter Raspberry - der mit Debian 8 - ab, wenn ich ein Backup mit FHEM anlegen möchte. Die Backup-Datei, welche bis zum Absturz angelegt wurde ist 22 MB groß und scheinbar nicht komplett, da sie sich auf dem neuen Raspberry (mit Debian 10) nicht einspielen lässt.
Das passt nun nicht mehr zu diesem Thread, aber ich wüsste gern, ob ich ein sauberes Backup ohne FHEM (per SSL) machen kann oder ob es eine andere Möglichkeit gibt, in dem der Raspbi nicht abstürzt. Ich habe es mehrmals versucht, immer mit demselben Ergebnis.
VG, Holger
Wenn du backup startest, wird dir angezeigt mit welchem Befehl das gemacht wird.
Den einfach per ssh auf der Linux-Console ausführen sollte dann ja eigentlich "dasselbe" machen...
Ansonsten reicht wohl:
sudo tar -cf /home/pi/Datum_Backup_fhem.tar /opt/fhem/
http://heinz-otto.blogspot.com/2015/12/backup-und-restore-von-fhem.html
EDIT: und halt schauen was du sonst noch brauchst. Z.B. /opt/fhem/.ssh wenn du per ssh als fhem auf andere Systeme "gehst" oder alexa-fhem nutzt oder auch andere Dinge nat. ;)
Gruß, Joachim
Hallo Joachim,
vielen Dank für den Hinweis. Da es per SSH auf der Linux-Console dasselbe macht resultiert es leider auch im selben Fehlverhalten. ich versuche es aktuell noch mit einer USB-Festplatte. Da bin ich immerhin schon mal bis 661 MB Dateigröße des backups gekommen, aber beim Restore sagt er EOF. Also ist das Backup auch dabei beim Erstellen der Datei abgestürzt. Ich versuche es heute Nacht noch einmal.
Grüße
Holger
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
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"?
Naja,
FHEM friert ein, oder wird extrem langsam...
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
@heinzfo: Dazu gibt es das Attribut textResponseFavorites
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
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
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
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
Ah okay, ich benutze eigentlich nur das "favorite menu".
Danke.
LG Patrick
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
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...
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.
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?
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
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)
Moin,
1) mir ist nicht aufgefallen, dass die Fehlermeldung bei einem Timeout von 10s kam, muss ich nochmal auf den Counter schauen und heute Abend nochmal testen. Nachrichten kamen auf jeden Fall nicht an.
2) die Prozessorlast geht nicht hoch.
3) Der FHEM Server läuft unter Proxmox Virtualisiert und wird für keine anderen Zwecke zweckentfremdet. Ich kann mir gerade keine anderen Prozesse vorstellen die in Internet gehen.
Grüße
Heatseeker
Habe seit ungefähr der gleichen Zeit das Problem, dass FHEM hängt, wenn Nachrichten an den Telegram Bot (von FHEM aus) gesendet werden (umgekehrt nach FHEM nutze ich nicht). Habe das mit einem Dummy Schalter geprüft. Lasse ich den Telegrambot Befehl weg, klappt es sofort, das Ding einzuschalten. Mit Telegram hingegen dauert es mind. 5 Sekunden. Komplexere Befehle brauchen dann auch gerne mal 10 Sekunden. Egal, was beim Polling eingestellt ist (steht jetzt auf 0 und schon zig Neustarts von FHEM als auch des Raspberrys). Habe auch schon ältere Backups eingespielt. Dachte zuerst es liegt daran, dass ich das Netzwerkkabel am FHEM Raspberry gezogen hatte für mind. einige Stunden. Aber wenn ich das hier so lese, war das vielleicht purer Zufall.
Attribut dnsServer bei global gesetzt?
Wäre jetzt mein erster Verdacht...
Gruß, Joachim
Hallo, mir ist noch was eingefallen und habe die Ursache gefunden: ich hatte doch was geändert (und dachte es wäre korrigiert). Ich hab nen eigenen DNS Server im Netzwerk. Bei dem hat sich die IP geändert. Zwar hat der DHCP Server die korrekten Einstellungen, der Raspberry hatte aber weiterhin die alte IP mit drin in /etc/resolv.conf . Nachdem ich das ausgebügelt hatte gerade eben klappt es auf Anhieb wieder. Werde einen externen Server jetzt setzen, danke für den Tipp mit der globalen Einstellung.
Zitat von: Heatseeker am 22 Februar 2021, 09:57:26
Moin,
1) mir ist nicht aufgefallen, dass die Fehlermeldung bei einem Timeout von 10s kam, muss ich nochmal auf den Counter schauen und heute Abend nochmal testen. Nachrichten kamen auf jeden Fall nicht an.
2) die Prozessorlast geht nicht hoch.
3) Der FHEM Server läuft unter Proxmox Virtualisiert und wird für keine anderen Zwecke zweckentfremdet. Ich kann mir gerade keine anderen Prozesse vorstellen die in Internet gehen.
Grüße
Heatseeker
zu 3 - es ging um andere Devices (also FHEM devices) - z.B. httpmod
(Begründung: Ich halte es nachwievor nicht für ein telegrambot-spezifisches Problem)
zu 2 - ich vermute vielleicht ein DNS-Problem? - ähnlich wie bei landorin
Moin,
moin DNS hat eine fixe IP und wird nun auch von FHEM Server umgangen und geht direkt auf den Gateway. Senden klappt ja auch.
Ich habe gerade das timeout nochmal auf 10 gestellt. Der errorcount geht auf 0 aber Nachrichten kommen trotzdem nicht durch.
Mit den anderen FHEM Devices muss ich nochmal prüfen. Wie kann ich das am besten? In der Configfile nach httpmod suchen?
Zitat von: Heatseeker am 23 Februar 2021, 06:39:58
Moin,
moin DNS hat eine fixe IP und wird nun auch von FHEM Server umgangen und geht direkt auf den Gateway. Senden klappt ja auch.
Ich habe gerade das timeout nochmal auf 10 gestellt. Der errorcount geht auf 0 aber Nachrichten kommen trotzdem nicht durch.
Mit den anderen FHEM Devices muss ich nochmal prüfen. Wie kann ich das am besten? In der Configfile nach httpmod suchen?
httpmod devices findest Du über den TYPE also
list TYPE=HTTPMOD - generell würde ich empfehlen den Configfile nicht direkt zu verwenden und insbesondere nicht anpassen - aber das ist ein ganz anderes Thema
Ja, DNS scheidet eigentlich aus.
Aber ich wiederhole nochmal einige von den Anmerkungen von oben - vielleicht gehst Du die mal vollständig durch
1) timeout auf kleine Werte setzen (nicht nur einen) und schauen ob irgendwann der poll funktioniert
2) Auf linux ebene schauen ob es Meldungen gibt (kernel, logs, firewall etc) - das gehört aber hier nicht hin, dazu bin ich auch nicht der experte
3) Du musst die Unterschiede zwischen Deiner neuen Installation und der alten herausfinden - Die Virtualisierung ist dabei ein möglicher Kandidat
Hallo.
Beim definieren von telegram stürzt fhem ab:
define Telegram TelegramBot 12345678:xxxxxxxxxxxxxxxxxxx
was hats denn da schon wieder?
Wer weiß das schon :o
Zitat von: satprofi am 06 März 2021, 15:23:26
Hallo.
Beim definieren von telegram stürzt fhem ab:
define Telegram TelegramBot 12345678:xxxxxxxxxxxxxxxxxxx
was hats denn da schon wieder?
Na die üblichen Fragen fallen ein - was hast Du geändert und mit welchen Meldungen stürzt es ab?
So kann ich Dir nicht helfen, denn bei mir stürzt es nicht ab - gerade nochmal probiert
Hab nichts geändert. Habe es jetzt auf 2. FHEM installiert.
Jetzt möchte ich Bilder versenden, habe ein Verzeichnis vom NAS gemountet, aber beim senden findet er das Biuld angeblich nicht.
Wenn ichn es aber aus dem tmp ordner versende klappts wunder bar.
Wo soll ich ansetzen?
Zitat von: satprofi am 07 März 2021, 13:50:00
Hab nichts geändert. Habe es jetzt auf 2. FHEM installiert.
Jetzt möchte ich Bilder versenden, habe ein Verzeichnis vom NAS gemountet, aber beim senden findet er das Biuld angeblich nicht.
Wenn ichn es aber aus dem tmp ordner versende klappts wunder bar.
Wo soll ich ansetzen?
Es war von Absturz die Rede, jetzt findet er ein Bild nicht? Wenn er es angeblich nicht findet, findet er es wohl wirklich nicht, ich wüsste nicht, dass die Dateioperationen bei Linux oder perl Unwahrheiten verbreiten...
Bitte versuche doch zu erklären, was genau nicht funktioniert, welche Schritte / Befehle Du machst und welche Meldungen und Logeinträge kommen.
Hallo zusammen,
Nachdem ich mit pushbullet zum Ende des Monats immer an die max Nachrichtengrenze stoße wollte ich auf den Bot wechseln. Eigentlich kann man nicht viel falsch machen (dachte ich), jedoch kriege ich einfach keine Verbindung! Kann es ggf an ports liegen, die ich noch öffnen muss??
Anbei ein Bild meines Problems:
Gruß
Sebastian
Unabhängig von dem ssl-Fehler:
- keine Screen Shots sondern lists in Code-Tags (das '#' im "Menü") posten
- gibt es Einträge im fhem Log?
- es gibt kein Reading "State" -> event-on-change ist somit naja EDIT: und wird es auch nicht. Wenn dann schon state (also klein geschrieben)... Aber auch das habe ich zumindest bei meinem Bot nicht...
- ebenso event-on-update (aber da sollte ja noch ein passendes Reading kommen)
- also evtl. noch mal bzgl. event-on nachlesen...
Welches System hast du?
Also HW/OS inkl. "Version"...
Und: wie aktuell sind OS und fhem?
EDIT: die "Mühe" bzgl. der FUUID hättest du dir sparen können, das ist "nur" eine "Eindeutigkeitskennung" von fhem-Devices innerhalb DEINES fhem... Beim define/DEF reicht es das Token deines Bot "unkenntlich" zu machen...
EDIT: wiki hast du (bis zu Ende) gelesen?
Zitat von: wiki
Fehlermeldungen bei veralteter SSL-Version
Telegram nutzt seit Februar 2020 eine neue Verschlüsselung und dies ruft bei veralteter Installation eine Fehlermeldung hervor:
NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443
Dies deutet auf eine veraltete SSL-Version hin, siehe dazu die Forumsdiskussion ab diesem Beitrag
https://forum.fhem.de/index.php/topic,38328.msg1021642.html#msg1021642
EDIT: auch das mit dem "zuerst senden" und evtl. alowUnkownContacts (für "dich") und die "Sicherheitseinstellungen" (danach) hast du gelesen?
Gruß, Joachim
Hallo Joachim,
Danke für die Hilfe!
Die Event Attribute hatte ich aus der Anleitung übernommen.
Fhem ist aktuell und Hardware ist ein rapsberry pi 8 Jessie
Jessie!!!!!!?
Also: Jessie, Stretch, Buster
Ich schätze: OS und damit ssl zu alt!
Und Jessie sollte man schon lange nicht mehr haben!
Da gibt es mWn ja schon (lang) keine (Sicherheits-)Updates mehr!!
EDIT: welche Anleitung!!? Im wiki ( https://wiki.fhem.de/wiki/TelegramBot ) konnte ich dazu nichts finden? Und: nicht einfach alles aus "irgendwelchen" Anleitungen "nachklopfen" ohne mal gelesen zu haben was dastut/wozu das gut ist... ;)
Gruß, Joachim
Und im log steht genau das gleiche...leider..
2021.04.01 08:55:50.773 4: TelegramBot_UpdatePoll Jarvis: initiate polling with nonblockingGet with 120s
2021.04.01 08:55:50.828 4: TelegramBot_Callback Jarvis: resulted in NonBlockingGet: returned <hidden>: Can't connect(2) to https://api.telegram.org:443: SSL connect attempt failed error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure from Polling
2021.04.01 08:55:58.564 4: TelegramBot_UpdatePoll Jarvis: initiate polling with nonblockingGet with 120s
Den letzten Part der veralteten ssl Verbindung habe ich nicht gelesen...sorry
Zitat von: Smarthome_BABO am 01 April 2021, 09:26:50
Den letzten Part der veralteten ssl Verbindung habe ich nicht gelesen...sorry
Ist ja kein Problem...
Ausser, dass es verm. eben dein Problem ist...
Du wirsr also (verm.) ein OS-Upgrade durchführen müssen.
Was sich (siehe weiter oben) eh "anbietet"...
Allerdings würde ich neu aufsetzen!
Zwischen Jessie und Stretch wurde von initd auf systemd "umgestellt"...
Ja initd wird auch bei Buster (noch) unterstützt...
Trotzdem würde ich neu machen...
Dauert (i.a.) nicht länger als 2x "hochrüsten" und wenn beim "Hochrüsten" was "schräg läuft", musst du (verm.) eh neu machen...
Backup hast du!!?
Restore geübt!!!?
Wenn nicht: wird es Zeit sich (auch) darum zu kümmern!!
Und ich würde auch gleich eine neue SD nehmen!
Und je nach Raspberry (du hattest ja nicht geschrieben welchen und nicht alle unterstützen "usb-boot") besser eine SSD...
EDIT: was mich trotzdem noch interessieren würde: welche Anleitung hast du herangezogen? Und: du bist seit 2018 dabei? Da war aber Jessie auch schon out und Stretch da!? Warum "damals" schon "so alt" begonnen? ;) Auch andere Module (z.B. echodevice) werden wohl (irgendwann) nach einem Update "schreien"... ;)
Gruß, Joachim
Scheint so, als ob ein Update dringend notwendig wäre! Auch alexa wollte ich neu aufsetzen mit fhem Server.
Warte da nur auf einen Kollegen, der sich deutlich besser mit den Systemen auskennt!
Zur Anleitung:
https://www.meintechblog.de/2018/05/must-have-telegram-chat-mit-deinem-smart-home-per-fhem-realisieren/
Gruß und danke
Sebastian
Zukünftig besser "original-fhem-Quellen" verwenden... ;)
Und auf jeden Fall auf's Datum achten...
...der Link ist von 2018... ;)
Viel Erfolg!
OT:
Evtl. hilfreich:
http://heinz-otto.blogspot.com/search?q=fhem+backup
https://github.com/heinz-otto/raspberry
Wobei mit einem fhem Backup (regelmässig/automatisch) und Notizen (was man sonst noch so gemacht hat: HM-UART, [andere] USB-Sticks, zusätzliche Pakete, ...) und wenn man einfach nach debian.fhem.de -> "the easy way" vorgeht (ab und an ist "sudo" notwendig! [was aber nicht immer dabei steht]), dann ist das Neuaufsetzen schnell erledigt. (bei mir normalerweise unter einer halben Stunde)
End OT
Gruß, Joachim
Danke für die Hilfe!
Werde es zeitnah in Angriff nehmen, wird eh Zeit für ein Backup!
Als workaround zu pushbullet habe ich nun bis zum Update des OS Systems über das echomodul die mobilmessages genutzt...hilft erstmal
Gruß
Sebastian
Ist geplant ReplyKeyboardRemove im Modul abzubilden?
Ich nutze msgDialog und möchte am Ende des Workflows die Standard-Tastatur wieder einblenden.
Derzeit kann ich - zumindest nach meinem Kenntnisstand - nur ein Dummy-Menu/Button anzeigen.
Ich versende seit einiger Zeit täglich Bilder von Grafana über FHEM. Seit heute jedoch kann ich die Bilder nicht mehr versenden.
Callback returned error :Bad Request: IMAGE_PROCESS_FAILED:
Diesen Befehl verwende ich
set Telegram sendImage /opt/fhem/www/images/grafana/Kreis.png
Ein anderes Bild kann jedoch versendet werden
set Telegram sendImage /opt/fhem/www/images/default/back.png
2021.04.24 13:29:02 5: TelegramBot_Callback Telegram: - Ende > Control back to FHEM
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: called
2021.04.24 13:29:02 3: TelegramBot_Callback Telegram: No retry for (ret: Callback returned error :Bad Request: IMAGE_PROCESS_FAILED:) for msg User : /opt/fhem/www/images/grafana/Kreis.png
2021.04.24 13:29:02 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Bad Request: IMAGE_PROCESS_FAILED: from SendIt
2021.04.24 13:29:02 5: TelegramBot_Callback Telegram: after encoding
2021.04.24 13:29:02 5: TelegramBot_Deepencode Telegram: found a HASH
2021.04.24 13:29:02 5: TelegramBot_Deepencode Telegram: encoded a String from :Bad Request: IMAGE_PROCESS_FAILED: to :Bad Request: IMAGE_PROCESS_FAILED:
2021.04.24 13:29:02 5: TelegramBot_Deepencode Telegram: encoded a String from :400: to :400:
2021.04.24 13:29:02 5: TelegramBot_Deepencode Telegram: encoded a String from :0: to :0:
2021.04.24 13:29:02 5: TelegramBot_Callback Telegram: data returned :{"ok":false,"error_code":400,"description":"Bad Request: IMAGE_PROCESS_FAILED"}:
2021.04.24 13:29:02 5: TelegramBot_Callback Telegram: called from SendIt
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: called
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: sendImage done succesful:
2021.04.24 13:29:02 4: TelegramBot_SendIt Telegram: Usereout for sent :30:
--TelegramBot_boundary-x0123--:
</html>
</body>
</script>
performance.mark('js done blocking');
<script nonce="">
</script>
type="text/javascript">
src="public/build/vendors~app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/unicons~app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/moment~app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/angular~app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/runUsere.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
};
}
preloader[0].className = "preloader preloader--done";
if (preloader.length) {
var preloader = document.getElementsByClassName("preloader");
window.onload = function() {
};
navTree: [{"id":"dashboards","text":"Dashboards","subTitle":"Manage dashboards \u0026 folders","icon":"apps","url":"/","sortWeight":-1900,"children":[{"id":"home","text":"Home","icon":"home-alt","url":"/","hideFromTabs":true},{"id":"divider","text":"Divider","divider":true,"hideFromTabs":true},{"id":"manage-dashboards","text":"Manage","icon":"sitemap","url":"/dashboards"},{"id":"playlists","text":"Playlists","icon":"presentation-play","url":"/playlists"}]},{"id":"help","text":"Help","subTitle":"Grafana v7.5.3 (3e3cf4dc60)","icon":"question-circle","url":"#","sortWeight":-1200,"hideFromMenu":true}]
settings: {"alertingEnabled":true,"alertingErrorOrUsereout":"alerting","alertingMinInterval":1,"alertingNoDataOrNullValues":"no_data","allowOrgCreate":false,"appSubUrl":"","appUrl":"http://localhost:3000/","authProxyEnabled":false,"autoAssignOrg":true,"awsAllowedAuthProviders":["default","keys","credentials"],"awsAssumeRoleEnabled":true,"buildInfo":{"buildstamp":1617791761,"commit":"3e3cf4dc60","edition":"Open Source","env":"production","hasUpdate":true,"hideVersion":false,"isEnterprise":false,"latestVersion":"7.5.4","version":"7.5.3"},"datasources":{"-- Dashboard --":{"meta":{"type":"datasource","name":"-- Dashboard --","id":"dashboard","info":{"author":{"name":"","url":""},"description":"","links":null,"logos":{"small":"public/img/icn-datasource.svg","large":"public/img/icn-datasource.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaVersion":"*","plugins":[]},"includes":null,"module":"app/plugins/datasource/dashboard/module","baseUrl":"public/app/plugins/datasource/dashboard","category":"","preload":false,"signature":"internal","Root":null,"annotations":false,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"builtIn":true,"routes":null,"streaming":false},"name":"-- Dashboard --","type":"datasource"},"-- Grafana --":{"meta":{"type":"datasource","name":"-- Grafana --","id":"grafana","info":{"author":{"name":"","url":""},"description":"","links":null,"logos":{"small":"public/img/icn-datasource.svg","large":"public/img/icn-datasource.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaVersion":"*","plugins":[]},"includes":null,"module":"app/plugins/datasource/grafana/module","baseUrl":"public/app/plugins/datasource/grafana","category":"","preload":false,"signature":"internal","Root":null,"annotations":true,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"builtIn":true,"routes":null,"streaming":false},"name":"-- Grafana --","type":"datasource"},"-- Mixed --":{"meta":{"type":"datasource","name":"-- Mixed --","id":"mixed","info":{"author":{"name":"","url":""},"description":"","links":null,"logos":{"small":"public/img/icn-datasource.svg","large":"public/img/icn-datasource.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaVersion":"*","plugins":[]},"includes":null,"module":"app/plugins/datasource/mixed/module","baseUrl":"public/app/plugins/datasource/mixed","category":"","preload":false,"signature":"internal","Root":null,"annotations":false,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"queryOptions":{"minInterval":true},"builtIn":true,"mixed":true,"routes":null,"streaming":false},"name":"-- Mixed --","type":"datasource"}},"dateFormats":{"fullDate":"YYYY-MM-DD HH:mm:ss","useBrowserLocale":false,"interval":{"second":"HH:mm:ss","minute":"HH:mm","hour":"DD.MM HH:mm","day":"MMM DD","month":"YYYY/MM","year":"YYYY"},"defaultUserezone":"browser"},"defaultDatasource":"-- Grafana --","disableLoginForm":false,"disableSanitizeHtml":false,"disableUserSignUp":true,"editorsCanAdmin":false,"exploreEnabled":true,"expressionsEnabled":true,"externalUserMngInfo":"","externalUserMngLinkName":"","externalUserMngLinkUrl":"","featureToggles":{},"googleAnalyticsId":"","http2Enabled":false,"ldapEnabled":false,"licenseInfo":{"edition":"Open Source","expiry":0,"hasLicense":false,"hasValidLicense":false,"licenseUrl":"https://grafana.com/products/enterprise/?utm_source=grafana_footer","stateInfo":""},"loginHint":"email or username","marketplaceUrl":"https://grafana.com/grafana/plugins/","minRefreshInterval":"5s","oauth":{},"panels":{"alertlist":{"baseUrl":"public/app/plugins/panel/alertlist","hideFromList":false,"id":"alertlist","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Shows list of alerts and their current status","links":null,"logos":{"small":"public/app/plugins/panel/alertlist/img/icn-singlestat-panel.svg","large":"public/app/plugins/panel/alertlist/img/icn-singlestat-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/alertlist/module","name":"Alert list","signature":"internal","skipDataQuery":true,"sort":10,"state":""},"bargauge":{"baseUrl":"public/app/plugins/panel/bargauge","hideFromList":false,"id":"bargauge","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/bargauge/img/icon_bar_gauge.svg","large":"public/app/plugins/panel/bargauge/img/icon_bar_gauge.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/bargauge/module","name":"Bar gauge","signature":"internal","skipDataQuery":false,"sort":5,"state":""},"dashlist":{"baseUrl":"public/app/plugins/panel/dashlist","hideFromList":false,"id":"dashlist","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"List of dynamic links to other dashboards","links":null,"logos":{"small":"public/app/plugins/panel/dashlist/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/dashlist/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/dashlist/module","name":"Dashboard list","signature":"internal","skipDataQuery":true,"sort":11,"state":""},"gauge":{"baseUrl":"public/app/plugins/panel/gauge","hideFromList":false,"id":"gauge","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/gauge/img/icon_gauge.svg","large":"public/app/plugins/panel/gauge/img/icon_gauge.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/gauge/module","name":"Gauge","signature":"internal","skipDataQuery":false,"sort":4,"state":""},"gettingstarted":{"baseUrl":"public/app/plugins/panel/gettingstarted","hideFromList":true,"id":"gettingstarted","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/gettingstarted/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/gettingstarted/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/gettingstarted/module","name":"Getting Started","signature":"internal","skipDataQuery":true,"sort":100,"state":""},"graph":{"baseUrl":"public/app/plugins/panel/graph","hideFromList":false,"id":"graph","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Graph Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/graph/img/icn-graph-panel.svg","large":"public/app/plugins/panel/graph/img/icn-graph-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/graph/module","name":"Graph","signature":"internal","skipDataQuery":false,"sort":1,"state":""},"heatmap":{"baseUrl":"public/app/plugins/panel/heatmap","hideFromList":false,"id":"heatmap","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Heatmap Panel for Grafana","links":[{"name":"Brendan Gregg - Heatmaps","url":"http://www.brendangregg.com/heatmaps.html"},{"name":"Brendan Gregg - Latency Heatmaps","url":" http://www.brendangregg.com/HeatMaps/latency.html"}],"logos":{"small":"public/app/plugins/panel/heatmap/img/icn-heatmap-panel.svg","large":"public/app/plugins/panel/heatmap/img/icn-heatmap-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/heatmap/module","name":"Heatmap","signature":"internal","skipDataQuery":false,"sort":9,"state":""},"logs":{"baseUrl":"public/app/plugins/panel/logs","hideFromList":false,"id":"logs","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/logs/img/icn-logs-panel.svg","large":"public/app/plugins/panel/logs/img/icn-logs-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/logs/module","name":"Logs","signature":"internal","skipDataQuery":false,"sort":100,"state":""},"news":{"baseUrl":"public/app/plugins/panel/news","hideFromList":false,"id":"news","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/news/img/news.svg","large":"public/app/plugins/panel/news/img/news.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/news/module","name":"News","signature":"internal","skipDataQuery":true,"sort":12,"state":"beta"},"nodeGraph":{"baseUrl":"public/app/plugins/panel/nodeGraph","hideFromList":false,"id":"nodeGraph","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/nodeGraph/img/icn-node-graph.svg","large":"public/app/plugins/panel/nodeGraph/img/icn-node-graph.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/nodeGraph/module","name":"Node Graph","signature":"internal","skipDataQuery":false,"sort":100,"state":"beta"},"piechart":{"baseUrl":"public/app/plugins/panel/piechart","hideFromList":false,"id":"piechart","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/piechart/img/icon_piechart.svg","large":"public/app/plugins/panel/piechart/img/icon_piechart.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/piechart/module","name":"Pie chart v2","signature":"internal","skipDataQuery":false,"sort":100,"state":"beta"},"pluginlist":{"baseUrl":"public/app/plugins/panel/pluginlist","hideFromList":false,"id":"pluginlist","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Plugin List for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/pluginlist/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/pluginlist/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/pluginlist/module","name":"Plugin list","signature":"internal","skipDataQuery":true,"sort":100,"state":""},"singlestat":{"baseUrl":"public/app/plugins/panel/singlestat","hideFromList":false,"id":"singlestat","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Singlestat Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/singlestat/img/icn-singlestat-panel.svg","large":"public/app/plugins/panel/singlestat/img/icn-singlestat-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/singlestat/module","name":"Singlestat","signature":"internal","skipDataQuery":false,"sort":7,"state":"deprecated"},"stat":{"baseUrl":"public/app/plugins/panel/stat","hideFromList":false,"id":"stat","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Singlestat Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/stat/img/icn-singlestat-panel.svg","large":"public/app/plugins/panel/stat/img/icn-singlestat-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/stat/module","name":"Stat","signature":"internal","skipDataQuery":false,"sort":3,"state":""},"table":{"baseUrl":"public/app/plugins/panel/table","hideFromList":false,"id":"table","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Table Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/table/img/icn-table-panel.svg","large":"public/app/plugins/panel/table/img/icn-table-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/table/module","name":"Table","signature":"internal","skipDataQuery":false,"sort":6,"state":""},"table-old":{"baseUrl":"public/app/plugins/panel/table-old","hideFromList":false,"id":"table-old","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Table Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/table-old/img/icn-table-panel.svg","large":"public/app/plugins/panel/table-old/img/icn-table-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/table-old/module","name":"Table (old)","signature":"internal","skipDataQuery":false,"sort":100,"state":"deprecated"},"text":{"baseUrl":"public/app/plugins/panel/text","hideFromList":false,"id":"text","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/text/img/icn-text-panel.svg","large":"public/app/plugins/panel/text/img/icn-text-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/text/module","name":"Text","signature":"internal","skipDataQuery":true,"sort":8,"state":""},"Usereseries":{"baseUrl":"public/app/plugins/panel/Usereseries","hideFromList":false,"id":"Usereseries","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/Usereseries/img/icn-Usereseries-panel.svg","large":"public/app/plugins/panel/Usereseries/img/icn-Usereseries-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/Usereseries/module","name":"Usere series","signature":"internal","skipDataQuery":false,"sort":2,"state":"beta"},"welcome":{"baseUrl":"public/app/plugins/panel/welcome","hideFromList":true,"id":"welcome","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/welcome/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/welcome/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/welcome/module","name":"Welcome","signature":"internal","skipDataQuery":true,"sort":100,"state":""}},"passwordHint":"password","pluginsToPreload":[],"rendererAvailable":true,"samlEnabled":false,"sentry":{"enabled":false,"dsn":"","customEndpoint":"/log","sampleRate":1},"sigV4AuthEnabled":false,"verifyEmailEnabled":false,"viewersCanEdit":false},
user: {"isSignedIn":false,"id":0,"login":"","email":"","name":"","lightTheme":false,"orgCount":0,"orgId":0,"orgName":"","orgRole":"","isGrafanaAdmin":false,"gravatarUrl":"","Userezone":"browser","locale":"en-US","helpFlags1":0,"hasEditPermissionInFolders":false},
window.grafanaBootData = {
<script nonce="">
</grafana-app>
</div>
<div ng-view class="scroll-canvas"></div>
<div class="main-view">
<search-wrapper></search-wrapper>
<app-notifications-list class="page-alert-list"></app-notifications-list>
<sidemenu class="sidemenu"></sidemenu>
<grafana-app class="grafana-app" ng-cloak>
</div>
</div>
</p>
supported browsers</a>.
href="https://grafana.com/docs/grafana/latest/installation/requirements/#supported-web-browsers">
5. Check if you are using a non-supported browser. For more information, refer to the list of <a
<br />
4. SomeUseres restarting grafana-server can help<br />
<br />
build<br />
3. If you have a local dev build make sure you build frontend using: yarn start, yarn start:hot, or yarn
<br />
using a reverse proxy make sure to set serve_from_sub_path to true.<br />
2. If you host grafana under subpath make sure your grafana.ini root_url setting includes subpath. If not
1. This could be caused by your reverse proxy settings.<br /><br />
<p>
</p>
<br />
<br />
<strong>If you're seeing this Grafana has failed to load its application files</strong>
<p>
<div class="preloader__text preloader__text--fail">
<div class="preloader__text">Loading Grafana</div>
</div>
</div>
<div class="preloader__logo"></div>
<div class="preloader__bounce">
<div class="preloader__enter">
<div class="preloader">
</style>
}
display: none !important;
.ng-cloak {
[ng-cloak],
[ng\:cloak],
}
display: block;
.preloader--done .preloader__text--fail {
}
font-size: 15px;
color: #ff5705 !important;
display: none;
.preloader--done .preloader__text {
.preloader--done .preloader__logo,
}
display: none;
animation-name: none;
.preloader--done .preloader__logo {
.preloader--done .preloader__bounce,
}
display: none;
.preloader__text--fail {
}
}
animation-Usering-function: cubic-bezier(0, 0, 0.7, 1);
transform-origin: bottom center;
transform: scaleX(1.3) scaleY(0.8);
100% {
}
transform-origin: bottom center;
animation-Usering-function: cubic-bezier(0, 0, 0, 1);
transform: scaleX(0.75) scaleY(1.25);
95% {
}
transform-origin: top center;
animation-Usering-function: cubic-bezier(0.9, 0, 1, 1);
transform: scaleX(1.05) scaleY(0.95);
55% {
}
transform-origin: bottom center;
animation-Usering-function: cubic-bezier(0, 0, 0.7, 0.75);
transform: scaleX(0.75) scaleY(1.25);
15% {
}
transform-origin: bottom center;
animation-Usering-function: cubic-bezier(0.3, 0, 0.1, 1);
transform: scaleX(1.3) scaleY(0.8);
0% {
@keyframes preloader-squash {
}
}
animation-Usering-function: cubic-bezier(0.9, 0, 0.7, 1);
transform: translateY(-50px);
50% {
}
animation-Usering-function: cubic-bezier(0.3, 0, 0.1, 1);
transform: translateY(0px);
to {
from,
@keyframes preloader-bounce {
}
}
opacity: 1;
100% {
}
animation-Usering-function: cubic-bezier(0, 0, 0.5, 1);
opacity: 0;
0% {
@keyframes preloader-fade-in {
}
color: #d8d9da;
.theme-dark .preloader__text {
}
color: #52545c;
.theme-light .preloader__text {
}
animation-fill-mode: forwards;
animation-delay: 1.8s;
animation-duration: 0.9s;
animation-name: preloader-fade-in;
opacity: 0;
font-family: Sans-serif;
font-size: 14px;
font-weight: 500;
margin-top: 16px;
.preloader__text {
}
background-image: url("data:image/svg+xml,%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='351px' height='365px' viewBox='0 0 351 365' style='enable-background:new 0 0 351 365%3b' xml:space='preserve'%3e %3cstyle type='text/css'%3e .st0%7bfill:url(%23SVGID_1_)%3b%7d %3c/style%3e %3cg id='Layer_1_1_'%3e %3c/g%3e %3clinearGradient id='SVGID_1_' gradientUnits='userSpaceOnUse' x1='175.5' y1='445.4948' x2='175.5' y2='114.0346'%3e %3cstop offset='0' style='stop-color:%23FFF100'/%3e %3cstop offset='1' style='stop-color:%23F05A28'/%3e %3c/linearGradient%3e %3cpath class='st0' d='M342%2c161.2c-0.6-6.1-1.6-13.1-3.6-20.9c-2-7.7-5-16.2-9.4-25c-4.4-8.8-10.1-17.9-17.5-26.8 c-2.9-3.5-6.1-6.9-9.5-10.2c5.1-20.3-6.2-37.9-6.2-37.9c-19.5-1.2-31.9%2c6.1-36.5%2c9.4c-0.8-0.3-1.5-0.7-2.3-1 c-3.3-1.3-6.7-2.6-10.3-3.7c-3.5-1.1-7.1-2.1-10.8-3c-3.7-0.9-7.4-1.6-11.2-2.2c-0.7-0.1-1.3-0.2-2-0.3 c-8.5-27.2-32.9-38.6-32.9-38.6c-27.3%2c17.3-32.4%2c41.5-32.4%2c41.5s-0.1%2c0.5-0.3%2c1.4c-1.5%2c0.4-3%2c0.9-4.5%2c1.3c-2.1%2c0.6-4.2%2c1.4-6.2%2c2.2 c-2.1%2c0.8-4.1%2c1.6-6.2%2c2.5c-4.1%2c1.8-8.2%2c3.8-12.2%2c6c-3.9%2c2.2-7.7%2c4.6-11.4%2c7.1c-0.5-0.2-1-0.4-1-0.4c-37.8-14.4-71.3%2c2.9-71.3%2c2.9 c-3.1%2c40.2%2c15.1%2c65.5%2c18.7%2c70.1c-0.9%2c2.5-1.7%2c5-2.5%2c7.5c-2.8%2c9.1-4.9%2c18.4-6.2%2c28.1c-0.2%2c1.4-0.4%2c2.8-0.5%2c4.2 C18.8%2c192.7%2c8.5%2c228%2c8.5%2c228c29.1%2c33.5%2c63.1%2c35.6%2c63.1%2c35.6c0%2c0%2c0.1-0.1%2c0.1-0.1c4.3%2c7.7%2c9.3%2c15%2c14.9%2c21.9c2.4%2c2.9%2c4.8%2c5.6%2c7.4%2c8.3 c-10.6%2c30.4%2c1.5%2c55.6%2c1.5%2c55.6c32.4%2c1.2%2c53.7-14.2%2c58.2-17.7c3.2%2c1.1%2c6.5%2c2.1%2c9.8%2c2.9c10%2c2.6%2c20.2%2c4.1%2c30.4%2c4.5 c2.5%2c0.1%2c5.1%2c0.2%2c7.6%2c0.1l1.2%2c0l0.8%2c0l1.6%2c0l1.6-0.1l0%2c0.1c15.3%2c21.8%2c42.1%2c24.9%2c42.1%2c24.9c19.1-20.1%2c20.2-40.1%2c20.2-44.4l0%2c0 c0%2c0%2c0-0.1%2c0-0.3c0-0.4%2c0-0.6%2c0-0.6l0%2c0c0-0.3%2c0-0.6%2c0-0.9c4-2.8%2c7.8-5.8%2c11.4-9.1c7.6-6.9%2c14.3-14.8%2c19.9-23.3 c0.5-0.8%2c1-1.6%2c1.5-2.4c21.6%2c1.2%2c36.9-13.4%2c36.9-13.4c-3.6-22.5-16.4-33.5-19.1-35.6l0%2c0c0%2c0-0.1-0.1-0.3-0.2 c-0.2-0.1-0.2-0.2-0.2-0.2c0%2c0%2c0%2c0%2c0%2c0c-0.1-0.1-0.3-0.2-0.5-0.3c0.1-1.4%2c0.2-2.7%2c0.3-4.1c0.2-2.4%2c0.2-4.9%2c0.2-7.3l0-1.8l0-0.9 l0-0.5c0-0.6%2c0-0.4%2c0-0.6l-0.1-1.5l-0.1-2c0-0.7-0.1-1.3-0.2-1.9c-0.1-0.6-0.1-1.3-0.2-1.9l-0.2-1.9l-0.3-1.9 c-0.4-2.5-0.8-4.9-1.4-7.4c-2.3-9.7-6.1-18.9-11-27.2c-5-8.3-11.2-15.6-18.3-21.8c-7-6.2-14.9-11.2-23.1-14.9 c-8.3-3.7-16.9-6.1-25.5-7.2c-4.3-0.6-8.6-0.8-12.9-0.7l-1.6%2c0l-0.4%2c0c-0.1%2c0-0.6%2c0-0.5%2c0l-0.7%2c0l-1.6%2c0.1c-0.6%2c0-1.2%2c0.1-1.7%2c0.1 c-2.2%2c0.2-4.4%2c0.5-6.5%2c0.9c-8.6%2c1.6-16.7%2c4.7-23.8%2c9c-7.1%2c4.3-13.3%2c9.6-18.3%2c15.6c-5%2c6-8.9%2c12.7-11.6%2c19.6c-2.7%2c6.9-4.2%2c14.1-4.6%2c21 c-0.1%2c1.7-0.1%2c3.5-0.1%2c5.2c0%2c0.4%2c0%2c0.9%2c0%2c1.3l0.1%2c1.4c0.1%2c0.8%2c0.1%2c1.7%2c0.2%2c2.5c0.3%2c3.5%2c1%2c6.9%2c1.9%2c10.1c1.9%2c6.5%2c4.9%2c12.4%2c8.6%2c17.4 c3.7%2c5%2c8.2%2c9.1%2c12.9%2c12.4c4.7%2c3.2%2c9.8%2c5.5%2c14.8%2c7c5%2c1.5%2c10%2c2.1%2c14.7%2c2.1c0.6%2c0%2c1.2%2c0%2c1.7%2c0c0.3%2c0%2c0.6%2c0%2c0.9%2c0c0.3%2c0%2c0.6%2c0%2c0.9-0.1 c0.5%2c0%2c1-0.1%2c1.5-0.1c0.1%2c0%2c0.3%2c0%2c0.4-0.1l0.5-0.1c0.3%2c0%2c0.6-0.1%2c0.9-0.1c0.6-0.1%2c1.1-0.2%2c1.7-0.3c0.6-0.1%2c1.1-0.2%2c1.6-0.4 c1.1-0.2%2c2.1-0.6%2c3.1-0.9c2-0.7%2c4-1.5%2c5.7-2.4c1.8-0.9%2c3.4-2%2c5-3c0.4-0.3%2c0.9-0.6%2c1.3-1c1.6-1.3%2c1.9-3.7%2c0.6-5.3 c-1.1-1.4-3.1-1.8-4.7-0.9c-0.4%2c0.2-0.8%2c0.4-1.2%2c0.6c-1.4%2c0.7-2.8%2c1.3-4.3%2c1.8c-1.5%2c0.5-3.1%2c0.9-4.7%2c1.2c-0.8%2c0.1-1.6%2c0.2-2.5%2c0.3 c-0.4%2c0-0.8%2c0.1-1.3%2c0.1c-0.4%2c0-0.9%2c0-1.2%2c0c-0.4%2c0-0.8%2c0-1.2%2c0c-0.5%2c0-1%2c0-1.5-0.1c0%2c0-0.3%2c0-0.1%2c0l-0.2%2c0l-0.3%2c0 c-0.2%2c0-0.5%2c0-0.7-0.1c-0.5-0.1-0.9-0.1-1.4-0.2c-3.7-0.5-7.4-1.6-10.9-3.2c-3.6-1.6-7-3.8-10.1-6.6c-3.1-2.8-5.8-6.1-7.9-9.9 c-2.1-3.8-3.6-8-4.3-12.4c-0.3-2.2-0.5-4.5-0.4-6.7c0-0.6%2c0.1-1.2%2c0.1-1.8c0%2c0.2%2c0-0.1%2c0-0.1l0-0.2l0-0.5c0-0.3%2c0.1-0.6%2c0.1-0.9 c0.1-1.2%2c0.3-2.4%2c0.5-3.6c1.7-9.6%2c6.5-19%2c13.9-26.1c1.9-1.8%2c3.9-3.4%2c6-4.9c2.1-1.5%2c4.4-2.8%2c6.8-3.9c2.4-1.1%2c4.8-2%2c7.4-2.7 c2.5-0.7%2c5.1-1.1%2c7.8-1.4c1.3-0.1%2c2.6-0.2%2c4-0.2c0.4%2c0%2c0.6%2c0%2c0.9%2c0l1.1%2c0l0.7%2c0c0.3%2c0%2c0%2c0%2c0.1%2c0l0.3%2c0l1.1%2c0.1 c2.9%2c0.2%2c5.7%2c0.6%2c8.5%2c1.3c5.6%2c1.2%2c11.1%2c3.3%2c16.2%2c6.1c10.2%2c5.7%2c18.9%2c14.5%2c24.2%2c25.1c2.7%2c5.3%2c4.6%2c11%2c5.5%2c16.9c0.2%2c1.5%2c0.4%2c3%2c0.5%2c4.5 l0.1%2c1.1l0.1%2c1.1c0%2c0.4%2c0%2c0.8%2c0%2c1.1c0%2c0.4%2c0%2c0.8%2c0%2c1.1l0%2c1l0%2c1.1c0%2c0.7-0.1%2c1.9-0.1%2c2.6c-0.1%2c1.6-0.3%2c3.3-0.5%2c4.9 c-0.2%2c1.6-0.5%2c3.2-0.8%2c4.8c-0.3%2c1.6-0.7%2c3.2-1.1%2c4.7c-0.8%2c3.1-1.8%2c6.2-3%2c9.3c-2.4%2c6-5.6%2c11.8-9.4%2c17.1 c-7.7%2c10.6-18.2%2c19.2-30.2%2c24.7c-6%2c2.7-12.3%2c4.7-18.8%2c5.7c-3.2%2c0.6-6.5%2c0.9-9.8%2c1l-0.6%2c0l-0.5%2c0l-1.1%2c0l-1.6%2c0l-0.8%2c0 c0.4%2c0-0.1%2c0-0.1%2c0l-0.3%2c0c-1.8%2c0-3.5-0.1-5.3-0.3c-7-0.5-13.9-1.8-20.7-3.7c-6.7-1.9-13.2-4.6-19.4-7.8 c-12.3-6.6-23.4-15.6-32-26.5c-4.3-5.4-8.1-11.3-11.2-17.4c-3.1-6.1-5.6-12.6-7.4-19.1c-1.8-6.6-2.9-13.3-3.4-20.1l-0.1-1.3l0-0.3 l0-0.3l0-0.6l0-1.1l0-0.3l0-0.4l0-0.8l0-1.6l0-0.3c0%2c0%2c0%2c0.1%2c0-0.1l0-0.6c0-0.8%2c0-1.7%2c0-2.5c0.1-3.3%2c0.4-6.8%2c0.8-10.2 c0.4-3.4%2c1-6.9%2c1.7-10.3c0.7-3.4%2c1.5-6.8%2c2.5-10.2c1.9-6.7%2c4.3-13.2%2c7.1-19.3c5.7-12.2%2c13.1-23.1%2c22-31.8c2.2-2.2%2c4.5-4.2%2c6.9-6.2 c2.4-1.9%2c4.9-3.7%2c7.5-5.4c2.5-1.7%2c5.2-3.2%2c7.9-4.6c1.3-0.7%2c2.7-1.4%2c4.1-2c0.7-0.3%2c1.4-0.6%2c2.1-0.9c0.7-0.3%2c1.4-0.6%2c2.1-0.9 c2.8-1.2%2c5.7-2.2%2c8.7-3.1c0.7-0.2%2c1.5-0.4%2c2.2-0.7c0.7-0.2%2c1.5-0.4%2c2.2-0.6c1.5-0.4%2c3-0.8%2c4.5-1.1c0.7-0.2%2c1.5-0.3%2c2.3-0.5 c0.8-0.2%2c1.5-0.3%2c2.3-0.5c0.8-0.1%2c1.5-0.3%2c2.3-0.4l1.1-0.2l1.2-0.2c0.8-0.1%2c1.5-0.2%2c2.3-0.3c0.9-0.1%2c1.7-0.2%2c2.6-0.3 c0.7-0.1%2c1.9-0.2%2c2.6-0.3c0.5-0.1%2c1.1-0.1%2c1.6-0.2l1.1-0.1l0.5-0.1l0.6%2c0c0.9-0.1%2c1.7-0.1%2c2.6-0.2l1.3-0.1c0%2c0%2c0.5%2c0%2c0.1%2c0l0.3%2c0 l0.6%2c0c0.7%2c0%2c1.5-0.1%2c2.2-0.1c2.9-0.1%2c5.9-0.1%2c8.8%2c0c5.8%2c0.2%2c11.5%2c0.9%2c17%2c1.9c11.1%2c2.1%2c21.5%2c5.6%2c31%2c10.3 c9.5%2c4.6%2c17.9%2c10.3%2c25.3%2c16.5c0.5%2c0.4%2c0.9%2c0.8%2c1.4%2c1.2c0.4%2c0.4%2c0.9%2c0.8%2c1.3%2c1.2c0.9%2c0.8%2c1.7%2c1.6%2c2.6%2c2.4c0.9%2c0.8%2c1.7%2c1.6%2c2.5%2c2.4 c0.8%2c0.8%2c1.6%2c1.6%2c2.4%2c2.5c3.1%2c3.3%2c6%2c6.6%2c8.6%2c10c5.2%2c6.7%2c9.4%2c13.5%2c12.7%2c19.9c0.2%2c0.4%2c0.4%2c0.8%2c0.6%2c1.2c0.2%2c0.4%2c0.4%2c0.8%2c0.6%2c1.2 c0.4%2c0.8%2c0.8%2c1.6%2c1.1%2c2.4c0.4%2c0.8%2c0.7%2c1.5%2c1.1%2c2.3c0.3%2c0.8%2c0.7%2c1.5%2c1%2c2.3c1.2%2c3%2c2.4%2c5.9%2c3.3%2c8.6c1.5%2c4.4%2c2.6%2c8.3%2c3.5%2c11.7 c0.3%2c1.4%2c1.6%2c2.3%2c3%2c2.1c1.5-0.1%2c2.6-1.3%2c2.6-2.8C342.6%2c170.4%2c342.5%2c166.1%2c342%2c161.2z'/%3e %3c/svg%3e");
background-size: contain;
background-repeat: no-repeat;
height: 60px;
width: 60px;
animation-iteration-count: infinite;
animation-duration: 0.9s;
animation-name: preloader-squash;
display: inline-block;
.preloader__logo {
}
animation-iteration-count: infinite;
animation-duration: 0.9s;
animation-name: preloader-bounce;
text-align: center;
.preloader__bounce {
}
animation-fill-mode: forwards;
animation-delay: 1.35s;
animation-duration: 0.9s;
animation-iteration-count: 1;
animation-name: preloader-fade-in;
opacity: 0;
.preloader__enter {
}
align-items: center;
justify-content: center;
display: flex;
flex-direction: column;
height: 100%;
.preloader {
<style>
<body class="theme-dark app-grafana">
</head>
<meta name="msapplication-config" content="public/img/browserconfig.xml" />
<meta name="msapplication-TileColor" content="#2b5797" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-mobile-web-app-capable" content="yes" />
</script>
performance.mark('css done blocking');
<script nonce="">
<link rel="stylesheet" href="public/build/grafana.dark.88f3571bf814cd85c9d4.css" />
<link rel="mask-icon" href="public/img/grafana_mask_icon.svg" color="#F05A28" />
<link rel="apple-touch-icon" sizes="180x180" href="public/img/apple-touch-icon.png" />
<link rel="icon" type="image/png" href="public/img/fav32.png" />
/>
crossorigin
as="font"
href="public/fonts/roboto/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2"
rel="preload"
<link
<base href="/" />
<title>Grafana</title>
<meta name="theme-color" content="#000" />
<meta name="viewport" content="width=device-width" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta charset="utf-8" />
</script>
})();
}
g.o.observe({ entryTypes: ['longtask'] });
});
g.e = g.e.concat(l.getEntries());
g.o = new PerformanceObserver(function (l) {
var g = (window.__tti = { e: [] });
if ('PerformanceLongTaskUsering' in window) {
!(function () {
<script nonce="">
<head>
<html lang="en">
<!DOCTYPE html>
Content-Disposition: form-data; name="photo"; filename="Kreis.png"
--TelegramBot_boundary-x0123
265897026
Content-Disposition: form-data; name="chat_id"
2021.04.24 13:29:02 4: TelegramBot_SendIt Telegram: Message for sending :--TelegramBot_boundary-x0123
2021.04.24 13:29:02 4: TelegramBot_SendIt Telegram: Filename for image file :/opt/fhem/www/images/grafana/Kreis.png:
2021.04.24 13:29:02 5: TelegramBot_readToken: Read Telegram API token from file
2021.04.24 13:29:02 4: TelegramBot_GetFullnameForContact # name is User
2021.04.24 13:29:02 4: TelegramBot_GetFullnameForContact # Contacts is 265897026:User:@UserID:
2021.04.24 13:29:02 5: TelegramBot_SendIt Telegram: try to send message to :User: -:/opt/fhem/www/images/grafana/Kreis.png: - add :<undef>: - replyid :<undef>:: options ::
2021.04.24 13:29:02 5: TelegramBot_SendIt Telegram: called
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: start send for cmd :sendImage: and sendType :1:
2021.04.24 13:29:02 4: TelegramBot_Set Telegram: Processing TelegramBot_Set( sendImage )
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: called
Zitat von: TWART016 am 24 April 2021, 13:35:10
Ich versende seit einiger Zeit täglich Bilder von Grafana über FHEM. Seit heute jedoch kann ich die Bilder nicht mehr versenden.
Callback returned error :Bad Request: IMAGE_PROCESS_FAILED:
Diesen Befehl verwende ich
set Telegram sendImage /opt/fhem/www/images/grafana/Kreis.png
Ein anderes Bild kann jedoch versendet werden
set Telegram sendImage /opt/fhem/www/images/default/back.png
2021.04.24 13:29:02 5: TelegramBot_Callback Telegram: - Ende > Control back to FHEM
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: called
2021.04.24 13:29:02 3: TelegramBot_Callback Telegram: No retry for (ret: Callback returned error :Bad Request: IMAGE_PROCESS_FAILED:) for msg User : /opt/fhem/www/images/grafana/Kreis.png
2021.04.24 13:29:02 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Bad Request: IMAGE_PROCESS_FAILED: from SendIt
2021.04.24 13:29:02 5: TelegramBot_Callback Telegram: after encoding
2021.04.24 13:29:02 5: TelegramBot_Deepencode Telegram: found a HASH
2021.04.24 13:29:02 5: TelegramBot_Deepencode Telegram: encoded a String from :Bad Request: IMAGE_PROCESS_FAILED: to :Bad Request: IMAGE_PROCESS_FAILED:
2021.04.24 13:29:02 5: TelegramBot_Deepencode Telegram: encoded a String from :400: to :400:
2021.04.24 13:29:02 5: TelegramBot_Deepencode Telegram: encoded a String from :0: to :0:
2021.04.24 13:29:02 5: TelegramBot_Callback Telegram: data returned :{"ok":false,"error_code":400,"description":"Bad Request: IMAGE_PROCESS_FAILED"}:
2021.04.24 13:29:02 5: TelegramBot_Callback Telegram: called from SendIt
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: called
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: sendImage done succesful:
2021.04.24 13:29:02 4: TelegramBot_SendIt Telegram: Usereout for sent :30:
--TelegramBot_boundary-x0123--:
</html>
</body>
</script>
performance.mark('js done blocking');
<script nonce="">
</script>
type="text/javascript">
src="public/build/vendors~app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/unicons~app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/moment~app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/angular~app.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
type="text/javascript">
src="public/build/runUsere.88f3571bf814cd85c9d4.js"
nonce=""
<script
</script>
};
}
preloader[0].className = "preloader preloader--done";
if (preloader.length) {
var preloader = document.getElementsByClassName("preloader");
window.onload = function() {
};
navTree: [{"id":"dashboards","text":"Dashboards","subTitle":"Manage dashboards \u0026 folders","icon":"apps","url":"/","sortWeight":-1900,"children":[{"id":"home","text":"Home","icon":"home-alt","url":"/","hideFromTabs":true},{"id":"divider","text":"Divider","divider":true,"hideFromTabs":true},{"id":"manage-dashboards","text":"Manage","icon":"sitemap","url":"/dashboards"},{"id":"playlists","text":"Playlists","icon":"presentation-play","url":"/playlists"}]},{"id":"help","text":"Help","subTitle":"Grafana v7.5.3 (3e3cf4dc60)","icon":"question-circle","url":"#","sortWeight":-1200,"hideFromMenu":true}]
settings: {"alertingEnabled":true,"alertingErrorOrUsereout":"alerting","alertingMinInterval":1,"alertingNoDataOrNullValues":"no_data","allowOrgCreate":false,"appSubUrl":"","appUrl":"http://localhost:3000/","authProxyEnabled":false,"autoAssignOrg":true,"awsAllowedAuthProviders":["default","keys","credentials"],"awsAssumeRoleEnabled":true,"buildInfo":{"buildstamp":1617791761,"commit":"3e3cf4dc60","edition":"Open Source","env":"production","hasUpdate":true,"hideVersion":false,"isEnterprise":false,"latestVersion":"7.5.4","version":"7.5.3"},"datasources":{"-- Dashboard --":{"meta":{"type":"datasource","name":"-- Dashboard --","id":"dashboard","info":{"author":{"name":"","url":""},"description":"","links":null,"logos":{"small":"public/img/icn-datasource.svg","large":"public/img/icn-datasource.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaVersion":"*","plugins":[]},"includes":null,"module":"app/plugins/datasource/dashboard/module","baseUrl":"public/app/plugins/datasource/dashboard","category":"","preload":false,"signature":"internal","Root":null,"annotations":false,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"builtIn":true,"routes":null,"streaming":false},"name":"-- Dashboard --","type":"datasource"},"-- Grafana --":{"meta":{"type":"datasource","name":"-- Grafana --","id":"grafana","info":{"author":{"name":"","url":""},"description":"","links":null,"logos":{"small":"public/img/icn-datasource.svg","large":"public/img/icn-datasource.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaVersion":"*","plugins":[]},"includes":null,"module":"app/plugins/datasource/grafana/module","baseUrl":"public/app/plugins/datasource/grafana","category":"","preload":false,"signature":"internal","Root":null,"annotations":true,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"builtIn":true,"routes":null,"streaming":false},"name":"-- Grafana --","type":"datasource"},"-- Mixed --":{"meta":{"type":"datasource","name":"-- Mixed --","id":"mixed","info":{"author":{"name":"","url":""},"description":"","links":null,"logos":{"small":"public/img/icn-datasource.svg","large":"public/img/icn-datasource.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaVersion":"*","plugins":[]},"includes":null,"module":"app/plugins/datasource/mixed/module","baseUrl":"public/app/plugins/datasource/mixed","category":"","preload":false,"signature":"internal","Root":null,"annotations":false,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"queryOptions":{"minInterval":true},"builtIn":true,"mixed":true,"routes":null,"streaming":false},"name":"-- Mixed --","type":"datasource"}},"dateFormats":{"fullDate":"YYYY-MM-DD HH:mm:ss","useBrowserLocale":false,"interval":{"second":"HH:mm:ss","minute":"HH:mm","hour":"DD.MM HH:mm","day":"MMM DD","month":"YYYY/MM","year":"YYYY"},"defaultUserezone":"browser"},"defaultDatasource":"-- Grafana --","disableLoginForm":false,"disableSanitizeHtml":false,"disableUserSignUp":true,"editorsCanAdmin":false,"exploreEnabled":true,"expressionsEnabled":true,"externalUserMngInfo":"","externalUserMngLinkName":"","externalUserMngLinkUrl":"","featureToggles":{},"googleAnalyticsId":"","http2Enabled":false,"ldapEnabled":false,"licenseInfo":{"edition":"Open Source","expiry":0,"hasLicense":false,"hasValidLicense":false,"licenseUrl":"https://grafana.com/products/enterprise/?utm_source=grafana_footer","stateInfo":""},"loginHint":"email or username","marketplaceUrl":"https://grafana.com/grafana/plugins/","minRefreshInterval":"5s","oauth":{},"panels":{"alertlist":{"baseUrl":"public/app/plugins/panel/alertlist","hideFromList":false,"id":"alertlist","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Shows list of alerts and their current status","links":null,"logos":{"small":"public/app/plugins/panel/alertlist/img/icn-singlestat-panel.svg","large":"public/app/plugins/panel/alertlist/img/icn-singlestat-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/alertlist/module","name":"Alert list","signature":"internal","skipDataQuery":true,"sort":10,"state":""},"bargauge":{"baseUrl":"public/app/plugins/panel/bargauge","hideFromList":false,"id":"bargauge","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/bargauge/img/icon_bar_gauge.svg","large":"public/app/plugins/panel/bargauge/img/icon_bar_gauge.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/bargauge/module","name":"Bar gauge","signature":"internal","skipDataQuery":false,"sort":5,"state":""},"dashlist":{"baseUrl":"public/app/plugins/panel/dashlist","hideFromList":false,"id":"dashlist","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"List of dynamic links to other dashboards","links":null,"logos":{"small":"public/app/plugins/panel/dashlist/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/dashlist/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/dashlist/module","name":"Dashboard list","signature":"internal","skipDataQuery":true,"sort":11,"state":""},"gauge":{"baseUrl":"public/app/plugins/panel/gauge","hideFromList":false,"id":"gauge","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/gauge/img/icon_gauge.svg","large":"public/app/plugins/panel/gauge/img/icon_gauge.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/gauge/module","name":"Gauge","signature":"internal","skipDataQuery":false,"sort":4,"state":""},"gettingstarted":{"baseUrl":"public/app/plugins/panel/gettingstarted","hideFromList":true,"id":"gettingstarted","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/gettingstarted/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/gettingstarted/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/gettingstarted/module","name":"Getting Started","signature":"internal","skipDataQuery":true,"sort":100,"state":""},"graph":{"baseUrl":"public/app/plugins/panel/graph","hideFromList":false,"id":"graph","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Graph Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/graph/img/icn-graph-panel.svg","large":"public/app/plugins/panel/graph/img/icn-graph-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/graph/module","name":"Graph","signature":"internal","skipDataQuery":false,"sort":1,"state":""},"heatmap":{"baseUrl":"public/app/plugins/panel/heatmap","hideFromList":false,"id":"heatmap","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Heatmap Panel for Grafana","links":[{"name":"Brendan Gregg - Heatmaps","url":"http://www.brendangregg.com/heatmaps.html"},{"name":"Brendan Gregg - Latency Heatmaps","url":" http://www.brendangregg.com/HeatMaps/latency.html"}],"logos":{"small":"public/app/plugins/panel/heatmap/img/icn-heatmap-panel.svg","large":"public/app/plugins/panel/heatmap/img/icn-heatmap-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/heatmap/module","name":"Heatmap","signature":"internal","skipDataQuery":false,"sort":9,"state":""},"logs":{"baseUrl":"public/app/plugins/panel/logs","hideFromList":false,"id":"logs","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/logs/img/icn-logs-panel.svg","large":"public/app/plugins/panel/logs/img/icn-logs-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/logs/module","name":"Logs","signature":"internal","skipDataQuery":false,"sort":100,"state":""},"news":{"baseUrl":"public/app/plugins/panel/news","hideFromList":false,"id":"news","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/news/img/news.svg","large":"public/app/plugins/panel/news/img/news.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/news/module","name":"News","signature":"internal","skipDataQuery":true,"sort":12,"state":"beta"},"nodeGraph":{"baseUrl":"public/app/plugins/panel/nodeGraph","hideFromList":false,"id":"nodeGraph","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/nodeGraph/img/icn-node-graph.svg","large":"public/app/plugins/panel/nodeGraph/img/icn-node-graph.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/nodeGraph/module","name":"Node Graph","signature":"internal","skipDataQuery":false,"sort":100,"state":"beta"},"piechart":{"baseUrl":"public/app/plugins/panel/piechart","hideFromList":false,"id":"piechart","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/piechart/img/icon_piechart.svg","large":"public/app/plugins/panel/piechart/img/icon_piechart.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/piechart/module","name":"Pie chart v2","signature":"internal","skipDataQuery":false,"sort":100,"state":"beta"},"pluginlist":{"baseUrl":"public/app/plugins/panel/pluginlist","hideFromList":false,"id":"pluginlist","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Plugin List for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/pluginlist/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/pluginlist/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/pluginlist/module","name":"Plugin list","signature":"internal","skipDataQuery":true,"sort":100,"state":""},"singlestat":{"baseUrl":"public/app/plugins/panel/singlestat","hideFromList":false,"id":"singlestat","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Singlestat Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/singlestat/img/icn-singlestat-panel.svg","large":"public/app/plugins/panel/singlestat/img/icn-singlestat-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/singlestat/module","name":"Singlestat","signature":"internal","skipDataQuery":false,"sort":7,"state":"deprecated"},"stat":{"baseUrl":"public/app/plugins/panel/stat","hideFromList":false,"id":"stat","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Singlestat Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/stat/img/icn-singlestat-panel.svg","large":"public/app/plugins/panel/stat/img/icn-singlestat-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/stat/module","name":"Stat","signature":"internal","skipDataQuery":false,"sort":3,"state":""},"table":{"baseUrl":"public/app/plugins/panel/table","hideFromList":false,"id":"table","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Table Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/table/img/icn-table-panel.svg","large":"public/app/plugins/panel/table/img/icn-table-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/table/module","name":"Table","signature":"internal","skipDataQuery":false,"sort":6,"state":""},"table-old":{"baseUrl":"public/app/plugins/panel/table-old","hideFromList":false,"id":"table-old","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Table Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/table-old/img/icn-table-panel.svg","large":"public/app/plugins/panel/table-old/img/icn-table-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/table-old/module","name":"Table (old)","signature":"internal","skipDataQuery":false,"sort":100,"state":"deprecated"},"text":{"baseUrl":"public/app/plugins/panel/text","hideFromList":false,"id":"text","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/text/img/icn-text-panel.svg","large":"public/app/plugins/panel/text/img/icn-text-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/text/module","name":"Text","signature":"internal","skipDataQuery":true,"sort":8,"state":""},"Usereseries":{"baseUrl":"public/app/plugins/panel/Usereseries","hideFromList":false,"id":"Usereseries","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/Usereseries/img/icn-Usereseries-panel.svg","large":"public/app/plugins/panel/Usereseries/img/icn-Usereseries-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/Usereseries/module","name":"Usere series","signature":"internal","skipDataQuery":false,"sort":2,"state":"beta"},"welcome":{"baseUrl":"public/app/plugins/panel/welcome","hideFromList":true,"id":"welcome","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/welcome/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/welcome/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"module":"app/plugins/panel/welcome/module","name":"Welcome","signature":"internal","skipDataQuery":true,"sort":100,"state":""}},"passwordHint":"password","pluginsToPreload":[],"rendererAvailable":true,"samlEnabled":false,"sentry":{"enabled":false,"dsn":"","customEndpoint":"/log","sampleRate":1},"sigV4AuthEnabled":false,"verifyEmailEnabled":false,"viewersCanEdit":false},
user: {"isSignedIn":false,"id":0,"login":"","email":"","name":"","lightTheme":false,"orgCount":0,"orgId":0,"orgName":"","orgRole":"","isGrafanaAdmin":false,"gravatarUrl":"","Userezone":"browser","locale":"en-US","helpFlags1":0,"hasEditPermissionInFolders":false},
window.grafanaBootData = {
<script nonce="">
</grafana-app>
</div>
<div ng-view class="scroll-canvas"></div>
<div class="main-view">
<search-wrapper></search-wrapper>
<app-notifications-list class="page-alert-list"></app-notifications-list>
<sidemenu class="sidemenu"></sidemenu>
<grafana-app class="grafana-app" ng-cloak>
</div>
</div>
</p>
supported browsers</a>.
href="https://grafana.com/docs/grafana/latest/installation/requirements/#supported-web-browsers">
5. Check if you are using a non-supported browser. For more information, refer to the list of <a
<br />
4. SomeUseres restarting grafana-server can help<br />
<br />
build<br />
3. If you have a local dev build make sure you build frontend using: yarn start, yarn start:hot, or yarn
<br />
using a reverse proxy make sure to set serve_from_sub_path to true.<br />
2. If you host grafana under subpath make sure your grafana.ini root_url setting includes subpath. If not
1. This could be caused by your reverse proxy settings.<br /><br />
<p>
</p>
<br />
<br />
<strong>If you're seeing this Grafana has failed to load its application files</strong>
<p>
<div class="preloader__text preloader__text--fail">
<div class="preloader__text">Loading Grafana</div>
</div>
</div>
<div class="preloader__logo"></div>
<div class="preloader__bounce">
<div class="preloader__enter">
<div class="preloader">
</style>
}
display: none !important;
.ng-cloak {
[ng-cloak],
[ng\:cloak],
}
display: block;
.preloader--done .preloader__text--fail {
}
font-size: 15px;
color: #ff5705 !important;
display: none;
.preloader--done .preloader__text {
.preloader--done .preloader__logo,
}
display: none;
animation-name: none;
.preloader--done .preloader__logo {
.preloader--done .preloader__bounce,
}
display: none;
.preloader__text--fail {
}
}
animation-Usering-function: cubic-bezier(0, 0, 0.7, 1);
transform-origin: bottom center;
transform: scaleX(1.3) scaleY(0.8);
100% {
}
transform-origin: bottom center;
animation-Usering-function: cubic-bezier(0, 0, 0, 1);
transform: scaleX(0.75) scaleY(1.25);
95% {
}
transform-origin: top center;
animation-Usering-function: cubic-bezier(0.9, 0, 1, 1);
transform: scaleX(1.05) scaleY(0.95);
55% {
}
transform-origin: bottom center;
animation-Usering-function: cubic-bezier(0, 0, 0.7, 0.75);
transform: scaleX(0.75) scaleY(1.25);
15% {
}
transform-origin: bottom center;
animation-Usering-function: cubic-bezier(0.3, 0, 0.1, 1);
transform: scaleX(1.3) scaleY(0.8);
0% {
@keyframes preloader-squash {
}
}
animation-Usering-function: cubic-bezier(0.9, 0, 0.7, 1);
transform: translateY(-50px);
50% {
}
animation-Usering-function: cubic-bezier(0.3, 0, 0.1, 1);
transform: translateY(0px);
to {
from,
@keyframes preloader-bounce {
}
}
opacity: 1;
100% {
}
animation-Usering-function: cubic-bezier(0, 0, 0.5, 1);
opacity: 0;
0% {
@keyframes preloader-fade-in {
}
color: #d8d9da;
.theme-dark .preloader__text {
}
color: #52545c;
.theme-light .preloader__text {
}
animation-fill-mode: forwards;
animation-delay: 1.8s;
animation-duration: 0.9s;
animation-name: preloader-fade-in;
opacity: 0;
font-family: Sans-serif;
font-size: 14px;
font-weight: 500;
margin-top: 16px;
.preloader__text {
}
background-image: url("data:image/svg+xml,%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='351px' height='365px' viewBox='0 0 351 365' style='enable-background:new 0 0 351 365%3b' xml:space='preserve'%3e %3cstyle type='text/css'%3e .st0%7bfill:url(%23SVGID_1_)%3b%7d %3c/style%3e %3cg id='Layer_1_1_'%3e %3c/g%3e %3clinearGradient id='SVGID_1_' gradientUnits='userSpaceOnUse' x1='175.5' y1='445.4948' x2='175.5' y2='114.0346'%3e %3cstop offset='0' style='stop-color:%23FFF100'/%3e %3cstop offset='1' style='stop-color:%23F05A28'/%3e %3c/linearGradient%3e %3cpath class='st0' d='M342%2c161.2c-0.6-6.1-1.6-13.1-3.6-20.9c-2-7.7-5-16.2-9.4-25c-4.4-8.8-10.1-17.9-17.5-26.8 c-2.9-3.5-6.1-6.9-9.5-10.2c5.1-20.3-6.2-37.9-6.2-37.9c-19.5-1.2-31.9%2c6.1-36.5%2c9.4c-0.8-0.3-1.5-0.7-2.3-1 c-3.3-1.3-6.7-2.6-10.3-3.7c-3.5-1.1-7.1-2.1-10.8-3c-3.7-0.9-7.4-1.6-11.2-2.2c-0.7-0.1-1.3-0.2-2-0.3 c-8.5-27.2-32.9-38.6-32.9-38.6c-27.3%2c17.3-32.4%2c41.5-32.4%2c41.5s-0.1%2c0.5-0.3%2c1.4c-1.5%2c0.4-3%2c0.9-4.5%2c1.3c-2.1%2c0.6-4.2%2c1.4-6.2%2c2.2 c-2.1%2c0.8-4.1%2c1.6-6.2%2c2.5c-4.1%2c1.8-8.2%2c3.8-12.2%2c6c-3.9%2c2.2-7.7%2c4.6-11.4%2c7.1c-0.5-0.2-1-0.4-1-0.4c-37.8-14.4-71.3%2c2.9-71.3%2c2.9 c-3.1%2c40.2%2c15.1%2c65.5%2c18.7%2c70.1c-0.9%2c2.5-1.7%2c5-2.5%2c7.5c-2.8%2c9.1-4.9%2c18.4-6.2%2c28.1c-0.2%2c1.4-0.4%2c2.8-0.5%2c4.2 C18.8%2c192.7%2c8.5%2c228%2c8.5%2c228c29.1%2c33.5%2c63.1%2c35.6%2c63.1%2c35.6c0%2c0%2c0.1-0.1%2c0.1-0.1c4.3%2c7.7%2c9.3%2c15%2c14.9%2c21.9c2.4%2c2.9%2c4.8%2c5.6%2c7.4%2c8.3 c-10.6%2c30.4%2c1.5%2c55.6%2c1.5%2c55.6c32.4%2c1.2%2c53.7-14.2%2c58.2-17.7c3.2%2c1.1%2c6.5%2c2.1%2c9.8%2c2.9c10%2c2.6%2c20.2%2c4.1%2c30.4%2c4.5 c2.5%2c0.1%2c5.1%2c0.2%2c7.6%2c0.1l1.2%2c0l0.8%2c0l1.6%2c0l1.6-0.1l0%2c0.1c15.3%2c21.8%2c42.1%2c24.9%2c42.1%2c24.9c19.1-20.1%2c20.2-40.1%2c20.2-44.4l0%2c0 c0%2c0%2c0-0.1%2c0-0.3c0-0.4%2c0-0.6%2c0-0.6l0%2c0c0-0.3%2c0-0.6%2c0-0.9c4-2.8%2c7.8-5.8%2c11.4-9.1c7.6-6.9%2c14.3-14.8%2c19.9-23.3 c0.5-0.8%2c1-1.6%2c1.5-2.4c21.6%2c1.2%2c36.9-13.4%2c36.9-13.4c-3.6-22.5-16.4-33.5-19.1-35.6l0%2c0c0%2c0-0.1-0.1-0.3-0.2 c-0.2-0.1-0.2-0.2-0.2-0.2c0%2c0%2c0%2c0%2c0%2c0c-0.1-0.1-0.3-0.2-0.5-0.3c0.1-1.4%2c0.2-2.7%2c0.3-4.1c0.2-2.4%2c0.2-4.9%2c0.2-7.3l0-1.8l0-0.9 l0-0.5c0-0.6%2c0-0.4%2c0-0.6l-0.1-1.5l-0.1-2c0-0.7-0.1-1.3-0.2-1.9c-0.1-0.6-0.1-1.3-0.2-1.9l-0.2-1.9l-0.3-1.9 c-0.4-2.5-0.8-4.9-1.4-7.4c-2.3-9.7-6.1-18.9-11-27.2c-5-8.3-11.2-15.6-18.3-21.8c-7-6.2-14.9-11.2-23.1-14.9 c-8.3-3.7-16.9-6.1-25.5-7.2c-4.3-0.6-8.6-0.8-12.9-0.7l-1.6%2c0l-0.4%2c0c-0.1%2c0-0.6%2c0-0.5%2c0l-0.7%2c0l-1.6%2c0.1c-0.6%2c0-1.2%2c0.1-1.7%2c0.1 c-2.2%2c0.2-4.4%2c0.5-6.5%2c0.9c-8.6%2c1.6-16.7%2c4.7-23.8%2c9c-7.1%2c4.3-13.3%2c9.6-18.3%2c15.6c-5%2c6-8.9%2c12.7-11.6%2c19.6c-2.7%2c6.9-4.2%2c14.1-4.6%2c21 c-0.1%2c1.7-0.1%2c3.5-0.1%2c5.2c0%2c0.4%2c0%2c0.9%2c0%2c1.3l0.1%2c1.4c0.1%2c0.8%2c0.1%2c1.7%2c0.2%2c2.5c0.3%2c3.5%2c1%2c6.9%2c1.9%2c10.1c1.9%2c6.5%2c4.9%2c12.4%2c8.6%2c17.4 c3.7%2c5%2c8.2%2c9.1%2c12.9%2c12.4c4.7%2c3.2%2c9.8%2c5.5%2c14.8%2c7c5%2c1.5%2c10%2c2.1%2c14.7%2c2.1c0.6%2c0%2c1.2%2c0%2c1.7%2c0c0.3%2c0%2c0.6%2c0%2c0.9%2c0c0.3%2c0%2c0.6%2c0%2c0.9-0.1 c0.5%2c0%2c1-0.1%2c1.5-0.1c0.1%2c0%2c0.3%2c0%2c0.4-0.1l0.5-0.1c0.3%2c0%2c0.6-0.1%2c0.9-0.1c0.6-0.1%2c1.1-0.2%2c1.7-0.3c0.6-0.1%2c1.1-0.2%2c1.6-0.4 c1.1-0.2%2c2.1-0.6%2c3.1-0.9c2-0.7%2c4-1.5%2c5.7-2.4c1.8-0.9%2c3.4-2%2c5-3c0.4-0.3%2c0.9-0.6%2c1.3-1c1.6-1.3%2c1.9-3.7%2c0.6-5.3 c-1.1-1.4-3.1-1.8-4.7-0.9c-0.4%2c0.2-0.8%2c0.4-1.2%2c0.6c-1.4%2c0.7-2.8%2c1.3-4.3%2c1.8c-1.5%2c0.5-3.1%2c0.9-4.7%2c1.2c-0.8%2c0.1-1.6%2c0.2-2.5%2c0.3 c-0.4%2c0-0.8%2c0.1-1.3%2c0.1c-0.4%2c0-0.9%2c0-1.2%2c0c-0.4%2c0-0.8%2c0-1.2%2c0c-0.5%2c0-1%2c0-1.5-0.1c0%2c0-0.3%2c0-0.1%2c0l-0.2%2c0l-0.3%2c0 c-0.2%2c0-0.5%2c0-0.7-0.1c-0.5-0.1-0.9-0.1-1.4-0.2c-3.7-0.5-7.4-1.6-10.9-3.2c-3.6-1.6-7-3.8-10.1-6.6c-3.1-2.8-5.8-6.1-7.9-9.9 c-2.1-3.8-3.6-8-4.3-12.4c-0.3-2.2-0.5-4.5-0.4-6.7c0-0.6%2c0.1-1.2%2c0.1-1.8c0%2c0.2%2c0-0.1%2c0-0.1l0-0.2l0-0.5c0-0.3%2c0.1-0.6%2c0.1-0.9 c0.1-1.2%2c0.3-2.4%2c0.5-3.6c1.7-9.6%2c6.5-19%2c13.9-26.1c1.9-1.8%2c3.9-3.4%2c6-4.9c2.1-1.5%2c4.4-2.8%2c6.8-3.9c2.4-1.1%2c4.8-2%2c7.4-2.7 c2.5-0.7%2c5.1-1.1%2c7.8-1.4c1.3-0.1%2c2.6-0.2%2c4-0.2c0.4%2c0%2c0.6%2c0%2c0.9%2c0l1.1%2c0l0.7%2c0c0.3%2c0%2c0%2c0%2c0.1%2c0l0.3%2c0l1.1%2c0.1 c2.9%2c0.2%2c5.7%2c0.6%2c8.5%2c1.3c5.6%2c1.2%2c11.1%2c3.3%2c16.2%2c6.1c10.2%2c5.7%2c18.9%2c14.5%2c24.2%2c25.1c2.7%2c5.3%2c4.6%2c11%2c5.5%2c16.9c0.2%2c1.5%2c0.4%2c3%2c0.5%2c4.5 l0.1%2c1.1l0.1%2c1.1c0%2c0.4%2c0%2c0.8%2c0%2c1.1c0%2c0.4%2c0%2c0.8%2c0%2c1.1l0%2c1l0%2c1.1c0%2c0.7-0.1%2c1.9-0.1%2c2.6c-0.1%2c1.6-0.3%2c3.3-0.5%2c4.9 c-0.2%2c1.6-0.5%2c3.2-0.8%2c4.8c-0.3%2c1.6-0.7%2c3.2-1.1%2c4.7c-0.8%2c3.1-1.8%2c6.2-3%2c9.3c-2.4%2c6-5.6%2c11.8-9.4%2c17.1 c-7.7%2c10.6-18.2%2c19.2-30.2%2c24.7c-6%2c2.7-12.3%2c4.7-18.8%2c5.7c-3.2%2c0.6-6.5%2c0.9-9.8%2c1l-0.6%2c0l-0.5%2c0l-1.1%2c0l-1.6%2c0l-0.8%2c0 c0.4%2c0-0.1%2c0-0.1%2c0l-0.3%2c0c-1.8%2c0-3.5-0.1-5.3-0.3c-7-0.5-13.9-1.8-20.7-3.7c-6.7-1.9-13.2-4.6-19.4-7.8 c-12.3-6.6-23.4-15.6-32-26.5c-4.3-5.4-8.1-11.3-11.2-17.4c-3.1-6.1-5.6-12.6-7.4-19.1c-1.8-6.6-2.9-13.3-3.4-20.1l-0.1-1.3l0-0.3 l0-0.3l0-0.6l0-1.1l0-0.3l0-0.4l0-0.8l0-1.6l0-0.3c0%2c0%2c0%2c0.1%2c0-0.1l0-0.6c0-0.8%2c0-1.7%2c0-2.5c0.1-3.3%2c0.4-6.8%2c0.8-10.2 c0.4-3.4%2c1-6.9%2c1.7-10.3c0.7-3.4%2c1.5-6.8%2c2.5-10.2c1.9-6.7%2c4.3-13.2%2c7.1-19.3c5.7-12.2%2c13.1-23.1%2c22-31.8c2.2-2.2%2c4.5-4.2%2c6.9-6.2 c2.4-1.9%2c4.9-3.7%2c7.5-5.4c2.5-1.7%2c5.2-3.2%2c7.9-4.6c1.3-0.7%2c2.7-1.4%2c4.1-2c0.7-0.3%2c1.4-0.6%2c2.1-0.9c0.7-0.3%2c1.4-0.6%2c2.1-0.9 c2.8-1.2%2c5.7-2.2%2c8.7-3.1c0.7-0.2%2c1.5-0.4%2c2.2-0.7c0.7-0.2%2c1.5-0.4%2c2.2-0.6c1.5-0.4%2c3-0.8%2c4.5-1.1c0.7-0.2%2c1.5-0.3%2c2.3-0.5 c0.8-0.2%2c1.5-0.3%2c2.3-0.5c0.8-0.1%2c1.5-0.3%2c2.3-0.4l1.1-0.2l1.2-0.2c0.8-0.1%2c1.5-0.2%2c2.3-0.3c0.9-0.1%2c1.7-0.2%2c2.6-0.3 c0.7-0.1%2c1.9-0.2%2c2.6-0.3c0.5-0.1%2c1.1-0.1%2c1.6-0.2l1.1-0.1l0.5-0.1l0.6%2c0c0.9-0.1%2c1.7-0.1%2c2.6-0.2l1.3-0.1c0%2c0%2c0.5%2c0%2c0.1%2c0l0.3%2c0 l0.6%2c0c0.7%2c0%2c1.5-0.1%2c2.2-0.1c2.9-0.1%2c5.9-0.1%2c8.8%2c0c5.8%2c0.2%2c11.5%2c0.9%2c17%2c1.9c11.1%2c2.1%2c21.5%2c5.6%2c31%2c10.3 c9.5%2c4.6%2c17.9%2c10.3%2c25.3%2c16.5c0.5%2c0.4%2c0.9%2c0.8%2c1.4%2c1.2c0.4%2c0.4%2c0.9%2c0.8%2c1.3%2c1.2c0.9%2c0.8%2c1.7%2c1.6%2c2.6%2c2.4c0.9%2c0.8%2c1.7%2c1.6%2c2.5%2c2.4 c0.8%2c0.8%2c1.6%2c1.6%2c2.4%2c2.5c3.1%2c3.3%2c6%2c6.6%2c8.6%2c10c5.2%2c6.7%2c9.4%2c13.5%2c12.7%2c19.9c0.2%2c0.4%2c0.4%2c0.8%2c0.6%2c1.2c0.2%2c0.4%2c0.4%2c0.8%2c0.6%2c1.2 c0.4%2c0.8%2c0.8%2c1.6%2c1.1%2c2.4c0.4%2c0.8%2c0.7%2c1.5%2c1.1%2c2.3c0.3%2c0.8%2c0.7%2c1.5%2c1%2c2.3c1.2%2c3%2c2.4%2c5.9%2c3.3%2c8.6c1.5%2c4.4%2c2.6%2c8.3%2c3.5%2c11.7 c0.3%2c1.4%2c1.6%2c2.3%2c3%2c2.1c1.5-0.1%2c2.6-1.3%2c2.6-2.8C342.6%2c170.4%2c342.5%2c166.1%2c342%2c161.2z'/%3e %3c/svg%3e");
background-size: contain;
background-repeat: no-repeat;
height: 60px;
width: 60px;
animation-iteration-count: infinite;
animation-duration: 0.9s;
animation-name: preloader-squash;
display: inline-block;
.preloader__logo {
}
animation-iteration-count: infinite;
animation-duration: 0.9s;
animation-name: preloader-bounce;
text-align: center;
.preloader__bounce {
}
animation-fill-mode: forwards;
animation-delay: 1.35s;
animation-duration: 0.9s;
animation-iteration-count: 1;
animation-name: preloader-fade-in;
opacity: 0;
.preloader__enter {
}
align-items: center;
justify-content: center;
display: flex;
flex-direction: column;
height: 100%;
.preloader {
<style>
<body class="theme-dark app-grafana">
</head>
<meta name="msapplication-config" content="public/img/browserconfig.xml" />
<meta name="msapplication-TileColor" content="#2b5797" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-mobile-web-app-capable" content="yes" />
</script>
performance.mark('css done blocking');
<script nonce="">
<link rel="stylesheet" href="public/build/grafana.dark.88f3571bf814cd85c9d4.css" />
<link rel="mask-icon" href="public/img/grafana_mask_icon.svg" color="#F05A28" />
<link rel="apple-touch-icon" sizes="180x180" href="public/img/apple-touch-icon.png" />
<link rel="icon" type="image/png" href="public/img/fav32.png" />
/>
crossorigin
as="font"
href="public/fonts/roboto/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2"
rel="preload"
<link
<base href="/" />
<title>Grafana</title>
<meta name="theme-color" content="#000" />
<meta name="viewport" content="width=device-width" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta charset="utf-8" />
</script>
})();
}
g.o.observe({ entryTypes: ['longtask'] });
});
g.e = g.e.concat(l.getEntries());
g.o = new PerformanceObserver(function (l) {
var g = (window.__tti = { e: [] });
if ('PerformanceLongTaskUsering' in window) {
!(function () {
<script nonce="">
<head>
<html lang="en">
<!DOCTYPE html>
Content-Disposition: form-data; name="photo"; filename="Kreis.png"
--TelegramBot_boundary-x0123
265897026
Content-Disposition: form-data; name="chat_id"
2021.04.24 13:29:02 4: TelegramBot_SendIt Telegram: Message for sending :--TelegramBot_boundary-x0123
2021.04.24 13:29:02 4: TelegramBot_SendIt Telegram: Filename for image file :/opt/fhem/www/images/grafana/Kreis.png:
2021.04.24 13:29:02 5: TelegramBot_readToken: Read Telegram API token from file
2021.04.24 13:29:02 4: TelegramBot_GetFullnameForContact # name is User
2021.04.24 13:29:02 4: TelegramBot_GetFullnameForContact # Contacts is 265897026:User:@UserID:
2021.04.24 13:29:02 5: TelegramBot_SendIt Telegram: try to send message to :User: -:/opt/fhem/www/images/grafana/Kreis.png: - add :<undef>: - replyid :<undef>:: options ::
2021.04.24 13:29:02 5: TelegramBot_SendIt Telegram: called
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: start send for cmd :sendImage: and sendType :1:
2021.04.24 13:29:02 4: TelegramBot_Set Telegram: Processing TelegramBot_Set( sendImage )
2021.04.24 13:29:02 5: TelegramBot_Set Telegram: called
Bist Du sicher, dass Deine Datei wirklch ein png-Bild ist. Aus dem logfile sieht es auf den ersten Blick eher so aus, als ob da etwas anderes drinsteht. Die Fehlermeldung kommt von telegram selbst, dort kann das Bild nicht verarbeitet werden.
Also erster Ansatz wäre erstmal das Bild zu prüfen
Zitat von: viegener am 25 April 2021, 00:21:36
Bist Du sicher, dass Deine Datei wirklch ein png-Bild ist. Aus dem logfile sieht es auf den ersten Blick eher so aus, als ob da etwas anderes drinsteht. Die Fehlermeldung kommt von telegram selbst, dort kann das Bild nicht verarbeitet werden.
Also erster Ansatz wäre erstmal das Bild zu prüfen
Scheint tatsächlich am Bild zu liegen. Das hat nun mehrere Wochen funktioniert, jetzt wird jedoch nur noch die html heruntergeladen.
Das muss ich mir genauer ansehen.
Seit ein paar Tagen habe ich da "Problem", dass der Favoriten Button in der Telegram App auf Android verschwunden ist.
Vorher war es so, dass man neben Anhang und Spracheingabe auch einen Button für die Favoriten hatte, mit dem man den Favoritenbefehl aufrufen konnte.
Irgendwie ist der seit ein paar Tagen verschwunden, obwohl quasi nichts anders ist.
Gibt es eine Möglichkeit, wie man diesen Button wieder bekommt?
Viele Grüße
Ich versuchte den TelegramBot einzurichten.
Mein System ist fhem/fhem:latest auf Docker auf meiner Synology NAS.
Nach dem define finde ich folgenden Eintrag im Log:
2021.06.13 12:52:45.291 3: TelegramBot_Define myTelegramBot: called
2021.06.13 12:52:45.292 1: TelegramBot_readToken: Error: unable to read API token from file: Can't open ./FHEM/FhemUtils/./FHEM/FhemUtils/uniqueID: No such file or directory
2021.06.13 12:52:45.292 1: TelegramBot_Setup myTelegramBot: no valid API token found, please call "set myTelegramBot token <token>" (once)
Den selben Fehler erhalte ich auch auf meiner Linux-Installation, welche ich allerdings nur noch vereinzelt zum testen verwende.
Nach einem set myTelegramBot token <meinToken> kommt die Fehlermeldung:
"error while saving the API token - Can't open ./FHEM/FhemUtils/./FHEM/FhemUtils/uniqueID: No such file or directory"
Mache ich etwas falsch?
Gruss
Giovi
Zitat von: IcedEarth am 11 Juni 2021, 10:24:21
Seit ein paar Tagen habe ich da "Problem", dass der Favoriten Button in der Telegram App auf Android verschwunden ist.
Vorher war es so, dass man neben Anhang und Spracheingabe auch einen Button für die Favoriten hatte, mit dem man den Favoritenbefehl aufrufen konnte.
Irgendwie ist der seit ein paar Tagen verschwunden, obwohl quasi nichts anders ist.
Gibt es eine Möglichkeit, wie man diesen Button wieder bekommt?
Viele Grüße
Moin
Das kann man doch im fhemweb per ATTR anwählen?
Gruß
Gerd
Hi,
ich habe gerade mal das ATTR favoritesInline von 1 auf 0 gesetzt und anschließend die favoriten per set gesendet. Jetzt ist der Button wieder da.... Sehr seltsam, da ich nichts geändert habe.
Danke!
Zitat von: IcedEarth am 13 Juni 2021, 19:45:19
Hi,
ich habe gerade mal das ATTR favoritesInline von 1 auf 0 gesetzt und anschließend die favoriten per set gesendet. Jetzt ist der Button wieder da.... Sehr seltsam, da ich nichts geändert habe.
Danke!
Software :=)
Oder zwischen den Ohren das Problem ;D
Bitte
Gruss Gerd
Hallo zusammen,
weiß jemand wie ich einen Hyperlink in einer Bildbeschreibung unterbringe?
Das geht
set TelegramBot message HTML <a href="https://example.com">This is an example</a>
Das würde ich gerne umsetzen
set TelegramBot sendImage /opt/fhem/www/images/IchBinEinBild.jpg HTML <a href="https://example.com">This is an example</a>
@Viegener
Gibt das die API überhaupt her?
Grüße und einen schönen Tag.
Diese Meldung im Log die alle 24h erfolgt:
2021.08.01 00:00:15 3: TelegramBot_Callback tb_TelegramBot: Digest: Number of poll failures on 2021-07-31 is :2:
Hab ich so verstanden das sie wegen der Voreinstellung 1_Digest (pollingVerbose-Attribut) erfolgt.
Wenn ich aber 0_None einstelle erfolgt immer noch ein Logeintrag.
Muss ich auf verbose 2 stellen wenn ich die Meldung im Log nicht mehr sehen möchte ?
Gruß
Thomas
Zitat von: TomLee am 01 August 2021, 12:17:47
Diese Meldung im Log die alle 24h erfolgt:
2021.08.01 00:00:15 3: TelegramBot_Callback tb_TelegramBot: Digest: Number of poll failures on 2021-07-31 is :2:
Hab ich so verstanden das sie wegen der Voreinstellung 1_Digest (pollingVerbose-Attribut) erfolgt.
Wenn ich aber 0_None einstelle erfolgt immer noch ein Logeintrag.
Muss ich auf verbose 2 stellen wenn ich die Meldung im Log nicht mehr sehen möchte ?
Gruß
Thomas
Nein es gibt einen Fehler, dass None nicht korrekt ausgewertet wird. Ich mache einen Fix.
Danke.
Zitat von: Esjay am 30 Juni 2021, 10:12:36
Hallo zusammen,
weiß jemand wie ich einen Hyperlink in einer Bildbeschreibung unterbringe?
Das geht
set TelegramBot message HTML <a href="https://example.com">This is an example</a>
Das würde ich gerne umsetzen
set TelegramBot sendImage /opt/fhem/www/images/IchBinEinBild.jpg HTML <a href="https://example.com">This is an example</a>
@Viegener
Gibt das die API überhaupt her?
Grüße und einen schönen Tag.
Das API gibt es inzwischen wohl her, allerdings mein Modul nicht ;)
Also muss ich dafür wohl eine Erweiterung einbauen
OK neue Version im SVN --> kommt morgen per update:
- ParseMode auch für Bilder und Videos (e.g. sendPhoto / sendVideo) unterstützt
- pollingVerbose 0_None sollte jetzt korrekt behandelt werden (bitte Testen)
Zitat- pollingVerbose 0_None sollte jetzt korrekt behandelt werden (bitte Testen)
Hatte mir die neue Version selbst aus dem SVN geladen, jetzt gibts keine Meldung mehr mit pollingVerbose 0_None kurz nach 00:00:00 Uhr. :)
Zitat von: TomLee am 24 August 2021, 05:22:56
Hatte mir die neue Version selbst aus dem SVN geladen, jetzt gibts keine Meldung mehr mit pollingVerbose 0_None kurz nach 00:00:00 Uhr. :)
Danke für die schnelle Rückmeldung!
Zitat von: viegener am 23 August 2021, 11:39:04
Das API gibt es inzwischen wohl her, allerdings mein Modul nicht ;)
Also muss ich dafür wohl eine Erweiterung einbauen
Um die Motivation zu erhöhen, will ich hier an dieser Stelle ebenfalls mein Interesse an der Möglichkeit, Bilder mit einem Hyperlink zu versehen, bekunden ;D
Beste Grüße
Zitat von: Reinschki am 12 September 2021, 17:14:34
Um die Motivation zu erhöhen, will ich hier an dieser Stelle ebenfalls mein Interesse an der Möglichkeit, Bilder mit einem Hyperlink zu versehen, bekunden ;D
Beste Grüße
Das müsste eigentlich jetzt schon gehen, das war in der letzten Änderung (parsemode auch für bilder und videos)
OK, wenn man sich mit dem ParseMode auseinandersetzt dann klappt das auch! :)
Hatte das Attribut nicht gesetzt.
Vielen Dank für die Unterstützung & einen schönen Abend noch...
Hallo
Seit FHEM Update von Heute.
Kein Senden von Messages über TelegramBot möglich.
PollingLastError
Callback returned no valid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 2311
Grüße
#Gelöst
Es liegt an der HttpUtils.pm
Mit der SVN Revision 25487 vom 17. Januar 2022 geht es wieder!
Grüße
ZitatMit der SVN Revision 25487 vom 17. Januar 2022 geht es wieder!
Das ist keine Loesung, sondern ein Workaround.
Loesung waere, wenn es mit Version 25623 funktioniert.
Zitat von: rudolfkoenig am 03 Februar 2022, 14:09:59
...
Loesung waere, wenn es mit Version 25623 funktioniert.
Mit der genannten Rev. 25623 aus dem Trunk funktioniert bei mir der TelegramBot. Habe testhalber manuell eine Message verschickt und die kam an.
Könnte mit dem attr parseModeSend zu tun haben, steht bei mir auf 1_Markdown
Zitat von: Bualicher am 03 Februar 2022, 14:22:54
Mit der genannten Rev. 25623 aus dem Trunk funktioniert bei mir der TelegramBot. Habe testhalber manuell eine Message verschickt und die kam an.
Muss mich leider selbst korrigieren.
Die erste Message ging fehlerfrei raus. Wenn ich jetzt versuche eine weitere Message zu senden, dann bekomme ich die gleiche Fehlermeldung trotz Version 25623:
Callback returned no valid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 2311.
Stimmt!
SVN Rev. 25623
Die erste Telegram Nachricht nach einem FHEM neustart kommt bei mir automatisch, "fhem is running again" danach geht es nicht mehr!
SVN Rev. 25487
HttpUtils.pm vom 17.01.2022 funktioniert!
Es ist hier OT, aber das DoorBird Modul ist davon auch betroffen. kann keine Bilder mehr speichern.
Rudi hat heute abend nochmal eine neue Version 25624 bereitgestellt:
https://forum.fhem.de/index.php/topic,125939.msg1205724.html#msg1205724 (https://forum.fhem.de/index.php/topic,125939.msg1205724.html#msg1205724)
Damit sollte es wieder funktionieren.
Funktioniert wieder ;)
Danke!
Hallo Gemeinde,
hatte auch das Problemmit dem Telegram Bot
Nach Update von HttpUtils auf Version 25624 läuft der Vesand von Nachrichten per Telegram wieder.
S.
Hallo,
auch bei mir hat das Update geholfen, danke für die schnelle Hilfe :-)
Peter
Moin Zusammen,
ich benutze seit längerer Zeit schon das Favoritenmenü in Telegram mit dem Attribute:
cmdFavorites
Unter dem Attribute "favorites" habe ich dann alle meine Favoriten niedergeschrieben.
Wenn ich nun in den Chat meinen Command eingebe, erscheint genau das Menü anstelle der Tastatur in der Telegram App.
In der Eingabezeile in der App erscheint auch das Menü-Icon (dieses Quadrat mit vier kleinen Quadraten).
Wenn ich nun auf einen Command drücke, wird dieser Command abgesetzt und wird an FHEM übertragen, alles super.
Jedoch verschwindet nach dem anklicken des Command das Menü-Icon in der Eingabezeile von der Telegram App.
Ist das ein Konfigurationsproblem, ein Bug oder ganz normal? Ich hätte gerne durchgehend das Menü-Icon.
Gruß
Mathze
Ich suche auch noch nach einer Lösung dafür. Bei mir war es nach einem Update von der Telegram App. Konnte vergleichen mit der App auf meinem Tablet. Aber mittlerweile sind beide Apps auf dem neuesten Stand und damit verschwindet das Icon immer wieder.
Dann bin ich ja beruhigt, dass es vermutlich an der App liegt und nicht an meiner Wenigkeit.
Bei der Windows-App verschwindet zum Beispiel dieses Menü-Icon nicht und bleibt unabhängig, wie oft ich einen Command anklicke weiterhin vorhanden.
Moin.
Bei mir bleibt der Menü Balken.
In der TelegramX Version verschwand das auch immer.
Nachdem an der Version nicht mehr gearbeitet wird nutze ich die offizielle App.
Gruß Gerd
Ich nutze ausschließlich die Originale Telegram App, bei mir verschwindet leider das Menü-Icon sobald ich eine Auswahl aus dem Favoriten-Menü getroffen habe.
Zitat von: t1me2die am 24 Februar 2022, 16:27:08
Ich nutze ausschließlich die Originale Telegram App, bei mir verschwindet leider das Menü-Icon sobald ich eine Auswahl aus dem Favoriten-Menü getroffen habe.
Androide oder Apple?
Ich hab Androide.
Mein Menü sieht etwas anders aus.
Ich nutze Apple und da verschwindet das.
Hi
Ich wollte eigentlich die Einkaufsliste benutzen.
Nur leider bekomme ich diese Fehlermeldung :
AnswerInline: TBot_List_handler: testlistbot - TelegramBot ERROR no msgId known for peer :xxxxxxx
Wo habe ich vergessen etwas einzutragen?
Also sonst kann ich immer alles steuern per Telegram.
Danke für eure Hilfe.
Zitat von: Wasserwerk33 am 13 März 2022, 19:06:15
Hi
Ich wollte eigentlich die Einkaufsliste benutzen.
Nur leider bekomme ich diese Fehlermeldung :
AnswerInline: TBot_List_handler: testlistbot - TelegramBot ERROR no msgId known for peer :xxxxxxx
Wo habe ich vergessen etwas einzutragen?
Also sonst kann ich immer alles steuern per Telegram.
Danke für eure Hilfe.
Mmmh - klingt wie ein Rätsel, da wären vermutlich ein paar Infos nützlich, wie die beteiligten Devices konfiguriert sind (also ein list davon) und welche Aktion dann zu der Fehlermeldung führt.
Hi
List TelegramBot
Internals:
FAILS 0
FUUID 611b60c8-f33f-5e7b-afec-9276b7731bb1fbc3
NAME TelegramBot
NR 140
OLD_POLLING 71
POLLING 71
SNAME TelegramBot
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me 673848208:Dein_Zuhause:@Dein_Zuhausebot
sourceVersion $Id: 50_TelegramBot.pm 23001 2020-10-21 19:33:31Z viegener $
AliasCmds:
/Einkaufsliste 4
Contacts:
650 650:Stefan:
61 611:Christin:
HU_DO_PARAMS:
header agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
hideurl 1
method GET
timeout 30
url
HU_UPD_PARAMS:
FD 21
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 70
hu_inProgress TelegramBot_UpdatePoll:2423 TelegramBot_Callback:647 __ANON__:770
hu_port 443
hu_portSfx
isPolling update
loglevel 4
method GET
offset 0
path /bot673848208:AAHcesrOOqVW2Rs/getUpdates?offset=0&limit=5&timeout=120
protocol https
redirects 0
timeout 245
url https://api.telegram.org/bot673848208:AAHcesrOhR2Rs/getUpdates?offset=0&limit=5&timeout=120
hash:
sslargs:
READINGS:
2022-03-14 22:09:45 Contacts 6850:Stefan: 61:Christin:
2022-03-16 20:04:33 PollingErrCount 0
2022-03-10 18:02:15 PollingLastError NonBlockingGet: returned connect to https://api.telegram.org:443 timed out
2021-08-17 09:31:52 StoredCommands /me
2022-03-14 22:09:45 msgChat Stefan
2022-03-14 22:09:45 msgChatId 60
2022-03-14 22:09:45 msgFileId
2022-03-14 22:09:45 msgId 5550
2022-03-14 22:09:45 msgPeer Stefan
2022-03-14 22:09:45 msgPeerId 60
2022-03-14 22:09:45 msgReplyMsgId
2022-03-14 22:09:45 msgText /m1
2022-03-14 22:09:45 prevMsgChat Stefan
2022-03-14 22:09:45 prevMsgFileId
2022-03-14 22:09:45 prevMsgId 5509
2022-03-14 22:09:45 prevMsgPeer Stefan
2022-03-14 22:09:45 prevMsgPeerId 650
2022-03-14 22:09:45 prevMsgReplyMsgId
2022-03-14 22:09:45 prevMsgText /m2 = Eltern TV
2022-03-12 22:23:08 queryData TBL_testlistbot%list_askadd
2022-03-12 22:23:08 queryID 299
2022-03-12 22:23:08 queryPeer Stefan
2022-03-12 22:23:08 queryPeerId 68050
2022-03-12 22:23:08 queryReplyMsgId 5468
2022-03-14 22:09:45 sentMsgId 5551
2022-03-14 22:09:45 sentMsgPeerId 68070
2022-03-14 22:09:45 sentMsgResult SUCCESS
inlinechats:
Attributes:
allowUnknownContacts 0
cmdFavorites /m
cmdKeyword /me
cmdRespondChat 1
cmdReturnEmptyResult 1
event-on-change-reading state
event-on-update-reading msgText
favorites /[Garagentor] = set IT_0FF000000F on;
/[Eltern TV] = set TV_Eltern on;
/[Gartenlicht] = HUEDevice4 toggle;
/Einkaufsliste = set testlistbot start TelegramBot
pollingTimeout 120
room System,Telegram Nachrichten
List testlistbot
Internals:
DEF testpostme testlist
FUUID 622d021f-f33f-5e7b-5f02-f4c7e4c0f55337cc
NAME testlistbot
NOTIFYDEV global,TYPE=TelegramBot
NR 186
NTFY_ORDER 50-testlistbot
STATE Defined
TYPE TBot_List
listname testlist
postme testpostme
getoptions:
count
list
queryAnswer
textList
inlinechats:
setoptions:
end
reset
silentStart
start
Attributes:
allowedPeers 6xxxxxxxx0 69xxxxxx11
confirmDelete 1
handleUnsolicited 1
room Telegram Nachrichten
telegramBots TelegramBot
List PostMe
Internals:
FUUID 622d01b3-f33f-5e7b-aecc-e863a27140147714
NAME testpostme
NR 185
STATE Initialized
TYPE PostMe
mayBeVisible 1
READINGS:
2022-03-12 22:01:17 postme01Cont Milch
2022-03-12 21:25:47 postme01Name testlist
2022-03-12 21:25:47 postmeCnt 1
2022-03-16 20:03:15 state Initialized
Attributes:
postmeClick 1
room Telegram Nachrichten
Event Monitoring:
022-03-16 21:07:24 HOMEMODE Zuhause fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-03-16 21:07:24 HOMEMODE Zuhause fhemMsgRcvPushGw: TelegramBot
2022-03-16 21:07:24 ROOMMATE rr_Stefan fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-03-16 21:07:24 ROOMMATE rr_Stefan fhemMsgRcvPushGw: TelegramBot
2022-03-16 21:07:24 TelegramBot TelegramBot msgText: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-03-16 21:07:24 TelegramBot TelegramBot queryInline @6xxxxxxx0 (Milch:TBL_testlistbot%list_idx-0) (ok:TBL_testlistbot%list_ok|ändern:TBL_testlistbot%list_menu|hinzu:TBL_testlistbot%list_askadd) Liste testlist
2022-03-16 21:07:24 TBot_List testlistbot start TelegramBot
Ich kann leider keine Lebensmittel über Telegram hinzufügen nur über Fhem Direkt.
Die Error meldung erhalte ich wenn ich okay oder ändern klicke in Telegram
ich habe noch ein Bild mit der Error Meldung angehangen.
@Wasserwerk33: Auf den ersten Blick konnte ich noch nichts feststellen, die Meldung besagt, dass beim start der liste im testlistbot die NachrichtenID für den Chat nicht gespeichert wurde oder aus irgendeinem Grund inzwischen entfernt wurde. Da
Kannst Du bitte mal folgendes für mich durchführen:
0) Erst alle Dialoge mit der Liste abscliessen
1) list testlistbot durchführen
2) In Telegram den Dialog mit der Liste über den Favoriten starten
3) list testlistbot durchführen
4) Dann per ok in telegram abschliessen
5) list testlistbot durchführen
Insbesondere die ersten beiden lists würden mich interessieren. Denn hier sollte erkennbar sein ob die chats/msgs/etc korrekt abgelegt werden.
Entschuldigung das ich jetzt erst antworte, war wegen der Arbeit unterwegs.
Ich hoffe ich habe es richtig verstanden.
List testlistbot
Internals:
DEF testpostme testlist
FUUID 622d021f-f33f-5e7b-5f02-f4c7e4c0f55337cc
NAME testlistbot
NOTIFYDEV global,TYPE=TelegramBot
NR 185
NTFY_ORDER 50-testlistbot
STATE Defined
TYPE TBot_List
listname testlist
postme testpostme
getoptions:
count
list
queryAnswer
textList
inlinechats:
setoptions:
end
reset
silentStart
start
Attributes:
allowedPeers 6807xx950 691xx3411
confirmDelete 1
handleUnsolicited 1
room Telegram Nachrichten
telegramBots TelegramBot
nach Telegram testlistbot
Internals:
DEF testpostme testlist
FUUID 622d021f-f33f-5e7b-5f02-f4c7e4c0f55337cc
NAME testlistbot
NOTIFYDEV global,TYPE=TelegramBot
NR 185
NTFY_ORDER 50-testlistbot
STATE Defined
TYPE TBot_List
listname testlist
listno 1
postme testpostme
getoptions:
count
list
queryAnswer
textList
inlinechats:
TelegramBot_6807xx950_chat 6807xx950
TelegramBot_6807xx950_textmsg Listetestlist
setoptions:
end
reset
silentStart
start
Attributes:
allowedPeers 6807xx950 691xx3411
confirmDelete 1
handleUnsolicited 1
room Telegram Nachrichten
telegramBots TelegramBot
Nach Okay Drücken = es scheint sich aber nix zu ändern
Internals:
DEF testpostme testlist
FUUID 622d021f-f33f-5e7b-5f02-f4c7e4c0f55337cc
NAME testlistbot
NOTIFYDEV global,TYPE=TelegramBot
NR 185
NTFY_ORDER 50-testlistbot
STATE Defined
TYPE TBot_List
listname testlist
listno 1
postme testpostme
getoptions:
count
list
queryAnswer
textList
inlinechats:
TelegramBot_6807xx950_chat 6807xx950
TelegramBot_6807xx950_textmsg Listetestlist
setoptions:
end
reset
silentStart
start
Attributes:
allowedPeers 6807xx950 691xx3411
confirmDelete 1
handleUnsolicited 1
room Telegram Nachrichten
telegramBots TelegramBot
im Event Monitor
2022-03-23 18:58:04 HOMEMODE Zuhause fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-03-23 18:58:04 ROOMMATE rr_Stefan fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-03-23 18:58:04 TelegramBot TelegramBot msgText: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-03-23 18:58:04 TelegramBot TelegramBot queryInline @6807xx950 (Milch:TBL_testlistbot%list_idx-0) (ok:TBL_testlistbot%list_ok|ändern:TBL_testlistbot%list_menu|hinzu:TBL_testlistbot%list_askadd) Liste testlist
2022-03-23 18:58:04 TBot_List testlistbot start TelegramBot
Habe diese Fehlermeldung noch unter Logfile gefunden.
Vielleicht kann mir hier einer noch was drauf sagen.
PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1018, <$fh> line 1690.
2022.04.03 09:40:09 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1084, <$fh> line 1690.
Denn bekomme es nicht ans laufen. Obwohl ich es nochmal gelöst habe und neu gemacht habe. Im Forum finde ich auch nix dazu.
Danke schon mal im vorraus
Zitat von: Wasserwerk33 am 03 April 2022, 10:27:10
Habe diese Fehlermeldung noch unter Logfile gefunden.
Vielleicht kann mir hier einer noch was drauf sagen.
PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1018, <$fh> line 1690.
2022.04.03 09:40:09 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1084, <$fh> line 1690.
Denn bekomme es nicht ans laufen. Obwohl ich es nochmal gelöst habe und neu gemacht habe. Im Forum finde ich auch nix dazu.
Danke schon mal im vorraus
Die Meldung ist unkritisch und kommt meiner Erfahrung nach beim Start.
Ist Deine Installation denn aktuell? Ich sehe zumindest beim Telegrambot eine alte Version aus 2020 im List. Eigentlich hat sich an der Stelle nichts verändert, aber das macht die Fehlersuche zumindest schwieriger.
Habe es nochmal geupdatet. Habe jetzt eine Version vom 23.08.2021.
das Problem mit meiner error Meldung bleibt leider.
Das ist hier aber nicht der Thread für das Modul 95_PostMe.pm. Und darin findet sich bei mir an keiner Stelle so etwas Perverses wie @args[0].
LG
pah
Zitat von: Prof. Dr. Peter Henning am 03 April 2022, 19:07:44
Das ist hier aber nicht der Thread für das Modul 95_PostMe.pm. Und darin findet sich bei mir an keiner Stelle so etwas Perverses wie @args[0].
LG
pah
Ich denke das hilft hier nicht weiter, denn auch das offizielle in SVN befindliche Modul 95_Postme enthält in Zeile 1084:
my $listname = @args[0];
Wenn das bei Dir nicht so ist, passt irgendwas nicht zusammen - aber diese Diskussion gehört ganz sicher nicht hier hin und die eigentliche Frage ist ja bereits beantwortet - es gibt hier aus meiner Sicht keinen ZUsammenhang zum eigentlichen Problem.
@Wasserwerk33: Ich habe nochmal versucht Dein Szenario nachzustellen, kann die Meldung bei mir aber nicht provozieren. Ich muss deshalb weiter nach besonderen Umständen für Deinen Fall suchen. Also weitere Fragen:
- Du hast keine favoritesinline gesetzt - ich vermute aber dass das keinen Unterschied macht
- Schreibst Du direkt mit dem Bot oder über einen Gruppenchat?
- Gibt es andere Meldungen im fhem-log (nicht im eventviewer), die aus einem der beteiligten Module kommen?
Zitat von: Prof. Dr. Peter Henning am 03 April 2022, 19:07:44
Das ist hier aber nicht der Thread für das Modul 95_PostMe.pm. Und darin findet sich bei mir an keiner Stelle so etwas Perverses wie @args[0].
Leider doch.
In Zeile 1025 (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/95_PostMe.pm#L1025) und in Zeile 1084 (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/95_PostMe.pm#L1084) ist das so in SVN und auch auf meinem System.
Gruß
Dan
Zitat von: viegener am 03 April 2022, 23:22:19
- Du hast keine favoritesinline gesetzt - ich vermute aber dass das keinen Unterschied macht.
wo müsste ich das den machen??
Habe mal Filter im Event Monitor gemacht. Im Log steht garnix drin
Das kamm dabei raus.
2022-04-04 17:53:46 TelegramBot TelegramBot msgText: /m
2022-04-04 17:53:53 HOMEMODE Zuhause fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:53:53 ROOMMATE rr_Stefan fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:53:53 TelegramBot TelegramBot msgText: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:54:16 PostMe testpostme postme03Name: testlist
2022-04-04 17:54:16 PostMe testpostme postme03Cont:
2022-04-04 17:54:16 PostMe testpostme postmeCnt: 3
2022-04-04 17:54:27 TelegramBot TelegramBot msgText: /m
2022-04-04 17:54:29 HOMEMODE Zuhause fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:54:29 ROOMMATE rr_Stefan fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:54:29 TelegramBot TelegramBot msgText: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:54:29 TelegramBot TelegramBot queryInline @680783950 (ok:TBL_testlistbot%list_ok|ändern:TBL_testlistbot%list_menu|hinzu:TBL_testlistbot%list_askadd) Liste testlist ist leer
2022-04-04 17:54:29 TBot_List testlistbot start TelegramBot
2022-04-04 17:54:40 TelegramBot TelegramBot msgForceReply @680783950 Liste testlist Neuen Eintrag eingeben:
2022-04-04 17:54:46 TelegramBot TelegramBot msgText: Zucker
2022-04-04 17:54:59 TelegramBot TelegramBot msgForceReply @680783950 Liste testlist Neuen Eintrag eingeben:
2022-04-04 17:55:07 TelegramBot TelegramBot msgText: Milch
einen Chat habe ich nicht direkt geöffnet. Nur meine Frau und ich benutzen, den selben Bot. Bis jetzt haben wir damit aber auch ejar nur Garagentor geöffnet und Licht angemacht. Mehr nicht. Das hat nie probleme gemacht, und macht es jetzt auch nicht.
wenn ich mir den msg text anschaue, würde ich sagen er weiß nicht wohin damit
ZitatIn Zeile 1025 und in Zeile 1084 ist das so in SVN und auch auf meinem System.
Dann stellt sich die Frage, wieso eine solche Version seit 2018 ungestört im SVN rumsteht...
LG
pah
Das habe ich gerade auch noch gefunden.
Dem scheint eine ID zu fehlen oder??
sentMsgText AnswerInline: TBot_List_handler: testlistbot - TelegramBot ERROR no msgId known for peer :6803950: chat :6803950: cmd :list_ok: - 2923944803080493939
Zitat von: Wasserwerk33 am 04 April 2022, 17:59:05
wo müsste ich das den machen??
Habe mal Filter im Event Monitor gemacht. Im Log steht garnix drin
Das kamm dabei raus.
2022-04-04 17:53:46 TelegramBot TelegramBot msgText: /m
2022-04-04 17:53:53 HOMEMODE Zuhause fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:53:53 ROOMMATE rr_Stefan fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:53:53 TelegramBot TelegramBot msgText: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:54:16 PostMe testpostme postme03Name: testlist
2022-04-04 17:54:16 PostMe testpostme postme03Cont:
2022-04-04 17:54:16 PostMe testpostme postmeCnt: 3
2022-04-04 17:54:27 TelegramBot TelegramBot msgText: /m
2022-04-04 17:54:29 HOMEMODE Zuhause fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:54:29 ROOMMATE rr_Stefan fhemMsgRcvPush: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:54:29 TelegramBot TelegramBot msgText: /m4 = /Einkaufsliste = set testlistbot start TelegramBot
2022-04-04 17:54:29 TelegramBot TelegramBot queryInline @680783950 (ok:TBL_testlistbot%list_ok|ändern:TBL_testlistbot%list_menu|hinzu:TBL_testlistbot%list_askadd) Liste testlist ist leer
2022-04-04 17:54:29 TBot_List testlistbot start TelegramBot
2022-04-04 17:54:40 TelegramBot TelegramBot msgForceReply @680783950 Liste testlist Neuen Eintrag eingeben:
2022-04-04 17:54:46 TelegramBot TelegramBot msgText: Zucker
2022-04-04 17:54:59 TelegramBot TelegramBot msgForceReply @680783950 Liste testlist Neuen Eintrag eingeben:
2022-04-04 17:55:07 TelegramBot TelegramBot msgText: Milch
einen Chat habe ich nicht direkt geöffnet. Nur meine Frau und ich benutzen, den selben Bot. Bis jetzt haben wir damit aber auch ejar nur Garagentor geöffnet und Licht angemacht. Mehr nicht. Das hat nie probleme gemacht, und macht es jetzt auch nicht.
wenn ich mir den msg text anschaue, würde ich sagen er weiß nicht wohin damit
zu favoritesinline) Nein ich glaube nicht dass es einen Unterschied macht - es geht um das Attribut
zu chats) Ich meinte ob der Bot Teil einer Gruppe in Telegram ist und der Bot über Nachrichten in dieser Gruppe angeschrieben wird oder direkt im Client ohne die Gruppe
logfile) wenn ich log file meine - geht es um den logfile von FHEM - dort würden alle Fehlermeldung landen wie zum Beispiel diejenige, die Du unten schreibst
zu eventviewer) Das hilft normalerweise nicht weiter, in diesem Fall aber vielleicht schon: Ich kann die eventviewer-Einträge nicht genau interpretieren, aber es siht so aus, als ob das Kommando "
set testlistbot start TelegramBot" mehrfach hintereinander ausgelöst wird, das wäre eine Erklärung dafür, dass bei OK ein Problem entsteht. Wenn mehrere dieser TBOT_List-Dialoge parallel für denselben Kontakt laufen, dann klappt die Zuordnung nicht mehr
Habe meinen Fehler gefunden. Habe mir alles nochmal angeschaut Zeile für Zeile. Weiß nur nicht wieso ich den gesetzt habe.
Habe dieses im Telgrambot gelöscht und nun läuft er.
event-on-change-reading state
event-on-update-reading msgText
Ich danke dir für die Hilfe.
Zitat von: Heatseeker am 14 Februar 2021, 18:13:17
Naja,
FHEM friert ein, oder wird extrem langsam...
ich hab ein ähnliches Problem. Sobald ich den TelegramBot aktiviere und pollingtimeout größer 0 einstelle, wird fhem derart langsam, dass ich meine Rollosteuerung fast nicht mehr bedienen kann (extrem zeitverzögert). Sobald ich den TelegramBot in Fhem auf disable setze, passt alles und FHEM reagiert wie gewohnt.
Das Ganze ist auf einem aktuellen Debian Bullseye auf einen RPI3 installiert. Generell kann der Bot mit Telegram kommunizieren, aber bremst leider generell FHEM aus. Hat jemand eine Idee oder Lösung dazu gefunden?
Zitat von: NewMatic am 06 April 2022, 14:45:18
ich hab ein ähnliches Problem. Sobald ich den TelegramBot aktiviere und pollingtimeout größer 0 einstelle, wird fhem derart langsam, dass ich meine Rollosteuerung fast nicht mehr bedienen kann (extrem zeitverzögert). Sobald ich den TelegramBot in Fhem auf disable setze, passt alles und FHEM reagiert wie gewohnt.
Das Ganze ist auf einem aktuellen Debian Bullseye auf einen RPI3 installiert. Generell kann der Bot mit Telegram kommunizieren, aber bremst leider generell FHEM aus. Hat jemand eine Idee oder Lösung dazu gefunden?
Die übliche n Fragen:
- Was hat sich geändert oder hat das nie funktioniert bei Dir
- gibt es auffällige Meldung im log (nicht nur von telegrambot)
- Läuft Dein FHEM im Container oder "direkt"
- Ist fhem aktuell
- SInd andere Netzwerkkomponente beteiligt (pihole oder ähnliches)
- ist das dnsserver attribut gesetzt
- gibt es andere devices (die nach aussen Verbindungen aufmachen) z.B. httpmod und geht es dort ohen verzögerungen
- gibt es Meldungen auf Linux ebene?
- Was hat sich geändert oder hat das nie funktioniert bei Dir
>>hat auf den RPI3 nie funktioniert (wie gesagt frisch aufgesetzt)
- gibt es auffällige Meldung im log (nicht nur von telegrambot)
>>Außer Telegrambot nichts auffälliges
- Läuft Dein FHEM im Container oder "direkt"
>>Läuft "direkt"
- Ist fhem aktuell
>>Ja Installation wurde neu aufgesetzt und ist aktuell
- SInd andere Netzwerkkomponente beteiligt (pihole oder ähnliches)
>>Nein
- ist das dnsserver attribut gesetzt
>>habe ich gesetzt. Mit DNS 8.8.8.8 wird das ganze extrem langsam aber funktioniert. Mit DNS auf den Router geht er in ein pollingtimeout
- gibt es andere devices (die nach aussen Verbindungen aufmachen) z.B. httpmod und geht es dort ohen verzögerungen
>>nein
- gibt es Meldungen auf Linux ebene?
>>das kann ich nicht beantworten. wo bzw. in welchen log könnte ich da nachsehen?
Zitat von: NewMatic am 08 April 2022, 10:17:21
- Was hat sich geändert oder hat das nie funktioniert bei Dir
>>hat auf den RPI3 nie funktioniert (wie gesagt frisch aufgesetzt)
- gibt es auffällige Meldung im log (nicht nur von telegrambot)
>>Außer Telegrambot nichts auffälliges
- Läuft Dein FHEM im Container oder "direkt"
>>Läuft "direkt"
- Ist fhem aktuell
>>Ja Installation wurde neu aufgesetzt und ist aktuell
- SInd andere Netzwerkkomponente beteiligt (pihole oder ähnliches)
>>Nein
- ist das dnsserver attribut gesetzt
>>habe ich gesetzt. Mit DNS 8.8.8.8 wird das ganze extrem langsam aber funktioniert. Mit DNS auf den Router geht er in ein pollingtimeout
- gibt es andere devices (die nach aussen Verbindungen aufmachen) z.B. httpmod und geht es dort ohen verzögerungen
>>nein
- gibt es Meldungen auf Linux ebene?
>>das kann ich nicht beantworten. wo bzw. in welchen log könnte ich da nachsehen?
Das klingt alles erstmal danach, als ob der TelegramBot hier ein Symptom aufdeckt. Ich vermute zuerst einmal ein Problem im System selbst.
Um das zu bestätigen wäre es sinnvoll vielleicht mal ein HTTPMod aufzusetzen, das Daten über eine externe https-Verbindung ausliest.
Alternativ kannst Du auch mal versuchen per "curl" in der Shell einen Web-Request zum Laden eienr Datei anzustossen und schauen ob das normal funktioniert.
Da ich Dein Sytem jetzt nicht genauer kenne, wird Dir bei Systemlogs vermutlich google eher helfen können - Kandidaten sind der Bootprozess (entweder am Bildschirm) oder per dmesg // Ausserdem sind die Dateien unter /var/log (also insbesondere syslog) hilfreich um nach Meldungen / Auffälligkeiten zu suchen
Und natürlich gibt es Auffälligkeiten im fhem log (nicht telegrambot)
Ausserdem immer die Frage - was ist anders als vorher / auf anderen Systemen - das führt möglicherweise auf die Spur
Ich habe mal eine Frage zum Livestandort in Telegram.
Vielleicht gibt es ja schon etwas und ich habe es nur nicht gefunden.
Ich möchte meinen Livestandort teilen. Und zwar, ohne dass ich noch eine zusätzliche App installieren muss. Das lässt sich auf dem Telefon im Bot einfach bewerkstelligen. Das kommt auch in FHEM an und wird gleich in Lang/Long aufgeteilt. Soweit so gut.
Aber wie kann ich nun von FHEM aus einen Aktualisierungswunsch an das Telefon schicken. Dazu reicht mein Verständnis der Telegram API nicht.
Aber vielleicht kann mir ja jemand helfen.
Gruß Detlef
Zitat von: viegener am 07 April 2022, 22:41:53
- ist das dnsserver attribut gesetzt
was sollte den beim dnsserver attribut gesetzt werden? Der lokale router oder 8.8.8.8 ?
Zitat von: NewMatic am 14 April 2022, 15:35:15
was sollte den beim dnsserver attribut gesetzt werden? Der lokale router oder 8.8.8.8 ?
Das ist für das Verhalten von fhem nicht unbedingt relevant, es geht erstmal darum, ob das Attribut gesetzt ist. Es ist interessant, dass bei Dir so extrem langsam läuft. Hast Du mal versucht das dnsserver attribut nicht zu setzen?
Hallo zusammen.
Ich nutzte den telegram bot bisher ohne Probleme als Info zentrale (wer klingelt) als Menü etc. Mein System ist seit über 200 Tagen unverändert. Jetzt habe ich gemerkt das nicht mehr alles bei mir ankommt. Z.b muss ich 3 x ,,menü" eingeben damit es dann beim 3. mal klappt. Wenn es klingelt kommt nur noch jedes 2. mal das Bild aber manchmal auch jedes.
Ich hab mir dann den bot angeschaut und unter readings gesehen das da eine fast 20 seitige Liste an contacts ist (steht bei List unter contacts) und vermute das es damit zu tun hat. Vielleicht geht der Befehl unter wegen der Masse an readings die da erzeugt werden. Hat jemand eine Idee ob das normal ist oder kann mit meiner Beschreibung was anfangen ?
Bin sehr auf die telegram Steuerung angewiesen wegen Nachrichten zu Bewegungen als Sicherheit etc. Und bisher hat es immer ohne Probleme funktioniert :(
FAILS 1
FUUID 5c84befe-f33f-1dc2-1cb6-ca21b31691911185
NAME teleBot
NR 1156
OLD_POLLING 38
POLLING 38
SNAME teleBot
STATE Polling
TYPE TelegramBot
UPDATER 0
WAIT 0
me 560908489:Hausinfo:@Horster_bot
offset_id 233003801
sentLastResult SUCCESS
sentMsgId
sentMsgOptions
sentMsgPeer André
sentMsgPeerId 528847740
sentMsgText AnswerInline: - 2271383750737875521
sourceVersion $Id: 50_TelegramBot.pm 23001 2020-10-21 19:33:31Z viegener $
.attraggr:
.attrminint:
AliasCmds:
Contacts:
-1001651144827 -1001651144827::#🇿🇦🇸🇸🇩🇪🇫🇷🇺🇲_✪_24/7_CRYPTO_WORLD_🌍_INVESTMENT📉📈📊
1000275218 1000275218:максим_Гиров:@Magor232
1000393434 1000393434:Hannelore_Schaffeld:@Hannelore1
1000526567 1000526567:Rainer:@Lehmann5
1000885959 1000885959:Carien_Veldman:@Carien_Veldman
1000949352 1000949352:Obada_Hammoush:@obhamm
1001230290 1001230290:doreen:@Doreen217
1001392619 1001392619:H_Lina:@Shelina7502564
1001708893 1001708893:Richard:@Sandilemabilisa
1001787290 1001787290:Иван_Широченко:@ivan64
1001787964 1001787964:Anik_Bonarde:@Bonarde
1002758531 1002758531:Dixon_Mtile:@Mtilee
1002898569 1002898569:Leudis_Góis:@leudisgois
1003000877 1003000877:mazafaka___:@flatt1678
1003145077 1003145077:Maleah:@Malehuh
1003582262 1003582262:Bhekisisa_Ncube:@Bheki99
1003633279 1003633279:Ceylan_inanır:@ceylan140817
1003706482 1003706482:Thabo:@Thaboxolani
1004092388 1004092388:Maletsatsi_Pauline:@maletsatsip
1005007104 1005007104:AGNETHE_SCHMIDT:@SCHMIDT68
1005007120 1005007120:Ephraine_MADOUELE:@Ephraine
1005053753 1005053753:Sandie_Nandipha:@Nandipha92
1005464492 1005464492:Vladimir_Vladimirovich:@vladimir96
1005594749 1005594749:Nicklaus_Micaelson:@klaus91
1005806785 1005806785:Karsten_Zintz:@Karsten97
1005917726 1005917726:Budi_Saputra:@kohler_93
1005918083 1005918083:Marina_Homs:@mahog
Da kommen jetzt seitenweise die Kontakte ...
Willst du die Kontakte alle haben?
Wenn nicht: löschen und v.a. attr allowUnknownContacts auf 0 setzen!!
(steht aber denke ich auch im Wiki
EDIT: https://wiki.fhem.de/wiki/TelegramBot#Privacyeinstellungen und https://wiki.fhem.de/wiki/TelegramBot#Befehle_von_Telegram_an_FHEM_senden und auch hier: https://forum.fhem.de/index.php/topic,51425.0.html)
Ebenfalls hoffe ich (sieht man im list ja nicht), dass du auch restrctedPeers gesetzt hast und/oder überpfüfst, wer denn die "Menü-Anfrage" oder gar eine "Befehls-Ausführung" anfordert: msgPeerID (glaube ich)!
Ob es daran liegt: keine Ahnung...
Manchmal hat aber auch Telegram selber "Probleme" oder das Internet hängt grad (auf deiner Seite) oder fhem "hängt" grad: fhem ist Single-Threaded. Wenn also irgendein Modul "hängt" (z.B. wartet z.B. auf einen Internetrequest und wenn dieser nicht "non-blocking" implementiert ist), dann reagiert auch TelegramBot nicht/langsam(er)...
Also evtl. mal auf "Freezes" prüfen: FreezeMon
Ist Attribut dnsServer in global gesetzt?
Gruß, Joachim
Zitat von: MadMax-FHEM am 24 April 2022, 12:37:16
Willst du die Kontakte alle haben?
Wenn nicht: löschen und v.a. attr allowUnknownContacts auf 0 setzen!!
(steht aber denke ich auch im Wiki
EDIT: https://wiki.fhem.de/wiki/TelegramBot#Privacyeinstellungen und https://wiki.fhem.de/wiki/TelegramBot#Befehle_von_Telegram_an_FHEM_senden und auch hier: https://forum.fhem.de/index.php/topic,51425.0.html)
Erstmal vielen Dank. Nein ich will natürlich nicht diese Millionen Kontakte haben. Ich habe mit Replace jetzt die IDs von mir und meiner Frau eingesetz und anschließend allowUnknownContacts auf 0 gesetzt, war vorher 1...
Zitat
Ebenfalls hoffe ich (sieht man im list ja nicht), dass du auch restrctedPeers gesetzt hast und/oder überpfüfst, wer denn die "Menü-Anfrage" oder gar eine "Befehls-Ausführung" anfordert: msgPeerID (glaube ich)!
nein das habe ich tatsächlich nicht, dachte es können auch nur commands von den contacts ausgeführt werden, die ja jetzt nur noch ich und Frau sind... Okay im Wiki steht
Achtung: Bei den Kommandos sollten man unbedingt das Attribut "cmdRestrictedPeer" setzen, damit nicht jeder Kommandos auf dem FHEM-Server ausführen kann. Dazu sollten die BenutzerIDs der erlaubten Benutzer (durch Leerzeichen getrennt angeben).
Mein Code für den Menüaufruf ist:
define teleBotMenu notify teleBot.msgText:.Menü set teleBot queryInline @[teleBot:msgPeer] (Ⓜ|R⬇|🔔|🌡) (👣|💡|ℹ|💻) (3D|📆) 🔝 <b>Hauptmenü</b>
Habe aber jetzt das attr cmdRestrictedPeer bei meinem Telebot gesetz und die beiden IDs von uns eingesetzt. Da der Menüaufruf noch geht, war das wohl richtig :)
Zitat
Ob es daran liegt: keine Ahnung...
Manchmal hat aber auch Telegram selber "Probleme" oder das Internet hängt grad (auf deiner Seite) oder fhem "hängt" grad: fhem ist Single-Threaded. Wenn also irgendein Modul "hängt" (z.B. wartet z.B. auf einen Internetrequest und wenn dieser nicht "non-blocking" implementiert ist), dann reagiert auch TelegramBot nicht/langsam(er)...
Mal gucken ob die gemachten Änderungen Auswirkungen haben. Komisch ist halt das es 200 Tage geht und ich dann merke es kommt nicht alles an. Bei meiner Frau kam aber alles an (z.B. Klingelscreenshot)..so ist erst aufgefallen das es nur bei mir das Problem war. Ich konnte es dann durch mein Menü rekonstruieren wo auch nicht jeder Aufruf klappte. Aktuell klappt alles daher hoffe ich das dies schon alles geholfen hat.
Zitat
Also evtl. mal auf "Freezes" prüfen: FreezeMon
Das sagt mir gar nichts, wo mache ich das?
Zitat
Ist Attribut dnsServer in global gesetzt?
attr global dnsServer 192.168.178.1
ist eingetragen.
Danke erstmal für alles
Da ich irgendwie meinen Beitrag nicht editieren kann, was mir noch aufgefallen ist ein Log eintrag den ich nicht zuordnen kann:
2022.04.24 19:07:14.218 1: ERROR evaluating my $EVENT= $evalSpecials->{'%EVENT'};my $EVTPART0= $evalSpecials->{'%EVTPART0'};my $EVTPART1= $evalSpecials->{'%EVTPART1'};my $NAME= $evalSpecials->{'%NAME'};my $SELF= $evalSpecials->{'%SELF'};my $TYPE= $evalSpecials->{'%TYPE'};{ Telegram("teleBot","msgText")}: Undefined subroutine &main::Telegram called at (eval 5354) line 1.
Zitat von: Andre09 am 24 April 2022, 19:17:14
Da ich irgendwie meinen Beitrag nicht editieren kann, was mir noch aufgefallen ist ein Log eintrag den ich nicht zuordnen kann:
2022.04.24 19:07:14.218 1: ERROR evaluating my $EVENT= $evalSpecials->{'%EVENT'};my $EVTPART0= $evalSpecials->{'%EVTPART0'};my $EVTPART1= $evalSpecials->{'%EVTPART1'};my $NAME= $evalSpecials->{'%NAME'};my $SELF= $evalSpecials->{'%SELF'};my $TYPE= $evalSpecials->{'%TYPE'};{ Telegram("teleBot","msgText")}: Undefined subroutine &main::Telegram called at (eval 5354) line 1.
Dazu kann ich leider nichts sagen :-\
Gruß, Joachim
Zitat
Mal gucken ob die gemachten Änderungen Auswirkungen haben. Komisch ist halt das es 200 Tage geht und ich dann merke es kommt nicht alles an. Bei meiner Frau kam aber alles an (z.B. Klingelscreenshot)..so ist erst aufgefallen das es nur bei mir das Problem war. Ich konnte es dann durch mein Menü rekonstruieren wo auch nicht jeder Aufruf klappte. Aktuell klappt alles daher hoffe ich das dies schon alles geholfen hat.
Naja, wenn es "parallel" bei deiner Frau geht und bei dir nicht, dann kann das schon sein, dass es auf Telegram-Seite liegt.
Evtl. ist dein Account an anderen Servern "unterwegs" als der deiner Frau...
...o.ä.
cmdRestrictedPeer ist doch für fhem-Commands, also mit dem "Schlüsselwort"?
Ich prüfe welcher Peer etwas gesendet hat, bevor es eine Antwort gibt...
...sicher ist sicher.
Also so, wie im Link bzgl. chatbot...
Freezes: mal suchen bzw. Freezemon definieren und schauen, ob der was entdeckt...
https://forum.fhem.de/index.php?topic=83909.0
oder: help freezemon in FhemWeb-cmd ;)
Gruß, Joachim
Zitat von: Andre09 am 24 April 2022, 19:17:14
Da ich irgendwie meinen Beitrag nicht editieren kann, was mir noch aufgefallen ist ein Log eintrag den ich nicht zuordnen kann:
2022.04.24 19:07:14.218 1: ERROR evaluating my $EVENT= $evalSpecials->{'%EVENT'};my $EVTPART0= $evalSpecials->{'%EVTPART0'};my $EVTPART1= $evalSpecials->{'%EVTPART1'};my $NAME= $evalSpecials->{'%NAME'};my $SELF= $evalSpecials->{'%SELF'};my $TYPE= $evalSpecials->{'%TYPE'};{ Telegram("teleBot","msgText")}: Undefined subroutine &main::Telegram called at (eval 5354) line 1.
Ich kann die Meldung erstmal auch nicht zuordnen, es sieht so aus, als ob die aus einer (von Dir ?) erstellten Routine kommt. Also z.B. DOIF, notify, oder auch in den Favoriten, etc
Vielleicht schaust bei Dir irgendwo "Telegram(" vorkommt?
Denn "telebot" ist vermutlich der Name Deines TelegramBots und irgendwie wird versucht eine Routine "Telegram(" aufzurufen - vermutlich aus einem Kommando -
Hallo allwissendes Forum,
ich habe ein Problem mit meinem TelegramBot, das mich ziemlich ratlos macht:
Vor ein paar Tagen ist das Device sang und klanglos aus der fhem.cfg verschwunden. Vor vier Tagen habe ich noch eine Nachricht bekommen, gestern war das Device nicht mehr da. So weit so rätselhaft. Jetzt versuche ich seit gestern, das Device anhand der Daten aus einem Backup wieder neu anzulegen. Aber es tut nicht so richtig. Insbesondere sind keine Contacts gelistet, egal wie oft ich meinem Bot eine Nachricht schicke.
Meine Vermutung ist daher, dass die Verbindung zwischen Fhem und Bot nicht wirklich funktioniert. Das kann ich aber aus dem Protokoll (Verbose = 5) nicht sehen:
2022.05.27 10:59:26 5: TelegramBot_Callback DEV_SYS_TelegramBot: called from Polling
2022.05.27 10:59:26 5: TelegramBot_Callback DEV_SYS_TelegramBot: data returned :{"ok":true,"result":[]}:
2022.05.27 10:59:26 5: TelegramBot_Deepencode DEV_SYS_TelegramBot: found an ARRAY
2022.05.27 10:59:26 5: TelegramBot_Deepencode DEV_SYS_TelegramBot: encoded a String from :true: to :true:
2022.05.27 10:59:26 5: TelegramBot_Deepencode DEV_SYS_TelegramBot: found a HASH
2022.05.27 10:59:26 5: TelegramBot_Callback DEV_SYS_TelegramBot: after encoding
2022.05.27 10:59:26 5: TelegramBot_Callback DEV_SYS_TelegramBot: polling returned result? 0
2022.05.27 10:59:26 5: UpdatePoll DEV_SYS_TelegramBot: number of results 0
2022.05.27 10:59:26 5: TelegramBot_UpdatePoll DEV_SYS_TelegramBot: called
2022.05.27 10:59:26 5: TelegramBot_UpdatePoll DEV_SYS_TelegramBot: - Initiate non blocking polling - With callback set
2022.05.27 10:59:26 5: TelegramBot_readToken: Read Telegram API token from file
2022.05.27 10:59:26 4: TelegramBot_UpdatePoll DEV_SYS_TelegramBot: initiate polling with nonblockingGet with 120s
2022.05.27 10:59:26 5: TelegramBot_UpdatePoll DEV_SYS_TelegramBot: - Ende > next polling started
2022.05.27 10:59:26 4: TelegramBot_Callback DEV_SYS_TelegramBot: resulted in SUCCESS from Polling
2022.05.27 10:59:26 5: TelegramBot_Callback DEV_SYS_TelegramBot: - Ende > Control back to FHEM
Wenn ich versuche, eine Nachricht rauszuschicken, kommt der Hinweis, dass er meine Peer-ID nicht finden/zuordnen kann:
2022.05.27 11:01:54 5: TelegramBot_Set DEV_SYS_TelegramBot: called
2022.05.27 11:01:54 4: TelegramBot_Set DEV_SYS_TelegramBot: Processing TelegramBot_Set( _msg )
2022.05.27 11:01:54 5: TelegramBot_Set DEV_SYS_TelegramBot: start send for cmd :_msg: and sendType :0:
2022.05.27 11:01:54 5: TelegramBot_SendIt DEV_SYS_TelegramBot: called
2022.05.27 11:01:54 5: TelegramBot_SendIt DEV_SYS_TelegramBot: try to send message to :myID: -:Hallo: - add :<undef>: - replyid :<undef>:: options ::
2022.05.27 11:01:54 4: TelegramBot_GetFullnameForContact # Contacts is <undef>
2022.05.27 11:01:54 3: TelegramBot_SendIt DEV_SYS_TelegramBot: Failed with :FAILED peer not found :myID::
2022.05.27 11:01:54 5: TelegramBot_Callback DEV_SYS_TelegramBot: called from SendIt
2022.05.27 11:01:54 3: TelegramBot_Callback DEV_SYS_TelegramBot: resulted in NonBlockingGet: returned FAILED peer not found :myID: from SendIt
2022.05.27 11:01:54 5: TelegramBot_Callback DEV_SYS_TelegramBot: - Ende > Control back to FHEM
Wenn ich dem Bot eine Nachricht schicke, passiert in Fhem gar nichts.
Ich habe das Device schon mehrfach gelöscht und wieder neu angelegt. Hat nichts geändert. Der Bot hat jetzt sicher zwei Jahre anstandslos funktioniert. Weiß jemand Rat, in welche Richtung ich weiter suchen kann? Ich weiß grad nicht, was ich noch probieren könnte.
UPDATE: Vor einer halben Stunde ist eine Nachricht vom Bot auf meinem Handy angekommen. Allerdings ohne das Menü, das dabei sein sollte. Und jetzt funktioniert das Senden schon wieder nicht mehr: "peer not found"...
UPDATE: GELÖST! Als ich bei der Peer-ID die ID selber (also die Zahlen, aber ohne @) eingegeben habe, gingen die Nachrichten plötzlich raus. Und Für eingehende Nachrichten musste ich "allowUnknownContacts" vorübergehend auf 1 setzen, damit er "mich kennenlernen konnte". Dadurch wurde ich wieder als Contact gelistet und jetzt kann ich "allowUnknownContacts" wieder auf 0 setzen und der Bot funktioniert wieder, so wie ich das kenne!!
Vielen Dank schon mal,
Pete37
Ich sende eine queryInline set Telegram queryInline (Ja:Yeinschalten|Nein:Xausgeschalten) Soll das Licht eingeschalten werden?
Kann ich nach dem Drücken auf Ja oder Nein die queryInline Nachricht löschen lassen?
Ja, du kannst anhand der msg id das wieder löschen.
Bin nun am Handy, könnte Dir aber sonst ein Beispiel zeigen.
Gruß SteRa
msgDelete kenne ich. Nur muss ich die Verknüpfung zu der "Antwort" herstellen. Die ID bekomme ich leider nicht heraus.
Man hat doch sogar nur eine Änderung im Reading "queryReplyMsgId", dass dort erst die ID generiert wird, wenn man Antwortet. Wenn sich das ändert und vllt. im Zusammenhang mit dem Reading "queryData" kann ich doch die Nachricht z.B. mit einem DoIf löschen..
Gruß,
Stefan
Evtl so
defmod TelegramBot_loeschen notify TelegramBot:sentMsgResult:.SUCCESS {if ((ReadingsVal("Profil", "housemode", "normal") eq "normal") and (ReadingsNum("TelegramBot","sentMsgId", 0)>0)) {fhem("defmod TelegramBot_loeschen_".ReadingsVal("TelegramBot","sentMsgId", 0)." at +11:00:00 set TelegramBot msgDelete ".ReadingsVal("TelegramBot", "sentMsgId", 0))} }
nach 11 Stunden wird das gelöscht. Bei mir aber jede Nachricht, wenn ich zu Hause bin.
Über queryReplyMsgId habe ich es mittlerweile hinbekommen. Musste nur set Telegram msgDelete [Telegram:queryReplyMsgId]
im DOIF hinzufügen
Hallo Zusammen,
vor einigen Tagen habe ich mein Telegrambot device neu anlegen müssen. Es funktioniert auch alles bis auf eine Nachricht an eine Gruppe via
set fhembot msg @#Gruppe Text
Es kommt nur
sentMsgResult NonBlockingGet: returned FAILED peer not found :#Gruppenname:
zurück. Mach ich ein
set fhembot msg @-1234567 Text
landet die Nachricht in der gewünschten Gruppe. Irgendwie findet die Gruppe nicht in das reading contacts. Ein manuelles Eintragen hat jedenfalls nicht geholfen. Dei Gruppe ist auch korrekt als
msgContactPush -1234567::#Gruppenname
im RESIDENTS Modul hinterlegt.
Kann mir bitte mal jemand auf die Sprünge helfen?!
VG Sebastian
@binford6000: Was steht denn bei Deinem fhembot im Reading Contacts?
Wenn es dort nicht gelistet ist, versuche doch mal eine Nachricht (von einem anderen Account in Telegram) an die Gruppe zu senden. Danach sollte es im Reading Contacts enthalten sein
Hi,
ZitatWas steht denn bei Deinem fhembot im Reading Contacts?
da stehen nur meine beiden ROMMATES drin. Früher (aus einem alten Backup) stand da auch die Gruppe drin.
Ein manuelles Setzen via setreading hat nichts gebracht. Auch Nachrichten von den anderen Gruppenteilnehmern in die Gruppe
lassen den fhembot nicht in contacts auftauchen. Extra dafür auch wieder allowUnknownContacts wieder auf 1 gesetzt.
Aber bisher leider ohne Erfolg...
VG Sebastian
Zitat von: binford6000 am 20 November 2022, 21:54:55
Hi,da stehen nur meine beiden ROMMATES drin. Früher (aus einem alten Backup) stand da auch die Gruppe drin.
Ein manuelles Setzen via setreading hat nichts gebracht. Auch Nachrichten von den anderen Gruppenteilnehmern in die Gruppe
lassen den fhembot nicht in contacts auftauchen. Extra dafür auch wieder allowUnknownContacts wieder auf 1 gesetzt.
Aber bisher leider ohne Erfolg...
VG Sebastian
Erhält denn der Bot die Nachrichten der anderen den Bot?
und ist der Bot in Telegram noch in der Gruppe gelistet?
Nur zur Sicherheit: Hast Du in Telegram den Bot neu angelegt? oder nur in FHEM?
ZitatErhält denn der Bot die Nachrichten der anderen den Bot?
Nein.
Zitatund ist der Bot in Telegram noch in der Gruppe gelistet?
Ja.
ZitatNur zur Sicherheit: Hast Du in Telegram den Bot neu angelegt? oder nur in FHEM?
Nur in FHEM. Die Gruppe in Telegram habe ich nicht angerührt.
@binford6000: Ich habe es gerade bei mir nochmal durchgetestet: Wenn der Kontakt im bot in FHEM fehlt. Reicht es "allowUnknownContacts" auf 1 zu setzen, dann eine Nachricht in die Gruppe zu senden, die auch vom Bot empfangen wird und danach stehen die Kontakte wieder korrekt da in FHEM.
Also den Ablauf nochmal so durchführen und dann prüfen.
Falls das nicht klappt, gibt es noch eine Alternative: Es gibt einen set Befehle (replaceContacts), da kann man den Inhalt des alten Readings aus dem Backup wieder setzen (ACHTUNG: Nicht über setreading sondern über set ... replaceContacts ...)
Danke dir für den Hinweis - probiere ich gleich morgen aus! Möchte den WAF am späten Sonntag Abend nicht überstrapazieren... ;)
VG Sebastian
ZitatEs gibt einen set Befehle (replaceContacts), da kann man den Inhalt des alten Readings aus dem Backup wieder setzen (ACHTUNG: Nicht über setreading sondern über set ... replaceContacts ...)
Moin,
mit
replaceContacts hat es funktioniert. Den set-Befehl hab ich irgendwie übersehen...
Vielen Dank fürs Helfen!
VG Sebastian
Hello again,
diesmal mit einem anderen Problemchen:
In https://forum.fhem.de/index.php/topic,77297.msg1259756.html#msg1259756 (https://forum.fhem.de/index.php/topic,77297.msg1259756.html#msg1259756) habe ich bereits geschrieben dass ich meine Dialoge nicht mehr aufrufen kann. Es passiert nichts und im TelegramBot steht die Fehlermeldung:
Callback returned error :Bad Request: message is not modified: specified new message content and reply markup are exactly the same as a current content and reply markup of the message:
Der Dialog wird laut Log aber korrekt zusammengebaut und ausgeliefert.
Sämtliche Versuche mit
- set fhembot msgDelete [fhembot:_sentMsgId]
- set fhembot msgDelete [fhembot:sentMsgId] (wobei die leer ist?)
- set fhembot reset
haben leider nicht zum Erfolg geführt. Normales senden mit zB
msg push blabla
funktioniert aber nach wie vor.
VG Sebastian
EDIT: Problem gelöst! Siehe geändertes notify im Wiki und den Beitrag von Beta-User im msgDialog-Thread:
- https://forum.fhem.de/index.php/topic,77297.msg1260231.html#msg1260231 (https://forum.fhem.de/index.php/topic,77297.msg1260231.html#msg1260231)
- https://wiki.fhem.de/wiki/MsgDialog#.22:.22_bei_Inline_Keyboards (https://wiki.fhem.de/wiki/MsgDialog#.22:.22_bei_Inline_Keyboards)
Ich habe eine neue Version des Moduls eingechecked ins SVN
Darin gibt es ein neues Reading, dass den Zeitpunkt einer Nachricht, wie sie von telegram empfangen wurde angibt. Der Zeitstempel wird in lokaler Zeit in der Form eines Readingtimestamps im Inhalt angegeben. Dies kann auch dafür verwendet werden, um auf alte Nachrichten, die durch ein Problem nicht kurzfristig empfangen wurden nicht mehr zu reagieren.
Ausserdem sind noch ein paar Korrekturen in der neuen Version
Bei Problemen einfach melden.
Ich hatte vor ca. zwei Jahren TelegramBot eingerichtet.
Mir werden Bilder von einer Überwachungskamera an mein Handy mit Telegramm geschickt (nach dem Klingeln an der Haustüre).
Dies funktioniert bisher soweit ohne Probleme.
Ich habe jetzt vor, dass meine Bilder von der Überwachungskamera, zusätzlich noch an ein anderes Handy geschickt werden.
Für mein Vorhaben muss ich ja die Nachricht noch an einen anderen @Username (2. Handy) schicken und vorher auch dort Telegram installieren und einrichten.
Bzw. ich muss den 2. Kontakt in meine Readings angezeigt bekommen.
Jetzt ist mir aber aufgefallen, dass ich damals bei der ersten Einrichtung, ich es anscheinend nicht richtig eingerichtet habe. Anscheinend habe ich den Token nicht angegeben.
Zumindest wird im Device teleBot (mein TelegramBot) mit "RawDefinition" u.a. folgendes angezeigt:
defmod teleBot TelegramBot
attr teleBot allowUnknownContacts 0
attr teleBot defaultPeer MeinName
attr teleBot pollingTimeout 120
attr teleBot room Alarm
Unter Readings steht folgendes:
Contacts 1234567890:MeinName:
also ohne @Username
(1111111111 und MeinName habe ich fürs Forum abgeändert).
Außerdem ist die Zahl 1111111111 auch nicht die selbe Zahl, wie in meinen Token in der API steht, dort steht z.B. 2222222222.
Aber funktioniert hat es ja bisher trotzdem. Kann in beide Richtungen Nachrichten schicken.
Wie kann das sein?
Sollte ich jetzt das Device teleBot löschen und neu anlegen und diesmal mit dem token?
Kann ich den selben Namen "teleBot" wieder verwenden?
Also so wie in Wiki; hier das Beispiel aus Wiki:
define myTelegramBot TelegramBot 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
Oder wird es danach zu Problemen führen und das bisherige (mit einem Handy) funktioniert auch nicht mehr?
Vielen Dank
Viele Grüße
Ruggy
Zitat von: Ruggy am 23 Februar 2023, 19:57:19
Ich hatte vor ca. zwei Jahren TelegramBot eingerichtet.
Mir werden Bilder von einer Überwachungskamera an mein Handy mit Telegramm geschickt (nach dem Klingeln an der Haustüre).
Dies funktioniert bisher soweit ohne Probleme.
Ich habe jetzt vor, dass meine Bilder von der Überwachungskamera, zusätzlich noch an ein anderes Handy geschickt werden.
Für mein Vorhaben muss ich ja die Nachricht noch an einen anderen @Username (2. Handy) schicken und vorher auch dort Telegram installieren und einrichten.
Bzw. ich muss den 2. Kontakt in meine Readings angezeigt bekommen.
Jetzt ist mir aber aufgefallen, dass ich damals bei der ersten Einrichtung, ich es anscheinend nicht richtig eingerichtet habe. Anscheinend habe ich den Token nicht angegeben.
Zumindest wird im Device teleBot (mein TelegramBot) mit "RawDefinition" u.a. folgendes angezeigt:
defmod teleBot TelegramBot
attr teleBot allowUnknownContacts 0
attr teleBot defaultPeer MeinName
attr teleBot pollingTimeout 120
attr teleBot room Alarm
Unter Readings steht folgendes:
Contacts 1234567890:MeinName:
also ohne @Username
(1111111111 und MeinName habe ich fürs Forum abgeändert).
Außerdem ist die Zahl 1111111111 auch nicht die selbe Zahl, wie in meinen Token in der API steht, dort steht z.B. 2222222222.
Aber funktioniert hat es ja bisher trotzdem. Kann in beide Richtungen Nachrichten schicken.
Wie kann das sein?
Sollte ich jetzt das Device teleBot löschen und neu anlegen und diesmal mit dem token?
Kann ich den selben Namen "teleBot" wieder verwenden?
Also so wie in Wiki; hier das Beispiel aus Wiki:
define myTelegramBot TelegramBot 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
Oder wird es danach zu Problemen führen und das bisherige (mit einem Handy) funktioniert auch nicht mehr?
Vielen Dank
Viele Grüße
Ruggy
Das token steht grundsätzlich nicht im Bot selber sondern wird separat abgelegt. Da Senden und Empfangen geht ist Dein token offensichtlich valide.
Das Token hat nichts mit der Adresse / ID eines contacts zu tun.
Wenn Du einen neuen Benutzer in den Contacts haben wilst, muss dieser den Bot in Telegram anschreiben. Damit er in den Contacts auftaucht, muss aber (kurzzeitig) allowUnknownContacts auf 1 gesetzt werden.
Dann solltest Du den Kontakt auch anschreiben können.
Danke.
Ja, senden und empfangen geht.
Habe nur in einem Video über die Einrichtung von telegram gesehen, dass dort bei den internals bei URL der token mit steht. Das URL habe ich gar nicht.
Aber es funktioniert ja.
Zitat von: viegener am 23 Februar 2023, 23:01:39
Wenn Du einen neuen Benutzer in den Contacts haben wilst, muss dieser den Bot in Telegram anschreiben.
Da ist dann mein Bot gemeint, welcher unter Internals bei "me" steht? @meinName_bot?
Muß ich dann im 2. Handy einen Neuen Kontakt mit diesem @meinName_bot anlegen und an diesen eine Nachricht schicken?
Zitat von: Ruggy am 24 Februar 2023, 15:09:31
Danke.
Ja, senden und empfangen geht.
Habe nur in einem Video über die Einrichtung von telegram gesehen, dass dort bei den internals bei URL der token mit steht. Das URL habe ich gar nicht.
Aber es funktioniert ja.
Da ist dann mein Bot gemeint, welcher unter Internals bei "me" steht? @meinName_bot?
Muß ich dann im 2. Handy einen Neuen Kontakt mit diesem @meinName_bot anlegen und an diesen eine Nachricht schicken?
Nein Du solltest den Bot nach Namen oder @... Name suchen und dann einen chat damit starten - danach ist das ein ganz normaler chat in der Liste in Telegram
Hallo Zusammen,
ich nutze den TelegramBot gerne und intensiv, DANKE für die viele Arbeit. Oft nutze ich den Bot zusammen mit msgDialog und auch mit Clients am Smartphone und Desktop. Ich bin deshalb nicht ganz sicher wo meine Frage hingehört und beginne jetzt mal hier....
Wenn ich mein Zauberwort für den msgDialog sende und mein Auswahlmenü zu sehen bekomme, kann ich am Client mit dem ich sende perfekt damit arbeiten. Oft ist es aber so, dass am anderen Client also z.B. am Desktop, das Auswahlmenü weiter in der ersten Position stehen bleibt und auch nicht verschwindet, wenn der Befehl abgearbeitet ist. Da der Dialog aber schon beeendet ist, kann ich dann auch keine zweite Reaktion auslösen (was gut ist). Besser wäre aber, wenn der Dialog auf beiden Clients durchlaufen/beendet wird.
Ist das nun etwas, was nur bei mir auftritt, oder haben das mehrere? und ist es eher etwas von msgDialog, oder doch eher TelegramBot?
Danke für Euere Unterstützung schon jetzt....
@viegener
Sorry, aber ich muss mich nochmal zu meinem "Problem" melden, bzgl. einem weiteren Handy an FHEM anmelden.
Bin erst dazugekommen es zu testen und stelle mich trotzdem zu doof an. (habe auch das System mit dem Botfather nicht ganz verstanden)
Ich habe am ersten Handy den Bot-Namen z.B. FHEM_HandyEins und kann mit diesem auch mit FHEM kommunizieren und auch umgekehrt.
In FHEM steht unter Contacts z.B. 1234567890:MeinName: (MeinName ist der Name, wie ich in Telegramm heiße)
Ich habe nun am zweiten Handy den Botfather gestartet und dort ebenfalls einen Bot-Namen eingerichet z.B. FHEM_HandyZwei.
Ich muss doch jetzt eine Nachricht von FHEM an FHEM_HandyZwei schicken oder umgekehrt?
Bzw. wie mache ich das?
Wenn ich jetzt z.B. von FHEM aus folgenden Befehl sende (die Namen sind den tatsächlichen angepasst)
set teleBot message @FHEM_HandyZwei test
wird folgendes angezeigt
FAILED peer not found :FHEM_HandyZwei:
Der Fehler wird ebenfalls angezeigt, wenn ich an mein erstes Handy schicke, mit dem bisher alle funktioniert z.B.
set teleBot message @FHEM_HandyEins test
Habe es jetzt zumindest geschafft, dass in Contacts der zweite Kontakt drinnen steht.
Kann bzw. wie kann ich im Attribut defaultPeer den zweiten Kontakt hinzufügen?
Haben es schon mit "," oder "@" versucht, mal mit mal ohne Abstand.
Oder kann hier nur ein Kontakt aufgeführt werden?
Anmerkung:
Nachdem ich den oberen Text geschrieben hatte, habe ich es mit einen Leerzeichen zwischen den Kontaktnamen probiert. Damit hat es funktioniert.
Zitat von: Ruggy am 26 März 2023, 00:29:30Kann bzw. wie kann ich im Attribut defaultPeer den zweiten Kontakt hinzufügen?
Ich vermute mal gar nicht.
In der Hilfe steht nichts davon das hier mehr als ein Name eingetragen werden kann.
An defaultPeer gehen alle Systemmeldungen. Z.B. wenn einer ohne Berechtigung den Bot anspricht.
Gruss Gerd
Zitat von: Ruggy am 26 März 2023, 00:29:30Habe es jetzt zumindest geschafft, dass in Contacts der zweite Kontakt drinnen steht.
Kann bzw. wie kann ich im Attribut defaultPeer den zweiten Kontakt hinzufügen?
Haben es schon mit "," oder "@" versucht, mal mit mal ohne Abstand.
Oder kann hier nur ein Kontakt aufgeführt werden?
Anmerkung:
Nachdem ich den oberen Text geschrieben hatte, habe ich es mit einen Leerzeichen zwischen den Kontaktnamen probiert. Damit hat es funktioniert.
Eine andere Möglichkeit mehrere Kontakte als defaultPeer einzutragen ist in Telegram eine Gruppe mit diesen Teilnehmern anzulegen und dann die Gruppe als defaultpeer einzutragen. Dazu muss die Gruppe aber auch vom bot erreichbar sein, das erfordert aber ein bisschen Umwege.
Die Lösung mit mehreren peers im Attribut durch Leerzeichen getrennt habe ich so nie getestet
Hallo ich habe ein Problem mit dem Aufruf des TelegramBot
Gibt es eine Idee woran es liegen könnte, dass es Probleme gibt (geben kann) in einer Sub den TelegramBot aufzurufen:
=> fhem("set teleBot message @#UserName LogCheck: $Variable1 Text $Variable2",1);
Ich nutze im Prinzip den gleichen Aufruf in per AT aufgefufenen Subs der 99_myUtils - das klappt bisher anstandslos.
Im Problemfall wird vom Modul 72_FRITZBOX.pm bei Aufruf "
get log" eine im Modul fest codierte Sub in 99_myUtils aufgerufen:
=> (myUtilsFritzLogExPost($$$))
aus der heraus dann der TelegramBot aufgerufen wird aber nicht durch läuft.
- Folgendes sagt mir das Log mit verbose 5
Aufruf in der Kommandozeile im Webinterface von FHEM => "
set teleBot message @#UserName LogCheck:" produziert:
2023.03.25 19:47:50.490 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.491 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2023.03.25 19:47:50.491 5: TelegramBot_Set teleBot: start send for cmd :message: and sendType :0:
2023.03.25 19:47:50.492 5: TelegramBot_SendIt teleBot: called
2023.03.25 19:47:50.492 5: TelegramBot_SendIt teleBot: try to send message to :#UserName: -:LogCheck:: - add :<undef>: - replyid :<undef>:: options ::
2023.03.25 19:47:50.493 4: TelegramBot_GetFullnameForContact # Contacts is -123456789::#UserName:
2023.03.25 19:47:50.494 4: TelegramBot_GetFullnameForContact # name is #UserName
2023.03.25 19:47:50.494 5: TelegramBot_readToken: Read Telegram API token from file
2023.03.25 19:47:50.497 4: TelegramBot_SendIt parseMode 0
2023.03.25 19:47:50.498 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
-123456789
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
LogCheck:
--TelegramBot_boundary-x0123--:
2023.03.25 19:47:50.498 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2023.03.25 19:47:50.502 5: TelegramBot_Set teleBot: message done succesful:
2023.03.25 19:47:50.505 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.508 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.687 5: TelegramBot_Callback teleBot: called from SendIt
2023.03.25 19:47:50.688 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":{"message_id":7128,"from":{"id":987654321,"is_bot":true,"first_name":"Yxxx_Zxxx","username":"Yxxx_Zxxx_bot"},"chat":{"id":-123456789,"title":"UserName","type":"group","all_members_are_administrators":true},"date":1234560011,"text":"LogCheck:"}}:
2023.03.25 19:47:50.689 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2023.03.25 19:47:50.690 5: TelegramBot_Deepencode teleBot: encoded a String from :Yxxx_Zxxx: to :Yxxx_Zxxx:
2023.03.25 19:47:50.690 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2023.03.25 19:47:50.691 5: TelegramBot_Deepencode teleBot: encoded a String from :987654321: to :987654321:
2023.03.25 19:47:50.691 5: TelegramBot_Deepencode teleBot: encoded a String from :Yxxx_Zxxx_bot: to :Yxxx_Zxxx_bot:
2023.03.25 19:47:50.692 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.25 19:47:50.692 5: TelegramBot_Deepencode teleBot: encoded a String from :1234560011: to :1234560011:
2023.03.25 19:47:50.693 5: TelegramBot_Deepencode teleBot: encoded a String from :-123456789: to :-123456789:
2023.03.25 19:47:50.693 5: TelegramBot_Deepencode teleBot: encoded a String from :group: to :group:
2023.03.25 19:47:50.693 5: TelegramBot_Deepencode teleBot: encoded a String from :UserName: to :UserName:
2023.03.25 19:47:50.694 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2023.03.25 19:47:50.694 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.25 19:47:50.695 5: TelegramBot_Deepencode teleBot: encoded a String from :7128: to :7128:
2023.03.25 19:47:50.695 5: TelegramBot_Deepencode teleBot: encoded a String from :LogCheck:: to :LogCheck::
2023.03.25 19:47:50.695 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.25 19:47:50.696 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.25 19:47:50.696 5: TelegramBot_Callback teleBot: after encoding
2023.03.25 19:47:50.697 5: TelegramBot_Callback teleBot: resulted in SUCCESS from SendIt
2023.03.25 19:47:50.701 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.704 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.707 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
Das sieht vernünftig aus und die Meldung kommt an.
Gleicher Aufruf in der 99_myUtil => "
set teleBot message @#UserName LogCheck:"
Anmerkung die Sub "
myUtilsFritzLogExPost($$$)" in der 99_myUtils wird aus dem Modul Fritzbox angesprungen. Sie ist dort generisch im Code hinterlegt:
2023.03.25 20:08:20.882 5: TelegramBot_Set teleBot: called
2023.03.25 20:08:20.883 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2023.03.25 20:08:20.884 5: TelegramBot_Set teleBot: start send for cmd :message: and sendType :0:
2023.03.25 20:08:20.884 5: TelegramBot_SendIt teleBot: called
2023.03.25 20:08:20.885 5: TelegramBot_SendIt teleBot: try to send message to :#UserName: -:Filter abgeprueft nun Hash auswerten: - add :<undef>: - replyid :<undef>:: options ::
2023.03.25 20:08:20.886 4: TelegramBot_GetFullnameForContact # Contacts is -987654321::#UserName:
2023.03.25 20:08:20.886 4: TelegramBot_GetFullnameForContact # name is #UserName
2023.03.25 20:08:20.887 5: TelegramBot_readToken: Read Telegram API token from file
2023.03.25 20:08:20.890 4: TelegramBot_SendIt parseMode 0
2023.03.25 20:08:20.891 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
-987654321
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
Filter abgeprueft nun Hash auswerten
--TelegramBot_boundary-x0123--:
2023.03.25 20:08:20.892 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2023.03.25 20:08:20.896 5: TelegramBot_Set teleBot: message done succesful:
2023.03.25 20:08:20.901 5: TelegramBot_Set teleBot: called
2023.03.25 20:08:20.905 5: TelegramBot_Set teleBot: called
Das stibt bevor es zu Ende ist ::) Der Schritt "
TelegramBot_Callback teleBot: called from SendIt" fehlt
Gruß Ralf
ZitatZitatGibt es eine Idee woran es liegen könnte, dass es Probleme gibt (geben kann) in einer Sub den TelegramBot aufzurufen:
=> fhem("set teleBot message @#UserName LogCheck: $Variable1 Text $Variable2",1);
Du musst Sonderzeichen wie @ in Perl-Code escapen:
fhem("set teleBot message \@#UserName LogCheck: $Variable1 Text $Variable2",1);
Danke für den Vorschlag, das hatte ich noch nicht probiert.
Nützt aber auch nicht. Bricht immer an der gleichen Stelle ab.
Mein tägliches Backup in 99_myUtils ("normale" Sub per AT) meldet über:
fhem "msg push |Taegliches DB-Backup| $text" ; =>
geht bisher immer (über msg ist Telegram eingebunden)
- Test 1 (wie oben) klappt nicht
#zu debug zwecken wg msg
Log3 $name, 2, "$name Test TelegramBot";
my $text = "TEST";
fhem "msg push |Taegliches DB-Backup| $text" ;
Log2023.03.28 14:51:48.179 2: Fritzbox INFO: fritzLogInfo: fon
2023.03.28 14:51:48.181 2: Fritzbox Test TelegramBot
2023.03.28 14:51:48.232 5: TelegramBot_Set teleBot: called
2023.03.28 14:51:48.233 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2023.03.28 14:51:48.234 5: TelegramBot_Set teleBot: start send for cmd :message: and sendType :0:
2023.03.28 14:51:48.235 5: TelegramBot_SendIt teleBot: called
2023.03.28 14:51:48.236 5: TelegramBot_SendIt teleBot: try to send message to :-123456789: -:TEST: - add :<undef>: - replyid :<undef>:: options ::
2023.03.28 14:51:48.236 4: TelegramBot_GetFullnameForContact # Contacts is -123456789::#UserName:
2023.03.28 14:51:48.237 4: TelegramBot_GetFullnameForContact # name is #UserName
2023.03.28 14:51:48.238 5: TelegramBot_readToken: Read Telegram API token from file
2023.03.28 14:51:48.243 4: TelegramBot_SendIt parseMode 0
2023.03.28 14:51:48.245 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
-123456789
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
TEST
--TelegramBot_boundary-x0123--:
2023.03.28 14:51:48.245 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2023.03.28 14:51:48.252 5: TelegramBot_Set teleBot: message done succesful:
2023.03.28 14:51:48.261 5: TelegramBot_Set teleBot: called
2023.03.28 14:51:48.267 5: TelegramBot_Set teleBot: called
2023.03.28 14:51:48.272 3: msg globalMsg: ID=1680007908.18594.1 TYPE=push ROUTE=teleBot STATUS=OK PRIORITY=0 TITLE='Taegliches DB-Backup' MSG='TEST'
- Test 2 escaped, klappt nicht
#zu debug zwecken wg msg
Log3 $name, 2, "$name Test TelegramBot";
my $text = "TEST";
fhem("set teleBot message \@#UserName Filter abgeprueft nun Hash auswerten",1);
Log2023.03.28 14:55:54.049 2: Fritzbox INFO: fritzLogInfo: fon
2023.03.28 14:55:54.051 2: Fritzbox Test TelegramBot
2023.03.28 14:55:54.053 5: TelegramBot_Set teleBot: called
2023.03.28 14:55:54.054 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2023.03.28 14:55:54.054 5: TelegramBot_Set teleBot: start send for cmd :message: and sendType :0:
2023.03.28 14:55:54.055 5: TelegramBot_SendIt teleBot: called
2023.03.28 14:55:54.056 5: TelegramBot_SendIt teleBot: try to send message to :#UserName: -:Filter abgeprueft nun Hash auswerten: - add :<undef>: - replyid :<undef>:: options ::
2023.03.28 14:55:54.057 4: TelegramBot_GetFullnameForContact # Contacts is -123456789::#UserName:
2023.03.28 14:55:54.058 4: TelegramBot_GetFullnameForContact # name is #UserName
2023.03.28 14:55:54.059 5: TelegramBot_readToken: Read Telegram API token from file
2023.03.28 14:55:54.063 4: TelegramBot_SendIt parseMode 0
2023.03.28 14:55:54.064 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
-123456789
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
Filter abgeprueft nun Hash auswerten
--TelegramBot_boundary-x0123--:
2023.03.28 14:55:54.065 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2023.03.28 14:55:54.070 5: TelegramBot_Set teleBot: message done succesful:
2023.03.28 14:55:54.215 5: TelegramBot_Set teleBot: called
2023.03.28 14:55:54.220 5: TelegramBot_Set teleBot: called
- Test 3 nochmal nicht escaped, klappt nicht
#zu debug zwecken wg msg
Log3 $name, 2, "$name Test TelegramBot";
my $text = "TEST";
fhem("set teleBot message @#UserName Filter abgeprueft nun Hash auswerten",1);
Log2023.03.28 14:59:39.793 2: Fritzbox INFO: fritzLogInfo: fon
2023.03.28 14:59:39.795 2: Fritzbox Test TelegramBot
2023.03.28 14:59:39.798 5: TelegramBot_Set teleBot: called
2023.03.28 14:59:39.799 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2023.03.28 14:59:39.800 5: TelegramBot_Set teleBot: start send for cmd :message: and sendType :0:
2023.03.28 14:59:39.801 5: TelegramBot_SendIt teleBot: called
2023.03.28 14:59:39.803 5: TelegramBot_SendIt teleBot: try to send message to :#UserName: -:Filter abgeprueft nun Hash auswerten: - add :<undef>: - replyid :<undef>:: options ::
2023.03.28 14:59:39.804 4: TelegramBot_GetFullnameForContact # Contacts is -123456789::#UserName:
2023.03.28 14:59:39.805 4: TelegramBot_GetFullnameForContact # name is #UserName
2023.03.28 14:59:39.807 5: TelegramBot_readToken: Read Telegram API token from file
2023.03.28 14:59:39.812 4: TelegramBot_SendIt parseMode 0
2023.03.28 14:59:39.814 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
-123456789
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
Filter abgeprueft nun Hash auswerten
--TelegramBot_boundary-x0123--:
2023.03.28 14:59:39.815 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2023.03.28 14:59:39.822 5: TelegramBot_Set teleBot: message done succesful:
2023.03.28 14:59:39.829 5: TelegramBot_Set teleBot: called
2023.03.28 14:59:39.833 5: TelegramBot_Set teleBot: called
Verhext ::)
Edit / Nachtrag, nur um es mal zu machen:
In der Kommandozeile als PerlAusdruck ohne Excape geht:
{fhem("set teleBot message @#FHEM-Sicherheit Filter abgeprueft nun Hash auswerten",1)}
Log2023.03.28 15:23:51.810 5: TelegramBot_Set teleBot: called
2023.03.28 15:23:51.810 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2023.03.28 15:23:51.811 5: TelegramBot_Set teleBot: start send for cmd :message: and sendType :0:
2023.03.28 15:23:51.812 5: TelegramBot_SendIt teleBot: called
2023.03.28 15:23:51.812 5: TelegramBot_SendIt teleBot: try to send message to :#UserName: -:Filter abgeprueft nun Hash auswerten: - add :<undef>: - replyid :<undef>:: options ::
2023.03.28 15:23:51.813 4: TelegramBot_GetFullnameForContact # Contacts is -123456789::#UserName:
2023.03.28 15:23:51.814 4: TelegramBot_GetFullnameForContact # name is #UserName
2023.03.28 15:23:51.814 5: TelegramBot_readToken: Read Telegram API token from file
2023.03.28 15:23:51.817 4: TelegramBot_SendIt parseMode 0
2023.03.28 15:23:51.818 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
-123456789
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
Filter abgeprueft nun Hash auswerten
--TelegramBot_boundary-x0123--:
2023.03.28 15:23:51.818 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2023.03.28 15:23:51.822 5: TelegramBot_Set teleBot: message done succesful:
2023.03.28 15:23:51.826 5: TelegramBot_Set teleBot: called
2023.03.28 15:23:51.829 5: TelegramBot_Set teleBot: called
2023.03.28 15:23:52.989 5: TelegramBot_Callback teleBot: called from SendIt
2023.03.28 15:23:52.990 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":{"message_id":7155,"from":{"id":533133614,"is_bot":true,"first_name":"Ralf_FHEM","username":"Ralf_FHEM_bot"},"chat":{"id":-123456789,"title":"UserName","type":"group","all_members_are_administrators":true},"date":1680009832,"text":"Filter abgeprueft nun Hash auswerten"}}:
2023.03.28 15:23:52.991 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2023.03.28 15:23:52.992 5: TelegramBot_Deepencode teleBot: encoded a String from :533133614: to :533133614:
2023.03.28 15:23:52.992 5: TelegramBot_Deepencode teleBot: encoded a String from :Ralf_FHEM_bot: to :Ralf_FHEM_bot:
2023.03.28 15:23:52.993 5: TelegramBot_Deepencode teleBot: encoded a String from :Ralf_FHEM: to :Ralf_FHEM:
2023.03.28 15:23:52.993 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2023.03.28 15:23:52.994 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.28 15:23:52.994 5: TelegramBot_Deepencode teleBot: encoded a String from :7155: to :7155:
2023.03.28 15:23:52.994 5: TelegramBot_Deepencode teleBot: encoded a String from :-123456789: to :-123456789:
2023.03.28 15:23:52.995 5: TelegramBot_Deepencode teleBot: encoded a String from :UserName: to :UserName:
2023.03.28 15:23:52.995 5: TelegramBot_Deepencode teleBot: encoded a String from :group: to :group:
2023.03.28 15:23:52.996 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2023.03.28 15:23:52.996 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.28 15:23:52.997 5: TelegramBot_Deepencode teleBot: encoded a String from :Filter abgeprueft nun Hash auswerten: to :Filter abgeprueft nun Hash auswerten:
2023.03.28 15:23:52.997 5: TelegramBot_Deepencode teleBot: encoded a String from :1680009832: to :1680009832:
2023.03.28 15:23:52.997 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.28 15:23:52.998 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.28 15:23:52.998 5: TelegramBot_Callback teleBot: after encoding
2023.03.28 15:23:52.999 5: TelegramBot_Callback teleBot: resulted in SUCCESS from SendIt
2023.03.28 15:23:53.003 5: TelegramBot_Set teleBot: called
2023.03.28 15:23:53.008 5: TelegramBot_Set teleBot: called
2023.03.28 15:23:53.011 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
Stimmt. Hat sich anscheinend was geändert.
Probier mal anstatt message msg:
fhem("msg push $txt"); #msg mit Std. peer
fhem("set fhembot msg @#Tigers Text: $txt"); # fhembot unescaped
fhem("set fhembot msg \@#Tigers Text: $txt") # fhembot escaped
Alle 3 Nachrichten kommen bei mir (1.) und in der Gruppe Tigers(2.+3.) an. Alle cmds sind aus einer sub aufgerufen worden.
VG Sebastian
Grundsätzlich funktioniert der Aufruf aus Subs in 99_myUtil ja (bisher ohne Aufälligkeiten) und auch immer noch.
Nur im Zusammenhang mit dem Modul FRITBOX klappt es nicht.
Der Aufruf des TelgramBot erfolgt so:
-> das Modul 72_FRITZBOX.pm arbeitet intern ein "get Fritzbox fritzLog hash sys" ab
-> ruft aus dem laufenden Modul heraus in 99_myUtils die (fest codierte) Sub "myUtilsFritzLogExPost($$$)" auf
-> dort durch den User programmiert z.B. "fhem("set fhembot msg @#Tigers Text: $txt");" (und damit wieder ein Modul)
Mein Gedanke war, dass die Ursache vielleicht darin liegt, dass FHEM irgendwie "verhindert" in der laufenden Abarbeitung eines Moduls eine weiteres Modul abzuarbeiten oder bestimmte Dinge darin abzuarbeiten.
Im Log sieht man ja, dass der TelegramBot anfängt etwas zu zu tun - nur halt nicht bis zum Ende.
Wenn ich in "fhem("msg push $txt")" push durch mail ersetze wird die DebianMail (auch ne Sub kein Modul) anstandslos verschickt.
Kannst Du in mehr Detail erklären mit Codeausschnitten was Du mit
Zitat von: RalfRog am 28 März 2023, 20:43:06Der Aufruf des TelgramBot erfolgt so:
-> das Modul 72_FRITZBOX.pm arbeitet intern ein "get Fritzbox fritzLog hash sys" ab
-> ruft aus dem laufenden Modul heraus in 99_myUtils die (fest codierte) Sub "myUtilsFritzLogExPost($$$)" auf
-> dort durch den User programmiert z.B. "fhem("set fhembot msg @#Tigers Text: $txt");" (und damit wieder ein Modul)
meinst?
Oder mit mehr Detail: Was heisst arbeitet intern ein ... ab
Wie ruft es aus dem laufenden Modul etwas anderes auf?
Hallo
Ich hatte das Thema in #2713 (https://forum.fhem.de/index.php?msg=1269995) angerissen und auch zwei Logauszüge (verbose5) beigefügt aus denen in Nummer2 ersichtlich ist, dass der TelegramBot einfach irgenwo aufhört weiter (fertig) zu machen.
Vielleicht ist das Log als Einstieg ausreichend.
hier noch der Aufruf in 99_myUtils der nicht klappt (die beiden auskommentierten Zeilen, beide Varianten probiert)
############
## Fritzbox-Log auswerten nonblocking ######
### fester Name der Sub "myUtilsFritzLogExPost" fuer Modul FritzBox
### mit der Funtion get <name> fritzLog <hash | table> <all | sys | wlan | usb | net | fon>
###
sub myUtilsFritzLogExPost($$$) {
my ($hash, $filter, $result) = @_;
my $name = $hash->{NAME};
if(defined $result->{Error}) {
Log3 $name, 2, "$name ERROR: fritzLogInfo: " . $result->{Error};
return $result->{Error};
...
...
...
if ($logidx1->{id} eq 501||$logidx1->{id} eq 503||$logidx1->{id} eq 505||$logidx1->{id} eq 510) { # 505 User und falsches Kennwort oder 501, 503, 510
Log3 $name, 2, "$name IntruderCheck: $logidx1->{date} $logidx1->{time} $logidx1->{msg}";
fhem("msg mail $name $logidx1->{id} IntruderCheck: $logidx1->{date} $logidx1->{time} $logidx1->{msg}",1); # Alternative, da msg push hängt
*** hier gehts nicht ***
# fhem("msg push -1 IntruderCheck: IntruderCheck: $logidx1->{msg}",1); # hier geht es aus irgendeinem Grund nicht
# fhem("set teleBot message @#User-Name IntruderCheck $logidx1->{id} $logidx1->{msg}",1); # Alternative TeleBot direkt statt über msg
return "Anmeldung gescheitert (5xx)";
}
...
...
...
Eine Sub in der seit zwei Jahren die Message ohne Probleme verschickt wird:
############
# AT SaveDB_daily führt täglich DBRep_BackupWoche aus
# Alle Daten seit letzter Woche werden in eine Datei exportiert
# und abschließend diese Funktion aufgerufen
#
sub db_File_Cleanup {
# Parameter $name, $reading, $value werden vermutlich durch das Attribut attr userExitFn UserFunction bereit gestellt
my ($name,$reading,$value) = @_;
my $dbg_state = "" ;
my $ret = "debug=> " ;
my $meld = "" ;
my $text = "" ;
my $tren = "fhem_" ;
my $file = ResolveDateWildcards($attr{DBRep_BackupWoche}{expimpfile}, localtime());
my ($filepath, $filename) = split $tren,$file ;
$filename .= "fhem_" ;
...
...
...
# tägliches DB Backup (seit prev. Week) nach /opt/fhem/backup/db_back/week/;
# bei Erweiterung hier mit elsif einleiten
if ($value eq "done") {
$ret = qx(gzip -v '$file' 2>&1 ) ;
Log3 $name, 3, "UserExitFn $name - Status: done und $file GZIP done: $ret" ;
$text = "tgl. Backup der letzten 2 Wochen & GZIP done:".$ret;
*** hier gehts ***
fhem "msg push |Taegliches DB-Backup| $text" ;
return 0 ;
}
...
...
...
Ich versuche das nachwievor zu verstehen, lass mich versuchen nochmal nachzufragen:
Du hast das Modul Fritzbox verändert und hast dort einen Aufruf Deiner eigenen Routine
myUtilsFritzLogExPost
aufzurufen?
Stimmt das?
Zur Erklärung: Die Logauszüge zeigen ja, dass es aus einer Sub, als Command etc funktioniert und das kann ich auch bestätigen. Nur beim Aufruf aus dem fritzbox-Modul (?) geht es nicht und damit muss sich irgendetwas anders verhalten. Die beiden logs zeigen mir aber keine offensichtlichen Unterschied. Also liegt der Unterschied beim Aufruf davor.
Wann und wo genau rufst Du das auf?
Kann es sein, dass der Aufruf aus einem "BLockingCall" erfolgt? Dann erfolgt der Aufruf aus in einem Subprozess und damit gehen diese beim Beenden des Subprozesses verloren.
Mit Einschränkungen ist das auch hier beschrieben: https://wiki.fhem.de/wiki/Blocking_Call#Einschr.C3.A4nkungen (https://wiki.fhem.de/wiki/Blocking_Call#Einschr.C3.A4nkungen)
Zitat von: viegener am 02 April 2023, 22:51:41Ich versuche das nachwievor zu verstehen, lass mich versuchen nochmal nachzufragen:
Du hast das Modul Fritzbox verändert und hast dort einen Aufruf Deiner eigenen Routine myUtilsFritzLogExPost
aufzurufen?
Stimmt das?
Hallo viegener,
Ralf hat das Modul nicht verändert, sondern ich, seinen Wünschen entsprechend. Im Modul gibt es ein neues get, dass das Log der FritzBox ausließt. Da das Auslesen etwa 2-5 Sekunden dauert, erfolgt dies non Blocking. Zur weiteren Verarbeitung wird das Ergebnis entweder als Tabelle im FhemWeb angezeigt, oder es wird eine Sub aufgerufen, die der Nutzer selber in der 99_myUtils.pm zur weiteren Verarbeitung hinterlegen muss. Ist die Sub nicht definiert passiert nichts, ist sie definiert wird sie mit dem Fhem Device Hash und dem Ergebnis auch non Blocking aufgerufen.
Grüße Jörg
ZitatIst die Sub nicht definiert passiert nichts, ist sie definiert wird sie mit dem Fhem Device Hash und dem Ergebnis auch non Blocking aufgerufen.
Was bedeutet nonblocking aufgerufen?
Also mit fhem nonblocking?
Dann befindest du dich in dem Moment "in" einem "Clone" deines fhem.
Evtl. klappt es deshalb nicht...
DebianMail kann gehen, weil es der bash egal ist ob der Aufruf durch fhem oder einen "Clone" erfolgt...
Gruß, Joachim
Danke Jo und MadMax für die Ergänzungen. Es ist am Ende kein Drama. Ne Message wäre halt auffälliger als ne Mail die ggfs. untergeht.
Ich versuche mal die beiden Logauszüge als Tabelle mit Zeilennummern nebeneinander zu stellen (@viegener). Vielleicht bringt das etwas übersichtlichkeit.
Gruß Ralf
Funktioniert nicht aus der Sub
2023.03.25 20:08:20.882 5: TelegramBot_Set teleBot: called
2023.03.25 20:08:20.883 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2023.03.25 20:08:20.884 5: TelegramBot_Set teleBot: start send for cmd :message: and sendType :0:
2023.03.25 20:08:20.884 5: TelegramBot_SendIt teleBot: called
2023.03.25 20:08:20.885 5: TelegramBot_SendIt teleBot: try to send message to :#UserName: -:Filter abgeprueft nun Hash auswerten: - add :<undef>: - replyid :<undef>:: options ::
2023.03.25 20:08:20.886 4: TelegramBot_GetFullnameForContact # Contacts is -987654321::#UserName:
2023.03.25 20:08:20.886 4: TelegramBot_GetFullnameForContact # name is #UserName
2023.03.25 20:08:20.887 5: TelegramBot_readToken: Read Telegram API token from file
2023.03.25 20:08:20.890 4: TelegramBot_SendIt parseMode 0
2023.03.25 20:08:20.891 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
-987654321
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
Filter abgeprueft nun Hash auswerten
--TelegramBot_boundary-x0123--:
2023.03.25 20:08:20.892 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2023.03.25 20:08:20.896 5: TelegramBot_Set teleBot: message done succesful:
2023.03.25 20:08:20.901 5: TelegramBot_Set teleBot: called
2023.03.25 20:08:20.905 5: TelegramBot_Set teleBot: called
der wurde verschickt (Kommandozeite FHEMWEB)
2023.03.25 19:47:50.490 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.491 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2023.03.25 19:47:50.491 5: TelegramBot_Set teleBot: start send for cmd :message: and sendType :0:
2023.03.25 19:47:50.492 5: TelegramBot_SendIt teleBot: called
2023.03.25 19:47:50.492 5: TelegramBot_SendIt teleBot: try to send message to :#UserName: -:LogCheck...
2023.03.25 19:47:50.493 4: TelegramBot_GetFullnameForContact # Contacts is -123456789::#UserName:
2023.03.25 19:47:50.494 4: TelegramBot_GetFullnameForContact # name is #UserName
2023.03.25 19:47:50.494 5: TelegramBot_readToken: Read Telegram API token from file
2023.03.25 19:47:50.497 4: TelegramBot_SendIt parseMode 0
2023.03.25 19:47:50.498 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
-123456789
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
LogCheck:
--TelegramBot_boundary-x0123--:
2023.03.25 19:47:50.498 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2023.03.25 19:47:50.502 5: TelegramBot_Set teleBot: message done succesful:
2023.03.25 19:47:50.505 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.508 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.687 5: TelegramBot_Callback teleBot: called from SendIt
2023.03.25 19:47:50.688 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":{"mess...{"id":987654321,"is_bot":true,"first_name":"Yxxx_Zxxx","username":"Yxxx_Zxxx_bot"},"chat":{"id":-123456789,"title":"UserName","type":"group","all_members_are_administrators":true},"date":1234560011,...
2023.03.25 19:47:50.689 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2023.03.25 19:47:50.690 5: TelegramBot_Deepencode teleBot: encoded a String from :Yxxx_Zxxx: to :Yxxx_Zxxx:
2023.03.25 19:47:50.690 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2023.03.25 19:47:50.691 5: TelegramBot_Deepencode teleBot: encoded a String from :987654321: to :987654321:
2023.03.25 19:47:50.691 5: TelegramBot_Deepencode teleBot: encoded a String from :Yxxx_Zxxx_bot: to :...
2023.03.25 19:47:50.692 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.25 19:47:50.692 5: TelegramBot_Deepencode teleBot: encoded a String from :1234560011: to :1234560011:
2023.03.25 19:47:50.693 5: TelegramBot_Deepencode teleBot: encoded a String from :-123456789: to :-123456789:
2023.03.25 19:47:50.693 5: TelegramBot_Deepencode teleBot: encoded a String from :group: to :group:
2023.03.25 19:47:50.693 5: TelegramBot_Deepencode teleBot: encoded a String from :UserName: to :UserName:
2023.03.25 19:47:50.694 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2023.03.25 19:47:50.694 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.25 19:47:50.695 5: TelegramBot_Deepencode teleBot: encoded a String from :7128: to :7128:
2023.03.25 19:47:50.695 5: TelegramBot_Deepencode teleBot: encoded a String from :LogCheck:: to :LogCheck::
2023.03.25 19:47:50.695 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.25 19:47:50.696 5: TelegramBot_Deepencode teleBot: found a HASH
2023.03.25 19:47:50.696 5: TelegramBot_Callback teleBot: after encoding
2023.03.25 19:47:50.697 5: TelegramBot_Callback teleBot: resulted in SUCCESS from SendIt
2023.03.25 19:47:50.701 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.704 5: TelegramBot_Set teleBot: called
2023.03.25 19:47:50.707 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
Hallo Ralf,
es sieht so aus, als wenn non Blocking in non Blocking nicht funktioniert. Bei mir bleibt Telnet ebenfalls hängen. WhatsApp und DebianMail funktionieren.
Hast Du mal folgendes ausprobiert (aus dem Wiki):
Wenn viele Definitionen aktiv sind, welche BlockingCalls parallel starten kann es zu einem relativ hohen Memory-Footprint kommen aufgrund mehrfach laufenden Fork-Prozessen. Dies kann auf schwachbrüstiger Hardware zu Speicherengpässen führen. Ab FHEM Revision 11917 lassen sich die maximal parallel laufenden BlockingCalls durch das globale Attribut blockingCallMax begrenzen (Standardwert: unbegrenzt). Sofern die maximale parallele Anzahl an BlockingCalls erreicht ist, werden weitere Calls in eine Warteschlange eingereiht und ausgeführt, sobald laufende Calls beendet werden.
Mit dem Fhem Befehl: blockinginfo kannst Du Dir alle laufenden Blocking Calls anzeigen lassen.
@viegener, @Joachim die sub myUtilsFritzLogExPost (...) wird mit Fhem Blockincall (...) aufgerufen.
Grüße Jörg
Hallo Ralf,
ich könnte den Aufruf von myUtilsFritzLogExPost in den normalen Programmablauf des Moduls, also direkt nach der Rückkehr aus dem non Blocking, verschieben. Für Deinen Anwendungsfall sollte das funktionieren.
Grüße Jörg
Vielleicht hat @viegener ja eine Idee zur Ursache und leichte Abhilfe.
Super Angebot :) spontan könnte man zur deiner Idee sagen prima....
- aber wäre das nicht zu speziell auf dem TelegramBot bezogen.
Die Möglichkeiten sollten doch schon universell sein. Der Eine mag Mail (z.B. KölnSolar) der Andere Telgram, Signal oder WhatsApp.
Gruß Ralf
Zitat von: RalfRog am 03 April 2023, 15:06:03Vielleicht hat @viegener ja eine Idee zur Ursache und leichte Abhilfe.
Super Angebot :) spontan könnte man zur deiner Idee sagen prima....
- aber wäre das nicht zu speziell auf dem TelegramBot bezogen.
Die Möglichkeiten sollten doch schon universell sein. Der Eine mag Mail (z.B. KölnSolar) der Andere Telgram, Signal oder WhatsApp.
Gruß Ralf
Nun ja, mit on|off könnte man zwischen non Blocking [on] und Blocking [off] wählen.
Aufgerufen würde dann myUtilsFritzLogExPost [on] und myUtilsFritzLogExPostnb [off].
Grüße Jörg
Ok... mit dem Thema (non)Blocking hab ihr mich sowieso ein wenig abgehängt.
D.h. durch den Aufruf "get fritzLog" als Blocking statt nonBlocking wird das Thema Zugriff auf Variablen in "anderen" Programmteilen unkritischer - sprich der TelegramBot hat so wie es momentan läuft nötige Variablen-Inhalte nicht zur Verfügung.
Zitat von: JoWiemann am 03 April 2023, 13:33:43...
Mit dem Fhem Befehl: blockinginfo kannst Du Dir alle laufenden Blocking Calls anzeigen lassen.
@viegener, @Joachim die sub myUtilsFritzLogExPost (...) wird mit Fhem Blockincall (...) aufgerufen.
Wie/wann - ist ja immer nur ein Blitzlicht auf die Prozesse?
In der "Kommandozeile" während ich "get fritzLog" aufrufe?
Zitat von: JoWiemann am 03 April 2023, 13:33:43...Ab FHEM Revision 11917 lassen sich die maximal parallel laufenden BlockingCalls durch das globale Attribut blockingCallMax begrenzen (Standardwert: unbegrenzt). Sofern die maximale parallele Anzahl an BlockingCalls erreicht ist, werden weitere Calls in eine Warteschlange eingereiht und ausgeführt, sobald laufende Calls beendet werden.
Einfach mal zum Test hart auf 2 oder 1 runtersetzen und dann "get fritzLog" ausführen?
Edit:
Habe jetzt einfach mal nach "get fritzLog" in der Kommandozeile "blockinginfo" aufgerfufen. Wenn, hab ich maximal den Eintrag:
Pid:15932 Fn:FRITZBOX_Run_fritzloginfo Arg:fritzzbox|fritzloginfo|hash|sys Timeout:20 ConnectedVia:telnetPort_127.0.0.1_37434Da würde der Parameter
blockingCallMax vermutlich ja auch nix ändern.
Zitat von: RalfRog am 03 April 2023, 15:27:14Ok... mit dem Thema (non)Blocking hab ihr mich sowieso ein wenig abgehängt.
D.h. durch den Aufruf "get fritzLog" als Blocking statt nonBlocking wird das Thema Zugriff auf Variablen in "anderen" Programmteilen unkritischer - sprich der TelegramBot hat so wie es momentan läuft nötige Variablen-Inhalte nicht zur Verfügung.
Hallo Ralf,
hier mal eine neue Beta: 07.50.12a BETA
Das Reading get <name> fritzLog <hash|table> ... hat für hash noch einen optionalen Parameter [on|off]. on ist default und bedeutet, es wird non Blocking die myUtilsFritzLogExPostnb (...) aufgerufen. Bei off, heißt jetzt wird wieder Blocking abgearbeitet, wird die myUtilsFritzLogExPost (...) aufgerufen.
Bei mir hat Telegram so wieder alles abgearbeitet.
Grüße Jörg
Wie bereits von madmax beschrieben, das Problem ist, dass ein blocking call kein "normaler" Aufruf ist.
In einem blocking call wird ein zweiter getrennter Prozess erzeugt mit einer Kopie der Daten, am Ende des blocking calls werden aber Veränderungen nicht zurück in die Daten gemischt. Es gibt deshalb ganz bestimmte Dinge die im blocking call funktionieren und was nicht.
Aus einem blocking call sind damit leider auch keine Nachrichtenversendungen möglich, weil diese wiederum auf fhem-Teile aufsetzen, die so nicht funktionieren können. Denn der Hauptprozess von fhem bekommt ja nichts davon mit (vereinfacht gesagt)...
Das war auch meine Vermutung, deshalb die Fragen nach dem Aufrufsort.
Hi viegener, danke. Da war ich mit der "schlecht" formulierten Ausgangsfrage ohne es genau zu wissen quasi auf dem richtigen Dampfer.
Hi Jo
==> Sind wir dann nicht hier raus? Sollen wir zurück in den Support Thread oder einen Neuen gehen?
Zitat von: JoWiemann am 03 April 2023, 13:33:43...
es sieht so aus, als wenn non Blocking in non Blocking nicht funktioniert. Bei mir bleibt Telnet ebenfalls hängen. WhatsApp und DebianMail funktionieren.
Kleine Anmerkung die "12a Beta" hatten wie letzte Woche schon.Habe die Version auf das Testsystem gebracht. Folgendes habe ich im Log:
- die myUtilsFritzLogExPostnb fehlte noch
2023.04.03 20:09:35.599 2: FRITZBOX!0000 [fritzzbox: Lua_Data.5530] - INFO: data.lua not supportet. Fritz!Box or Fritz!OS outdated.
2023.04.03 20:09:35.607 2: FRITZBOX!0000 [fritzzbox: Run_fritzloginfo.4020] - ERROR: fritzLogInfo: data.lua not supportet
2023.04.03 20:09:35.615 2: FRITZBOX!0000 [fritzzbox: Run_fritzloginfo.4034] - ERROR: fritzLogExPost: Undefined subroutine &main::myUtilsFritzLogExPostnb called at ./FHEM/72_FRITZBOX.pm line 4031.
- myUtilsFritzLogExPostnb in 99_myUtil eingebaut
2023.04.03 20:12:04.986 2: FRITZBOX!0000 [fritzzbox: Lua_Data.5530] - INFO: data.lua not supportet. Fritz!Box or Fritz!OS outdated.
2023.04.03 20:12:04.993 2: FRITZBOX!0000 [fritzzbox: Run_fritzloginfo.4020] - ERROR: fritzLogInfo: data.lua not supportet
- dann ein Aufruf get <name> fritzLog hash sys off
2023.04.03 20:14:04.061 2: FRITZBOX!0000 [fritzzbox: Lua_Data.5530] - INFO: data.lua not supportet. Fritz!Box or Fritz!OS outdated.
2023.04.03 20:14:04.069 2: FRITZBOX!0000 [fritzzbox: Run_fritzloginfo.4020] - ERROR: fritzLogInfo: data.lua not supportet
2023.04.03 20:14:04.140 3: FRITZBOX!0000 [fritzzbox: Set_Cmd_Done.3805] - DEBUG: fritzLog to Sub: sys
{"Error":"data.lua not supportet","Info":"Fritz!Box or Fritz!OS outdated"}
2023.04.03 20:14:04.145 2: ERROR: fritzLogInfo: data.lua not supportet
Sind die Meldungen relevant?
Mein nächster Schritt wäre dann der TelegramBot. Da müsste ich aber auf mein aktives System.
Zitat von: RalfRog am 03 April 2023, 20:42:28Hi Jo
==> Sind wir dann nicht hier raus? Sollen wir zurück in den Support Thread oder einen Neuen gehen?
[/qoute]
Hallo Ralf,
wir können jetzt wieder in den Support Thread zurück.
Zitat von: RalfRog am 03 April 2023, 20:42:28Hi Jo
- die myUtilsFritzLogExPostnb fehlte noch
2023.04.03 20:09:35.599 2: FRITZBOX!0000 [fritzzbox: Lua_Data.5530] - INFO: data.lua not supportet. Fritz!Box or Fritz!OS outdated.
2023.04.03 20:09:35.607 2: FRITZBOX!0000 [fritzzbox: Run_fritzloginfo.4020] - ERROR: fritzLogInfo: data.lua not supportet
2023.04.03 20:09:35.615 2: FRITZBOX!0000 [fritzzbox: Run_fritzloginfo.4034] - ERROR: fritzLogExPost: Undefined subroutine &main::myUtilsFritzLogExPostnb called at ./FHEM/72_FRITZBOX.pm line 4031.
- myUtilsFritzLogExPostnb in 99_myUtil eingebaut
2023.04.03 20:12:04.986 2: FRITZBOX!0000 [fritzzbox: Lua_Data.5530] - INFO: data.lua not supportet. Fritz!Box or Fritz!OS outdated.
2023.04.03 20:12:04.993 2: FRITZBOX!0000 [fritzzbox: Run_fritzloginfo.4020] - ERROR: fritzLogInfo: data.lua not supportet
- dann ein Aufruf get <name> fritzLog hash sys off
2023.04.03 20:14:04.061 2: FRITZBOX!0000 [fritzzbox: Lua_Data.5530] - INFO: data.lua not supportet. Fritz!Box or Fritz!OS outdated.
2023.04.03 20:14:04.069 2: FRITZBOX!0000 [fritzzbox: Run_fritzloginfo.4020] - ERROR: fritzLogInfo: data.lua not supportet
2023.04.03 20:14:04.140 3: FRITZBOX!0000 [fritzzbox: Set_Cmd_Done.3805] - DEBUG: fritzLog to Sub: sys
{"Error":"data.lua not supportet","Info":"Fritz!Box or Fritz!OS outdated"}
2023.04.03 20:14:04.145 2: ERROR: fritzLogInfo: data.lua not supportet
Sind die Meldungen relevant?
Mein nächster Schritt wäre dann der TelegramBot. Da müsste ich aber auf mein aktives System.
Die Meldungen "INFO: data.lua not supportet. Fritz!Box or Fritz!OS outdated." irritieren mich, da ich sie nicht bekomme und in diesem Code Teil auch gar nichts geändert habe.
Grüße Jörg
Vielen Dank für Eure Hilfe auch wenn ich in der Formulierung ungeschickt war. Wusste mich nicht besser zu artikulieren ::)
Wir sind zurück im Fritz_Support Thread
Edit zum Abschluss:
Lösung im FritzBox Modul erreicht (ab 07.50.12 von Anfang April 2023).
Die Funktion in 99_myUtils kann nun Blocking aufgerufen werden.
Dadurch wird der Aufruf des TelegramBot aus der 99_ korrekt abgearbeitet.
Hallo. Ich habe eine Verständnisfrage.
In meinem FHEM bekomme ich im Logfile immer den Eintrag "Found from id in message" - sobald man von Telegram etwas an FHEM sendet.
2023.05.07 22:16:15.730 3: TelegramBot TelegramBot: Found from id in message - id : XXXXXXXXX
Mich wundert, dass ich solche Einträge früher im Log nicht hatte und bei zwei anderen FHEM-Installationen, die jeweils auch einen Telegrambot haben diese Meldungen auch nicht im Logfile auftauchen.
FHEM ist bei allen 3 Installationen auf dem gleichen Stand (update überall am gleichen Tag gemacht). Attribute sind ebenso gleich gesetzt.
Einziger Unterschied, das betroffene FHEM hat nur einen Contact, die anderen beiden Installationen haben jeweils 3 Contacts (einer davon ist der, der ersten FHEM Installationen).
Warum kommen bei einem FHEM diese Meldungen, bei anderen nicht? Verbose ist global und für den Telegrambot bei allen gleich.
Zitat von: swsmily am 07 Mai 2023, 22:28:10Hallo. Ich habe eine Verständnisfrage.
In meinem FHEM bekomme ich im Logfile immer den Eintrag "Found from id in message" - sobald man von Telegram etwas an FHEM sendet.
2023.05.07 22:16:15.730 3: TelegramBot TelegramBot: Found from id in message - id : XXXXXXXXX
Mich wundert, dass ich solche Einträge früher im Log nicht hatte und bei zwei anderen FHEM-Installationen, die jeweils auch einen Telegrambot haben diese Meldungen auch nicht im Logfile auftauchen.
FHEM ist bei allen 3 Installationen auf dem gleichen Stand (update überall am gleichen Tag gemacht). Attribute sind ebenso gleich gesetzt.
Einziger Unterschied, das betroffene FHEM hat nur einen Contact, die anderen beiden Installationen haben jeweils 3 Contacts (einer davon ist der, der ersten FHEM Installationen).
Warum kommen bei einem FHEM diese Meldungen, bei anderen nicht? Verbose ist global und für den Telegrambot bei allen gleich.
Die Meldung kommt, wenn der entsprechende Kontakt in der Nachricht gefunden wurde. Diese Nachricht ist auch schon seit langer Zeit enthalten. Der Unterschied kann entweder darin liegen, dass der Contact nicht gefunden wird oder dass auf den Installation das verbose level unterschiedlich eingestellt ist.
Mit verbose level 2 erscheint die entsprechende Nachricht nicht mehr
Zitat von: viegener am 11 Mai 2023, 22:40:55Der Unterschied kann entweder darin liegen, dass der Contact nicht gefunden wird oder dass auf den Installation das verbose level unterschiedlich eingestellt ist.
oh man wie peinlich. Ich hatte wohl Tomaten auf den Augen. Tatsächlich ist bei den beiden FHEM-Installationen, wo die Meldung nicht kommt verbose auf 2 gesetzt und bei dem FHEM, wo die Meldung kommt ist das Attribut gar nicht gesetzt, wodurch das Global verbose 3 genutzt wird :o
Danke fürs Augen öffnen ;D
Hallo,
ich weiß nicht wodurch es passiert ist, aber irgendwann einmal habe ich das attribut für die Favoriten angepasst, um weitere Kommandos zu haben...
attribute teleBot favorites
set RolladenWohnzimmer Auf;
set RolladenWohnzimmer Zu;
set RolladenWohnzimmer pct 100;
set RolladenWohnzimmer pct 60;
set RolladenWohnzimmer pct 0 ;
set HzgAktorBuero on;
set HzgAktorBuero off;
set HzgSetBad desired-temp 29;
set HzgSetBad desired-temp 22;
set AlleRolladen Zu;
set AlleRolladen Auf
Jetzt ist mir aufgefallen, dass mein Client die Favoriten nicht aktualisiert hat, und somit das falsche Kommando gesendet hat (wahrscheinlich, weil ich die Kommandos für den Wohnzimmerrolladen ergänzt habe) und der Client das nicht mitbekommen hat.
Wie kann man das in Zukunft automatisieren, oder durch eine bestimmte Vorgehensweise gleich ganz eliminieren?
Viele Grüße
Wolfgang
Zitat von: wowogiengen am 13 Mai 2023, 22:59:14Hallo,
ich weiß nicht wodurch es passiert ist, aber irgendwann einmal habe ich das attribut für die Favoriten angepasst, um weitere Kommandos zu haben...
attribute teleBot favorites
set RolladenWohnzimmer Auf;
set RolladenWohnzimmer Zu;
set RolladenWohnzimmer pct 100;
set RolladenWohnzimmer pct 60;
set RolladenWohnzimmer pct 0 ;
set HzgAktorBuero on;
set HzgAktorBuero off;
set HzgSetBad desired-temp 29;
set HzgSetBad desired-temp 22;
set AlleRolladen Zu;
set AlleRolladen Auf
Jetzt ist mir aufgefallen, dass mein Client die Favoriten nicht aktualisiert hat, und somit das falsche Kommando gesendet hat (wahrscheinlich, weil ich die Kommandos für den Wohnzimmerrolladen ergänzt habe) und der Client das nicht mitbekommen hat.
Wie kann man das in Zukunft automatisieren, oder durch eine bestimmte Vorgehensweise gleich ganz eliminieren?
Hallo Wolfgang,
hast Du den in deinem Telegram-Client nach dem Ändern ein
Zitat/start
(Menüe holen, falls /start" dein Kommando ist) gemacht?
Hallo Maista,
nein, das habe ich erst gemacht, als ich versucht habe, die Kommandos wieder gerade zu biegen.
Aber das ist ja eigentlich genau das, was ich vermeiden möchte... Der Chat sollte selber wissen, wann die Kommandos zu aktualisieren sind...
Zitat von: wowogiengen am 15 Mai 2023, 19:25:43Hallo Maista,
nein, das habe ich erst gemacht, als ich versucht habe, die Kommandos wieder gerade zu biegen.
Aber das ist ja eigentlich genau das, was ich vermeiden möchte... Der Chat sollte selber wissen, wann die Kommandos zu aktualisieren sind...
Woher soll der Client das wissen?
Hallo,
ich würde gerne eine Nachricht tabellarisch darstellen.
Ich hab parseModeSend auf 2_HTML gestellt, die Nachricht in <pre> eingeschlossen und mit mehreren Leerzeichen nacheinander versucht, den Text auszurichten. Laut verschiedenen Stackoverflow-Seiten und der Beschreibung der TelegramBot-API sollte es funktionieren, aber mehrere Leerzeichen werden auch zwischen <pre> und </pre> (oder <code> und </code>) zu einem Leerzeichen zusammengefasst. HTML an sich funktioniert, es wird in der Ausgabe eine Festbreitenschrift verwendet. Auch mit Markdown und den drei Backticks werden die Leerzeichen zusammengefasst. \t wird auch nur zu einem Leerzeichen.
Woran kann das liegen?
Danke im Voraus,
Nico
Edit: Ich hab es auch schon mit   probiert, laut API-Beschreibung: All numerical HTML entities are supported. Aber dann wird die Nachricht gar nicht gesendet.
Zitat von: ocin4 am 15 Juli 2023, 21:35:48Hallo,
ich würde gerne eine Nachricht tabellarisch darstellen.
Ich hab parseModeSend auf 2_HTML gestellt, die Nachricht in <pre> eingeschlossen und mit mehreren Leerzeichen nacheinander versucht, den Text auszurichten. Laut verschiedenen Stackoverflow-Seiten und der Beschreibung der TelegramBot-API sollte es funktionieren, aber mehrere Leerzeichen werden auch zwischen <pre> und </pre> (oder <code> und </code>) zu einem Leerzeichen zusammengefasst. HTML an sich funktioniert, es wird in der Ausgabe eine Festbreitenschrift verwendet. Auch mit Markdown und den drei Backticks werden die Leerzeichen zusammengefasst. \t wird auch nur zu einem Leerzeichen.
Woran kann das liegen?
Danke im Voraus,
Nico
Edit: Ich hab es auch schon mit   probiert, laut API-Beschreibung: All numerical HTML entities are supported. Aber dann wird die Nachricht gar nicht gesendet.
Die Leerzeichen werden bereits in FHEM ausgefiltert, denn die Leerzeichen (eins oder mehrere) werden als Trenner zwischen den einzelnen Argumenten des set-Befehls verwendet. Die Information, dass es mehrere Leerzeichen waren geht dabei verloren.
Versuche mal die Leerzeichen durch
\s
zu ersetzen, sonst wäre diedie einzige Möglichkeit über perl die Methode
TelegramBot_Set
im Modul direkt aufzurufen
Zitat von: viegener am 16 Juli 2023, 00:39:27Versuche mal die Leerzeichen durch \s
zu ersetzen,
Das hat nicht funktioniert (siehe Anhang)
Zitat von: viegener am 16 Juli 2023, 00:39:27sonst wäre diedie einzige Möglichkeit über perl die Methode
TelegramBot_Set
im Modul direkt aufzurufen
Das versteh ich nicht.
VG, Nico
Zitat von: ocin4 am 16 Juli 2023, 02:16:07Zitat von: viegener am 16 Juli 2023, 00:39:27Versuche mal die Leerzeichen durch \s
zu ersetzen,
Das hat nicht funktioniert (siehe Anhang)
Zitat von: viegener am 16 Juli 2023, 00:39:27sonst wäre diedie einzige Möglichkeit über perl die Methode
TelegramBot_Set
im Modul direkt aufzurufen
Das versteh ich nicht.
VG, Nico
Dein Bildschirmfoto kann ich nicht interpretieren. Ruf doch einfach mal folgenden Befehl auf:
set DeinTelegramBot _msg <pre>a\sb\s\sc\s\s\s\sd\n0123456789</pre>
Das Ergebnis müsste dann im telegram client etwa so aussehen - siehe Bild
Zitat von: viegener am 16 Juli 2023, 13:19:16Dein Bildschirmfoto kann ich nicht interpretieren.
Mein Script bastelt noch ein Keyboard mit rein und schickt die Nachricht an den Peer, von dem die Anfrage kam. In dem Screenshot sieht man, dass "\s" durch ein einfaches "s" ersetzt wurde.
Zitat von: viegener am 16 Juli 2023, 13:19:16Ruf doch einfach mal folgenden Befehl auf:
set DeinTelegramBot _msg <pre>a\sb\s\sc\s\s\s\sd\n0123456789</pre>
Das Ergebnis müsste dann im telegram client etwa so aussehen - siehe Bild
Der Befehl oben funktioniert, bei mir nicht, also musste es was mit dem Escapen zu tun haben. Wenn ich jetzt in meine Messgae ein "\\s" anstelle eines Leerzeichens schreibe, funktioniert es, wie es soll, siehe Screenshot.
Danke!
Schön, dass Du eine LÖsung gefunden hast.
Würde mich aber interessieren warum bei Dir zweifach escapen notwendig ist. Hast Du den Befehl direkt im Browser in FHEM ausgeführt?
Moin,
der Befehl, den du geschrieben hast, funktioniert direkt im Browser. Ich hab hier mal das DEF des Notifys, in welchem ich doppelt escapen muss, kannst ja mal kucken, ob du herausfindest, warum das so ist. Hängt meiner Meinung nach bestimmt mit FHEM-/Perl-Syntax zusammen, bei denen ich nicht so fit bin.
myTelegramBot:msgText.* {
my $peer = "@" . ReadingsVal("myTelegramBot", "msgPeerId", xxxxxxxxx); #default unkenntlich gemacht
my $befehlhelp = "/hilfe";
my $befehltemp = "/temp";
my $befehlbildtemp = "/bildtemp";
my $befehlbildrh = "/bildrh";
my $befehlheizdeckean = "/HeizdeckeAn";
my $befehlheizdeckeaus = "/HeizdeckeAus";
my $befehlkuechean = "/Kueche21";
my $befehlkuecheaus = "/Kueche18";
my $befehlkuechesommer = "/KuecheSommer";
my $keyboard = "($befehlhelp|$befehltemp|$befehlbildtemp|$befehlbildrh) ($befehlheizdeckean|$befehlheizdeckeaus) ($befehlkuechean|$befehlkuecheaus|$befehlkuechesommer)";
my $msg = $peer . " " . $keyboard;
if ($EVTPART1 eq 'Liste' || $EVTPART1 eq '/list' || $EVTPART1 eq '/liste' || $EVTPART1 eq '/help' || $EVTPART1 eq $befehlhelp) {
fhem("set myTelegramBot message $msg\
$befehltemp: Temperaturen\n$befehlbildtemp: Temperaturen-SVG\n$befehlbildrh: Luftfeuchte-SVG\n$befehlheizdeckean Heizdecke an\n$befehlheizdeckeaus Heizdecke aus\n$befehlkuechean Heizkörper Küche auf 21°C\n$befehlkuecheaus Heizkörper Küche auf 18°C\n$befehlkuechesommer Heizkörper Küche Sommerbetrieb");
}
elsif ($EVTPART1 eq 'Temperatur' || $EVTPART1 eq $befehltemp) {
my $tempWB = ReadingsVal("MQTT2_Prologue_Boden", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Prologue_Boden", "humidity", "") . "% rH";
my $tempAZ = ReadingsVal("MQTT2_Nexus_AZ", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Nexus_AZ", "humidity", "") . "% rH";
my $tempBad = ReadingsVal("MQTT2_Prologue_Bad", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Prologue_Bad", "humidity", "") . "% rH";
my $tempSZ = ReadingsVal("MQTT2_inFactory_SZ", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_inFactory_SZ", "humidity", "") . "% rH";
my $tempKue = ReadingsVal("MQTT2_Prologue_Kueche", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Prologue_Kueche", "humidity", "") . "% rH";
my $tempWZ = ReadingsVal("MQTT2_Nexus_WZ", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Nexus_WZ", "humidity", "") . "% rH";
my $tempKel = ReadingsVal("MQTT2_inFactory_Keller", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_inFactory_Keller", "humidity", "") . "% rH";
my $tempBarb = ReadingsVal("MQTT2_inFactory_Barbara", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_inFactory_Barbara", "humidity", "") . "% rH";
my $tempCP = sprintf("%.1f", ReadingsVal("myCarportTemperatureProxy", "state", "")) . "°C";
fhem("set myTelegramBot message $msg <pre>Wäscheboden\\s\\s $tempWB\nArbeitszimmer $tempAZ\nBad\\s\\s\\s\\s\\s\\s\\s\\s\\s\\s $tempBad\nSchlafzimmer\\s $tempSZ\nKüche\\s\\s\\s\\s\\s\\s\\s\\s $tempKue\nWohnzimmer\\s\\s\\s $tempWZ\nKeller\\s\\s\\s\\s\\s\\s\\s $tempKel\nDraußen\\s\\s\\s\\s\\s\\s $tempBarb\nCarport\\s\\s\\s\\s\\s\\s $tempCP</pre>");
}
else {
# Die anderen Befehle wegen Übersichtlichkeit hier rausgenommen.
}
}
Zitat von: ocin4 am 17 Juli 2023, 07:44:59Moin,
der Befehl, den du geschrieben hast, funktioniert direkt im Browser. Ich hab hier mal das DEF des Notifys, in welchem ich doppelt escapen muss, kannst ja mal kucken, ob du herausfindest, warum das so ist. Hängt meiner Meinung nach bestimmt mit FHEM-/Perl-Syntax zusammen, bei denen ich nicht so fit bin.
myTelegramBot:msgText.* {
my $peer = "@" . ReadingsVal("myTelegramBot", "msgPeerId", xxxxxxxxx); #default unkenntlich gemacht
my $befehlhelp = "/hilfe";
my $befehltemp = "/temp";
my $befehlbildtemp = "/bildtemp";
my $befehlbildrh = "/bildrh";
my $befehlheizdeckean = "/HeizdeckeAn";
my $befehlheizdeckeaus = "/HeizdeckeAus";
my $befehlkuechean = "/Kueche21";
my $befehlkuecheaus = "/Kueche18";
my $befehlkuechesommer = "/KuecheSommer";
my $keyboard = "($befehlhelp|$befehltemp|$befehlbildtemp|$befehlbildrh) ($befehlheizdeckean|$befehlheizdeckeaus) ($befehlkuechean|$befehlkuecheaus|$befehlkuechesommer)";
my $msg = $peer . " " . $keyboard;
if ($EVTPART1 eq 'Liste' || $EVTPART1 eq '/list' || $EVTPART1 eq '/liste' || $EVTPART1 eq '/help' || $EVTPART1 eq $befehlhelp) {
fhem("set myTelegramBot message $msg\
$befehltemp: Temperaturen\n$befehlbildtemp: Temperaturen-SVG\n$befehlbildrh: Luftfeuchte-SVG\n$befehlheizdeckean Heizdecke an\n$befehlheizdeckeaus Heizdecke aus\n$befehlkuechean Heizkörper Küche auf 21°C\n$befehlkuecheaus Heizkörper Küche auf 18°C\n$befehlkuechesommer Heizkörper Küche Sommerbetrieb");
}
elsif ($EVTPART1 eq 'Temperatur' || $EVTPART1 eq $befehltemp) {
my $tempWB = ReadingsVal("MQTT2_Prologue_Boden", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Prologue_Boden", "humidity", "") . "% rH";
my $tempAZ = ReadingsVal("MQTT2_Nexus_AZ", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Nexus_AZ", "humidity", "") . "% rH";
my $tempBad = ReadingsVal("MQTT2_Prologue_Bad", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Prologue_Bad", "humidity", "") . "% rH";
my $tempSZ = ReadingsVal("MQTT2_inFactory_SZ", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_inFactory_SZ", "humidity", "") . "% rH";
my $tempKue = ReadingsVal("MQTT2_Prologue_Kueche", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Prologue_Kueche", "humidity", "") . "% rH";
my $tempWZ = ReadingsVal("MQTT2_Nexus_WZ", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_Nexus_WZ", "humidity", "") . "% rH";
my $tempKel = ReadingsVal("MQTT2_inFactory_Keller", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_inFactory_Keller", "humidity", "") . "% rH";
my $tempBarb = ReadingsVal("MQTT2_inFactory_Barbara", "temperature_C", "") . "°C, " . ReadingsVal("MQTT2_inFactory_Barbara", "humidity", "") . "% rH";
my $tempCP = sprintf("%.1f", ReadingsVal("myCarportTemperatureProxy", "state", "")) . "°C";
fhem("set myTelegramBot message $msg <pre>Wäscheboden\\s\\s $tempWB\nArbeitszimmer $tempAZ\nBad\\s\\s\\s\\s\\s\\s\\s\\s\\s\\s $tempBad\nSchlafzimmer\\s $tempSZ\nKüche\\s\\s\\s\\s\\s\\s\\s\\s $tempKue\nWohnzimmer\\s\\s\\s $tempWZ\nKeller\\s\\s\\s\\s\\s\\s\\s $tempKel\nDraußen\\s\\s\\s\\s\\s\\s $tempBarb\nCarport\\s\\s\\s\\s\\s\\s $tempCP</pre>");
}
else {
# Die anderen Befehle wegen Übersichtlichkeit hier rausgenommen.
}
}
OK, das erklärt es aus Perl heraus mit den doppelten Anführungszeichen wird Perl das erste "\" entfernen. Wenn Du den String in quotes/einfache Anführungszeichen also ' setzt sollte es auch ohne Dopplung gehen.
Zitat von: viegener am 17 Juli 2023, 13:58:52Wenn Du den String in quotes/einfache Anführungszeichen also ' setzt sollte es auch ohne Dopplung gehen.
Ja, aber dann werden die Variablen im String nicht mehr geparst, müsste ich dann mit . aufteilen und zusammenfügen. Weiß jetzt nicht, was besser ist. Danke aber trotzdem, evtl brauch ich das andermal, man lernt ja nie aus.
VG, Nico
Zitat von: ocin4 am 17 Juli 2023, 15:03:14Zitat von: viegener am 17 Juli 2023, 13:58:52Wenn Du den String in quotes/einfache Anführungszeichen also ' setzt sollte es auch ohne Dopplung gehen.
Ja, aber dann werden die Variablen im String nicht mehr geparst, müsste ich dann mit . aufteilen und zusammenfügen. Weiß jetzt nicht, was besser ist. Danke aber trotzdem, evtl brauch ich das andermal, man lernt ja nie aus.
VG, Nico
Ja natürlich, der Text muss dann natürlich auch zerteilt werden:
Statt
fhem("set myTelegramBot message $msg <pre>Wäscheboden\\s\\s $tempWB\nArbeitszimmer $tempAZ ...
dann so
fhem("set myTelegramBot message ".$msg.' <pre>Wäscheboden\s\s '.$tempWB.'\nArbeitszimmer '.$tempAZ ...
@viegener
Hi, I use telegrambot for quiet some time now, mostly to receive alerts on my phone, this worked perfectly fine for months and now I don't receive messages anymore. Sometimes, there is one or two messages that reach me, but in general, I receive nothing at all. At contrario, if I send a message from by bot (on the phone), I receive the message each time without issues. I didn't change my fhem's telegrambot config, just done regulars fhem updates
I don't know if it help but
sentMsgResult (Internals) is showing : WAITING
Any clues of what could be wrong ?
Zitat von: andies am 31 Januar 2020, 08:28:22Jetzt kommen wir der Sache schon näher, ich habe die Datei mal genauer angeschaut. Es finden sich unzählige Einträge der Form
uniqueID:uswusfuswusf...
aber eben auch 1079 (!) Einträge mit
FB_CALLLIST-TelefonListe:compressed:undhierstehtdannimmerdiegleicheIDdrin_uswusf
und vierzehn Mal der Token, da habe ich mir einen Screenshot mit einem Ausschnitt erlaubt.
Sorry for the reply in English, but my German is at best childhood level. Happily my tech is at a high enough level to run FHEM with just Google Translate to handle the documentation.
I had the same errors/issue you saw, but figured out the root cause thanks to your post. It was the same problem with the "uniqueID" file being truncated after resetting my MQTT access user/password. On doing that, the file went from having entries for MQTT, alexa, google, and telegram plugins, to having only the new MQTT entry. The alexa module reverted to asking for a resync, and the Google module somehow fixed itself. But Telegram was silently failing into the log. No indicator on the service that every poll request failed and no outbound bot messages were making it out.
There should be some consideration that if the polling fails more than a few times in a row to set an indicator to show the service is having issues.
After restoring the uniqueID file from backup, everything returned to normal without further resets.
Well, since you cited me: The main reason for the problem you mentioned was a mistake I made in programming FHEM. Instead of crashing the Programm filled the file with more and more uniqueID and filled went north. It took me some time and also some help from the king himself to solve the issue.
Zitat von: claudio am 20 August 2023, 02:35:12@viegener
Hi, I use telegrambot for quiet some time now, mostly to receive alerts on my phone, this worked perfectly fine for months and now I don't receive messages anymore. Sometimes, there is one or two messages that reach me, but in general, I receive nothing at all. At contrario, if I send a message from by bot (on the phone), I receive the message each time without issues. I didn't change my fhem's telegrambot config, just done regulars fhem updates
I don't know if it help but
sentMsgResult (Internals) is showing : WAITING
Any clues of what could be wrong ?
I respond to myself to keep track of the issue, but this message is meant for Viegener
After multiple try, I've discovered a possibly strange behavior : when pollingTimeout is set to 0, messages sending from fhem TelegramBot to a peer works unreliably. I could send a few messages with success and after a certain period of time, sending doesn't work anymore, sentMsgResult value is stuck on WAITING instead of SUCCESS, each new messages is queued but nether reach the peer. if I set "reset", messages are send again for a random period of time until it's stuck back to WAITING
Now, with pollingTimeout activated (value 20), I've received messages the whole day, without issues. My understanding was that pollingTimeout is for receiving messages (from peer client back to fhem) not the other way ? is this a bug or a requirement of the module ? (in which case it should be mentionned in the doc that pollingTimeout SHOULD NOT be 0, else nothing works, you can't receive messages and you can't send reliably either)
Zitat von: claudio am 25 August 2023, 23:54:00Zitat von: claudio am 20 August 2023, 02:35:12@viegener
Hi, I use telegrambot for quiet some time now, mostly to receive alerts on my phone, this worked perfectly fine for months and now I don't receive messages anymore. Sometimes, there is one or two messages that reach me, but in general, I receive nothing at all. At contrario, if I send a message from by bot (on the phone), I receive the message each time without issues. I didn't change my fhem's telegrambot config, just done regulars fhem updates
I don't know if it help but
sentMsgResult (Internals) is showing : WAITING
Any clues of what could be wrong ?
I respond to myself to keep track of the issue, but this message is meant for Viegener
After multiple try, I've discovered a possibly strange behavior : when pollingTimeout is set to 0, messages sending from fhem TelegramBot to a peer works unreliably. I could send a few messages with success and after a certain period of time, sending doesn't work anymore, sentMsgResult value is stuck on WAITING instead of SUCCESS, each new messages is queued but nether reach the peer. if I set "reset", messages are send again for a random period of time until it's stuck back to WAITING
Now, with pollingTimeout activated (value 20), I've received messages the whole day, without issues. My understanding was that pollingTimeout is for receiving messages (from peer client back to fhem) not the other way ? is this a bug or a requirement of the module ? (in which case it should be mentionned in the doc that pollingTimeout SHOULD NOT be 0, else nothing works, you can't receive messages and you can't send reliably either)
It seems that this behavior is probably since the bot api will not work endlessly if you do not receive also messages from the server.
As an explanation - pollingtimeout 0 was never considered for NOT retrieving messages, but for the case where you manually invoke "get update" on the device to retrieve messages. I can make this clearer in the documentation, since I never considered the case where the bot is used only in one direction with sending messages, while never retrieving the messages send to the bot.
Hallo FHEM-Gemeinde,
ich habe meinen FHEM Server von einem Pi2 mit OS jessie auf einen Pi3 mit OS bookworm umgezogen. Das hat mich etwas Schweiß gekostet, aber alles läuft wieder prima, bis auf den TelegramBot. Den bekomme ich nicht wieder zum laufen. Fummle da seit mehreren Tagen rum und versuche in diversen Foren den Brotkrumen durch den Hasenbau zu folgen habe aber kein tieferes Hintergrundwissen.
Der TelegramBot bekommt die Verbindung nicht aufgebaut. Die ID vom Bot habe ich beim Bot-Father auch noch einmal kontrolliert, ist in Ordnung.
fhem-log:
2023.10.19 06:27:58 3: TelegramBot_Define teleBot: called
2023.10.19 06:27:58 2: TelegramBot_DoUrlCommand teleBot: FAILED http access returned error :https://api.telegram.org/xxxxxx/getMe: Can't connect(1) to https://api.telegram.org:443: IO::Socket::INET: connect: Network is unreachable:
2023.10.19 06:28:00 3: TelegramBot_SendIt teleBot: Failed with :FAILED peer not found :#FHEM_Messages::
2023.10.19 06:28:00 3: TelegramBot_Callback teleBot: resulted in NonBlockingGet: returned FAILED peer not found :#FHEM_Messages: from SendIt
2023.10.19 06:28:00 3: FHEMStart return value: FAILED peer not found :#FHEM_Messages:
Wenn ich auf dem RPi einen "ping api.telegram.org" ausführe kommt der Ping durch.
Habe versucht sämtliche Perl Bibliotheken die in Forenbeiträgen benannt waren nach zu installieren bzw. zu updaten, bisher waren aber alle bereits installiert und aktuell.
Im FHEMWiki https://wiki.fhem.de/wiki/TelegramBot bin ich dann auf eine Fehlermeldungen bei veralteter SSL-Version gestoßen. Dort sollte man im cpan ein upgrade net::SSLeay ausführen. Die Rückmeldung ist
cpan[1]> upgrade net::SSLeay
Reading '/root/.cpan/Metadata'
Database was generated on Wed, 18 Oct 2023 12:17:01 GMT
No modules found for net::SSLeay
Eine Installation in cpan mit "install net::SSLeay" sowie "upgrade" dauern grauenhaft lange, auch mit gestopptem FHEM. Beide Versuchen enden in cpan mit der Zeile "getötet". Ich vermute das ist ein Abbruch der Aktion.
Ist das mein Problem, weiß jemand Rat?
Ergänzung-----------------------------------------------------------------------------------------------------------------------------
Habe gerade erst auf das Release von bookworm geschaut. Das was gerade erst vor 9 Tagen (10.10.2023). Hat hier schon jemand das Modul TelegramBot am laufen?
Weitere Ergänzung--------------------------------------------------------------------------------------------------------------------
Habe als sudo im cpan den Befehl upgrade net::SSLeay statt Net::SSLeay verwendet. Mache ich es richtig erhalte die Information, in aktueller Version vorhanden.
cpan[1]> install Net::SSLeay
Reading '/root/.cpan/Metadata'
Database was generated on Sat, 21 Oct 2023 02:17:02 GMT
Net::SSLeay is up to date (1.92).
cpan[2]>
Wenn ich jedoch im cpan "r" ausführe taucht Nert:SSLeay dort nicht auf...
cpan[1]> r
Reading '/root/.cpan/Metadata'
Database was generated on Sat, 21 Oct 2023 02:17:02 GMT
Package namespace installed latest in CPAN file
Archive::Tar 2.36 3.02 BINGOS/Archive-Tar-3.02.tar.gz
Authen::SASL 2.16 2.1700 EHUELS/Authen-SASL-2.1700.tar.gz
CGI 4.51 4.59 LEEJO/CGI-4.59.tar.gz
CGI::Fast 2.15 2.16 LEEJO/CGI-Fast-2.16.tar.gz
CPAN 2.27 2.36 ANDK/CPAN-2.36.tar.gz
CPAN::Meta::Requirements 2.140 2.143 RJBS/CPAN-Meta-Requirements-2.143.tar.gz
Clone 0.45 0.46 GARU/Clone-0.46.tar.gz
Compress::Raw::Bzip2 2.093 2.206 PMQS/Compress-Raw-Bzip2-2.206.tar.gz
Compress::Raw::Zlib 2.093 2.206 PMQS/Compress-Raw-Zlib-2.206.tar.gz
Config::Perl::V 0.32 0.36 HMBRAND/Config-Perl-V-0.36.tgz
Crypt::CBC 2.33 3.04 LDS/Crypt-CBC-3.04.tar.gz
Crypt::Rijndael 1.15 1.16 LEONT/Crypt-Rijndael-1.16.tar.gz
CryptX 0.069 0.080 MIK/CryptX-0.080.tar.gz
DBD::SQLite 1.66 1.74 ISHIGAKI/DBD-SQLite-1.74.tar.gz
DB_File 1.853 1.859 PMQS/DB_File-1.859.tar.gz
Data::Dump 1.23 1.25 GARU/Data-Dump-1.25.tar.gz
Data::Dumper 2.174_01 2.183 NWCLARK/Data-Dumper-2.183.tar.gz
Data::UUID 1.0602 1.226 RJBS/Data-UUID-1.226.tar.gz
Devel::PPPort 3.57 3.68 ATOOMIC/Devel-PPPort-3.68.tar.gz
Digest 1.17_01 1.20 TODDR/Digest-1.20.tar.gz
Digest::MD5 2.55_01 2.58 TODDR/Digest-MD5-2.58.tar.gz
Digest::SHA 6.02 6.04 MSHELOR/Digest-SHA-6.04.tar.gz
Encode 3.06 3.19 DANKOGAI/Encode-3.19.tar.gz
Exporter 5.74 5.77 TODDR/Exporter-5.77.tar.gz
ExtUtils::CBuilder 0.280234 0.280236 AMBS/ExtUtils-CBuilder-0.280236.tar.gz
ExtUtils::Install 2.14 2.22 BINGOS/ExtUtils-Install-2.22.tar.gz
ExtUtils::MakeMaker 7.44 7.70 BINGOS/ExtUtils-MakeMaker-7.70.tar.gz
ExtUtils::Manifest 1.72 1.75 ETHER/ExtUtils-Manifest-1.75.tar.gz
ExtUtils::ParseXS 3.40 3.51 LEONT/ExtUtils-ParseXS-3.51.tar.gz
FCGI 0.79 0.82 ETHER/FCGI-0.82.tar.gz
File::Fetch 0.56 1.04 BINGOS/File-Fetch-1.04.tar.gz
File::Listing 6.14 6.16 PLICEASE/File-Listing-6.16.tar.gz
File::Path 2.16 2.18 JKEENAN/File-Path-2.18.tar.gz
File::Temp 0.2309 0.2311 ETHER/File-Temp-0.2311.tar.gz
FindBin 1.51 1.53 TODDR/FindBin-1.53.tar.gz
Getopt::Long 2.51 2.54 JV/Getopt-Long-2.54.tar.gz
Git 0.01 0.42 MSOUTH/Git-0.42.tar.gz
HTML::Form 6.07 6.11 SIMBABQUE/HTML-Form-6.11.tar.gz
HTML::Formatter 2.12 2.16 NIGELM/HTML-Formatter-2.16.tar.gz
HTML::Parser 3.75 3.81 OALDERS/HTML-Parser-3.81.tar.gz
HTTP::Daemon 6.12 6.16 OALDERS/HTTP-Daemon-6.16.tar.gz
HTTP::Date 6.05 6.06 OALDERS/HTTP-Date-6.06.tar.gz
HTTP::Message 6.28 6.45 OALDERS/HTTP-Message-6.45.tar.gz
HTTP::Tiny 0.076 0.088 DAGOLDEN/HTTP-Tiny-0.088.tar.gz
IO 1.43 1.51 TODDR/IO-1.51.tar.gz
IO::Socket::IP 0.39 0.42 PEVANS/IO-Socket-IP-0.42.tar.gz
IO::Socket::SSL 2.069 2.083 SULLR/IO-Socket-SSL-2.083.tar.gz
IO::Stringy 2.111 2.113 CAPOEIRAB/IO-Stringy-2.113.tar.gz
IO::Zlib 1.10 1.14 TOMHUGHES/IO-Zlib-1.14.tar.gz
IPC::SysV 2.07 2.09 MHX/IPC-SysV-2.09.tar.gz
JSON 4.03 4.10 ISHIGAKI/JSON-4.10.tar.gz
JSON::PP 4.04 4.16 ISHIGAKI/JSON-PP-4.16.tar.gz
LWP::Protocol::https 6.10 6.11 OALDERS/LWP-Protocol-https-6.11.tar.gz
Locale::Maketext 1.29 1.32 TODDR/Locale-Maketext-1.32.tar.gz
MIME::Base64 3.15 3.16 CAPOEIRAB/MIME-Base64-3.16.tar.gz
Math::BigInt 1.999818 1.999842 PJACKLAM/Math-BigInt-1.999842.tar.gz
Math::BigInt::FastCalc 0.5009 0.5015 PJACKLAM/Math-BigInt-FastCalc-0.5015.tar.gz
Math::BigRat 0.2614 0.2624 PJACKLAM/Math-BigRat-0.2624.tar.gz
Memoize 1.03_01 1.16 ARISTOTLE/Memoize-1.16.tar.gz
Module::CoreList 5.20210123 5.20230920 BINGOS/Module-CoreList-5.20230920.tar.gz
Module::Load 0.34 0.36 BINGOS/Module-Load-0.36.tar.gz
Module::Load::Conditional 0.70 0.74 BINGOS/Module-Load-Conditional-0.74.tar.gz
Module::Metadata 1.000037 1.000038 ETHER/Module-Metadata-1.000038.tar.gz
NEXT 0.67_01 0.69 NEILB/NEXT-0.69.tar.gz
Net::HTTP 6.20 6.23 OALDERS/Net-HTTP-6.23.tar.gz
Net::Ping 2.72 2.75 RURBAN/Net-Ping-2.75.tar.gz
PerlIO::via::QuotedPrint 0.08 0.10 SHAY/PerlIO-via-QuotedPrint-0.10.tar.gz
Pod::Checker 1.73 1.75 MAREKR/Pod-Checker-1.75.tar.gz
Pod::Simple 3.40 3.45 KHW/Pod-Simple-3.45.tar.gz
Pod::Usage 1.69 2.03 MAREKR/Pod-Usage-2.03.tar.gz
Socket 2.029 2.037 PEVANS/Socket-2.037.tar.gz
Storable 3.21 3.25 NWCLARK/Storable-3.25.tar.gz
Term::Cap 1.17 1.18 JSTOWE/Term-Cap-1.18.tar.gz
Test::Harness 3.42 3.48 LEONT/Test-Harness-3.48.tar.gz
Test::Simple 1.302175 1.302195 EXODIST/Test-Simple-1.302195.tar.gz
Text::Balanced 2.03 2.06 SHAY/Text-Balanced-2.06.tar.gz
Text::ParseWords 3.30 3.31 NEILB/Text-ParseWords-3.31.tar.gz
Tie::File 1.06 1.07 TODDR/Tie-File-1.07.tar.gz
Tie::RefHash 1.39 1.40 ETHER/Tie-RefHash-1.40.tar.gz
Time::Local 1.28 1.35 DROLSKY/Time-Local-1.35.tar.gz
Try::Tiny 0.30 0.31 ETHER/Try-Tiny-0.31.tar.gz
URI 5.08 5.21 OALDERS/URI-5.21.tar.gz
Unicode::Collate 1.27 1.31 SADAHIRO/Unicode-Collate-1.31.tar.gz
XML::LibXML 2.0134 2.0209 SHLOMIF/XML-LibXML-2.0209.tar.gz
autodie 2.32 2.36 TODDR/autodie-2.36.tar.gz
bignum 0.51 0.66 PJACKLAM/bignum-0.66.tar.gz
experimental 0.020 0.031 LEONT/experimental-0.031.tar.gz
parent 0.238 0.241 CORION/parent-0.241.tar.gz
perlfaq 5.20200523 5.20230812 ETHER/perlfaq-5.20230812.tar.gz
version 0.9924 0.9930 LEONT/version-0.9930.tar.gz
Apache::XMLRPC::Lite 0.717 1.01 PHRED/SOAP-Lite-1.01.tar.gz
B 1.80 1.88 RJBS/perl-5.38.0.tar.gz
Compress::Zlib 2.093 2.206 PMQS/IO-Compress-2.206.tar.gz
Dpkg::Build::Info 1.01 1.02 GUILLEM/Dpkg-1.22.0.tar.gz
Filter::Util::Call 1.59 1.64 RURBAN/Filter-1.64.tar.gz
LWP 6.52 6.72 OALDERS/libwww-perl-6.72.tar.gz
List::Util 1.55 1.63 PEVANS/Scalar-List-Utils-1.63.tar.gz
MIME::Body 5.509 5.510 DSKOLL/MIME-tools-5.510.tar.gz
Net::Cmd 3.11 3.15 SHAY/libnet-3.15.tar.gz
Pod::Man 4.14 5.01 RRA/podlators-5.01.tar.gz
Text::Tabs 2013.0523 2023.0511 ARISTOTLE/Text-Tabs+Wrap-2023.0511.tar.gz
Types::Serialiser::Error undef 1.01 MLEHMANN/Types-Serialiser-1.01.tar.gz
59 installed modules have no parsable version number
(use 'o conf show_unparsable_versions 1' to show them)
@SmartJunkie: Ich vermute das Telegram-Modul deckt hier nur ein Problem auf, dass möglicherweise tiefer liegt. Ich vermute jetzt auch nicht ein Problem hinter der Neuheit des Systems liegt.
Ein paar Fragen:
- Hast Du andere Module, die von FHEM ins Internet gehen?
- Ist der Ping mit demselben Benutzer gemacht unter dem auch FHEM läuft?
- Ist in FHEM ein globaler DNS-Server gesetzt?
- Wenn nicht - kannst Du den temporär deaktivieren? / Wenn ja - dann kannst Du mal einen setzen?
- Benutzt Du ein gemischtes IPV6/V4 Netz in dem der PI3 steht?
Hallo Viegener,
danke für die Hinweise, ich geh mal die Spiegelstriche durch.
- Ich habe andere Module die auf das Internet und https zugreifen. Zum Beispiel das Modul calender als Abfallkalender und den HTTPMOD auf Clever Tanken, außerdem Rasen- und Saugroboter sowie Wetterdaten von Proplanta.
- Den Ping habe ich auf dem Pi tatsächlich nicht mit dem User FHEM ausgeführt, habe aber im Forum diese Zeile gefunden
{ my $p = `ping -c 3 api.telegram.org`;; return $p }
die in FHEM den Ping ausführt und liefert drei saubere Antworten.
- In meiner fhem.cfg ist kein attr global dnsServer eingetragen. Soweit ich erstmal in Erfahrung bringen konnte bedeutet das, dass Betriebssystem nutzt eigene blockier Routinen (inet_aton bzw gethostbyname). Da muss ich mich morgen mal schlau lesen.
- Der Pi3 hatte beim Abruf Eintragungen für IP v4 und v6. Habe diese abgeschaltet indem in der /etc/sysctl.conf folgende Zeile eingefügt wurde:
net.ipv6.conf.all.disable_ipv6 = 1
und aktiviert mit
sudo sysctl -p
Danach war nur noch die IP v4 Adresse eingetragen.
Habe fhem neu gestartet. Hat leider das Problem nicht gelöst.
Ergänzung ------------------------------------------------------------------------------
Habe gestern Abend versucht dem DNS Thema auf den Grund zu gehen. Dummerweise vorher kein Image gemacht, das übt...
Dabei meine ich bewusst nur über die fhem Console und Config Änderungen vorgenommen zu haben aber danach ging weder ein Ping aus der Console noch vom Pi aus ins Internet. Damit habe ich gefummelt:
attr global dnsServer 8.8.8.8
attr global dnsServer 8.8.4.4
deleteattr global dnsServer
{ HttpUtils_gethostbyname({timeout=>4}, "api.telegram.org", 1,sub(){my($h,$e,$a)=@_;; Log 1, $e ? "ERR:$e": ("IP:".ip2str($a)) }) }
{ my $p = `ping -c 3 api.telegram.org`;; return $p }
Weil ich keine Lust hatte das irgendwie entstandene Problem zu suchen habe ich das Image eingespielt und meine letzten paar Änderungen auf dem Pi nachvollzogen. Den Telegramm Bot definiert. Und plötzlich funktionierte er?!? Ich weiß aber nicht woran das lag. ¯\_ (ツ)_/¯
Danke für den Lösungsansatz, hat irgendwie geholfen ;D
Hallo,
ich bin von einem PI4B auf ein leistungsstärkeres Gerät umgestiegen.
Seit dem bekomme ich diese Meldungen im LOG.
2023.10.31 18:50:27 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Too Many Requests: retry after 3: from SendIt
2023.10.31 18:50:27 3: TelegramBot_Callback Telegram: Reached max retries (ret: Callback returned error :Too Many Requests: retry after 3:) for msg #Kamera : /etc/motioneye/CAM/CAM_Hof/2023-10-31/18-47-57-00.jpg
2023.10.31 18:50:56 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Too Many Requests: retry after 31: from SendIt
2023.10.31 18:50:56 3: TelegramBot_Callback Telegram: Reached max retries (ret: Callback returned error :Too Many Requests: retry after 31:) for msg #Kamera : /etc/motioneye/CAM/CAM_Hof/2023-10-31/18-48-32-00.jpg
2023.10.31 18:51:12 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Too Many Requests: retry after 15: from SendIt
2023.10.31 18:51:12 3: TelegramBot_Callback Telegram: Reached max retries (ret: Callback returned error :Too Many Requests: retry after 15:) for msg #Kamera : /etc/motioneye/CAM/CAM_Hof/2023-10-31/18-47-51.mp4
2023.10.31 18:51:13 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Too Many Requests: retry after 14: from SendIt
2023.10.31 18:51:13 3: TelegramBot_Callback Telegram: Reached max retries (ret: Callback returned error :Too Many Requests: retry after 14:) for msg #Kamera : /etc/motioneye/CAM/CAM_Hof/2023-10-31/18-48-36-00.jpg
Scheinbar sendent mein MotionEye zu viele bilder welche nicht verarbeitet werden können?
Auf wie viele pro Secunde sollte ich dies begrenzen?
Danke.
Gruß
Max
@MadMax: es gibt wohl aktuell folgende Grenzen fürs Bot API:
https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this (https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this)
When sending messages inside a particular chat, avoid sending more than one message per second. We may allow short bursts that go over this limit, but eventually you'll begin receiving 429 errors.
If you're sending bulk notifications to multiple users, the API will not allow more than 30 messages per second or so. Consider spreading out notifications over large intervals of 8—12 hours for best results.
Also note that your bot will not be able to send more than 20 messages per minute to the same group.
Ok, danke.
Ich sende halt Kamerabilder bei Bewegung von zwei Kameras, da kommt halt einiges zusammen.
Die Bilder werden aber später nachgesendt also nicht so schlimm.
Hallo zusammen, heute hatte ich mal wieder einen Internetausfall. Dabei war FHEM mal wieder nur sporadisch "erreichbar".
Diesmal habe ich mich ausgiebig auf die Suche gemacht und den TelegramBot als Übeltäter ausgemacht.
Dieser blockiert FHEM und macht es unbedienbar, wenn kein Internet mehr vorhanden ist.
Ich habe nun "attr global dnsServer x.x.x.x" enstprechend in die Config mit meinem internen DNS gesetzt.
Reicht das schon als Abhilfe oder muss man den TelegramBot per notify wirklich "disablen" am besten?
Danke für Eure Hilfe.
Zitat von: Adriano am 05 Dezember 2023, 16:32:13Hallo zusammen, heute hatte ich mal wieder einen Internetausfall. Dabei war FHEM mal wieder nur sporadisch "erreichbar".
Diesmal habe ich mich ausgiebig auf die Suche gemacht und den TelegramBot als Übeltäter ausgemacht.
Dieser blockiert FHEM und macht es unbedienbar, wenn kein Internet mehr vorhanden ist.
Ich habe nun "attr global dnsServer x.x.x.x" enstprechend in die Config mit meinem internen DNS gesetzt.
Reicht das schon als Abhilfe oder muss man den TelegramBot per notify wirklich "disablen" am besten?
Danke für Eure Hilfe.
Ein paar Anmerkungen: Aufgrund der Architektur von FHEM wird bei einem Internetausfall jedes Modul blockieren, dass eine Namensauflösung (direkt in FHEM) versucht, ohne dass das DNS-Attribut gesetzt ist. Blockieren heisst an dieser Stelle eben, dass FHEM keine anderen Dinge mehr abarbeiten kann.
Die Lösung dafür ist genau das dnsServer Attribut. Diese "Abhilfe" hat übrigens erstmal nichts mit dem "Übeltäter" TelegramBot zu tun, sondern ist Teil der FHEM-Infrastruktur. Wenn bei Dir nur der TelegramBot aufs Internet zugreift (bzw. Namensauflösung macht) ist halt auch nur der TelegramBot betroffen, trotzdem macht es Sinn das Attribut zu setzen.
Vielen Dank für die Erklärung. Und sorry an TelegramBot ;)
Zitat von: MadMax am 31 Oktober 2023, 19:23:16Hallo,
ich bin von einem PI4B auf ein leistungsstärkeres Gerät umgestiegen.
Seit dem bekomme ich diese Meldungen im LOG.
2023.10.31 18:50:27 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Too Many Requests: retry after 3: from SendIt
2023.10.31 18:50:27 3: TelegramBot_Callback Telegram: Reached max retries (ret: Callback returned error :Too Many Requests: retry after 3:) for msg #Kamera : /etc/motioneye/CAM/CAM_Hof/2023-10-31/18-47-57-00.jpg
2023.10.31 18:50:56 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Too Many Requests: retry after 31: from SendIt
2023.10.31 18:50:56 3: TelegramBot_Callback Telegram: Reached max retries (ret: Callback returned error :Too Many Requests: retry after 31:) for msg #Kamera : /etc/motioneye/CAM/CAM_Hof/2023-10-31/18-48-32-00.jpg
2023.10.31 18:51:12 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Too Many Requests: retry after 15: from SendIt
2023.10.31 18:51:12 3: TelegramBot_Callback Telegram: Reached max retries (ret: Callback returned error :Too Many Requests: retry after 15:) for msg #Kamera : /etc/motioneye/CAM/CAM_Hof/2023-10-31/18-47-51.mp4
2023.10.31 18:51:13 3: TelegramBot_Callback Telegram: resulted in Callback returned error :Too Many Requests: retry after 14: from SendIt
2023.10.31 18:51:13 3: TelegramBot_Callback Telegram: Reached max retries (ret: Callback returned error :Too Many Requests: retry after 14:) for msg #Kamera : /etc/motioneye/CAM/CAM_Hof/2023-10-31/18-48-36-00.jpg
Scheinbar sendent mein MotionEye zu viele bilder welche nicht verarbeitet werden können?
Auf wie viele pro Secunde sollte ich dies begrenzen?
Danke.
Gruß
Max
Hi Ich hatte am 18.12 auch einen Eintrag der so angefangen hat:
2023.12.18 11:57:59 3: TelegramBot_Callback Telegram: Reached max retries (ret: Callback returned error :Internal Server Error:) for msg -22xxxxxx21 :
Nur darauf folgte dann eitwas was mich etwas umgehauen hat:
����␐JFIF␁␁␁␁��C
␋
␈
␋
␋␎␎
␏␓ ␕␓␒␒␓'␜␞␗ .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQRO��C␁␎␎␎␓␑␓&␕␕&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO��␑␈␈p␏␃␁"␂␑␁␃␑␁��␟␁␅␁␁␁␁␁␁␁␂␃␄␅␆␇␈
␋���␐␂␁␃␃␂␄␃␅␅␄␄␁}␁␂␃␄␑␅␒!1A␆␓Qa␇"q␔2���␈#B��␕R��$3br�
␖␗␘␙␚%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz���������������������������������������������������������������������������␟␁␃␁␁␁␁␁␁␁␁␁␁␂␃␄␅␆␇␈
␋���␑␂␁␂␄␄␃␄␇␅␄␄␁␂w␁␂␃␑␄␅!1␆␒AQ␇aq␓"2�␈␔B���� #3R�␕br�
␖$4�%�␗␘␙␚&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������␌␃␁␂␑␃␑?���B�l�3�v�YHb�␒_4␑����}Y���␐�␕␟�\��QC-�ۻ���c ␎������kj^+��ɼ��ǧ?���Xne9�lr�ک�����i␛���`�,�Y��␛��-��Ȇ>7�*穮��O��cQu#JǠA�~��GI6�l?�w2␇�␏ݠ�ι��P��y��ǁ�URnܨ���˴�aS�<��JYR+��|��␑&rG\�BUP(\Tq����W␄�<c�Y␒C␐/(��/�sR#Z5��␞4�␈U�?\␚s�ʀ�<�#␟�0��E����␞␕*�c��֑␁
��␈�2�~R�␂␅<�␃����Iqu␕�␇
!�'��k�␎M9D�P�2�T-�␏��]0���"�#��#!��g␃mM��␛���2�d���z��␚��C77␋�
�:�9`�ӓ`-ss&�\���K��r␝cL���␝�L:�␕b�{��k�uʣ␕#ֺ␏␓� ��3ngp����=m�␛{␙-����␎k(M�r�\���K`-�␏z␎␎�Z:~�|�.��,��'��>���z� $�����8n���t��ܞ��p�%',M-$_<J��␂�3�␅␙5�̮2F�(ޟgs��w:ϧ�␛|���␓ӌ����5���M�Q��y�����9\�'����A�b�����k���!���a�j�␞�␃␕ԣ3�/␐��WD�)v�V␚␅+a#.�␇ZlҤ 3��=j��ח�␞IV␘�/S����Ÿ�`L`�z��␂,h���)j��QE␔␈(��(��(��(��(��(��(��(��(��(��(��C
(����(�␂�(���(��(�␚(��␖�J(��(��(�(�␂�(�␂�(�␂�(�aE␔S��(��)QE␔�(��(��(��(��(��@␔QE␔QE␔QE␔QE␔QE␔QE␔QE␔QE␔QE␔QE␂
(��
(���␔Q@��(�aE␔s@␅␔Q@␅␔Q@␅␔Q@␅␔Q@��(�␁E␔P0��(��(��(��(␘QE␔QE␔QE␔QE␔␈(��(��(��(��(��(��(��J(��
(��␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔Q@␅␔QHaE␔S��(␐�QE!�E␔S␐QE␔QE␔QE␔�QE␔QE
(��␅␔Q@␅␔Q@␅␔Q@␅␔QHaE␔P␁E␔S␐QE␔QE␔␌(��(��␄␔QE ␟␌fIUAǩ�7�␚��՞���`�]�00�␂s�␇�k��o�H�'��٤R��␇␟��W�D�ٝ�;gq,s�y�␈�␒��2ǚ�␃␜g�Nv�`t�b�$T6h�6qy�����Q��␑�Lp��E��{֣ʶ␚t�$�G�c␕�ƥ�␔�jH�k��E20�<}+U�␝�6␈D␐�␜␝���J���W���\%��h���!��z��H���␜␅␙�OS�:��$��␎␔{PI␈'␜��(��Ť���
(��␐�M8�M ␛E␔P␂␚i�␚C@␌aSٮ���5 �6]e�w��␄ԴR���
ZZQIK@␋E␔U␈QN��N�␔����QE-␔Q@␋E␔P␂�E␔����QE␔�QE␔QE-␔Q@␇��␚(��␖���8����3@ �=␘ө6�?*��4��
(��
���B6␞�q)�n�S��/4�������␎�~'a��Qԗ␟��'�␃�␕␝f␁E␔UQE␔Q��␁>�Q@�9۟�Nii0=)h��(� P�*��5␝Inqp���*ò�-���[q␇ߓV�W���3(��t�␞�<Վ��kQ␞�␒��r}ii�����(␂␂~w␞�@�R���[�\�␐?�H␅8Q@��p'����␙��fϏp�␕q�Xm..␜�aM��~�B�D��6��e�d␟�?Ҧ��␅�q�1mh␅������>h␃␗[��␈l��n��t�v�r␇�Y$|�␇e␃w}6�!��␕␟^�␝��F�a��.������+_I��5?q␃␜wc]���
+GH$`�.wJGOa�W1�␓�j�nF�␞t��1���u��R^Fcހ"␔�QL␂�(�␁E␔P␁E␔P␁E␔}(��(��(������Z� �噮xO/�<{��`,�~��-�Fm?␑^/;@�A��}jؾ��W␞m��Y�����V≼đ@x�é��p9
+[��q
Und ich weiß nicht wie lang diser Eintrag war, hat aber ca 10Sek gedauert bis die Log geladen war... also ca 17 Meter lang...
Nur Motion Eye habe ich nicht... HAbe also keine Ahnung wo das her kam....
Hallo,
verstehe ich das richtig, dass der TelegramBot als blocking device ausgeführt ist?
Jedesmal wenn der Telegram-Server etwas länger auf sich warten lässt, bekomme ich bei meinem Homematic-Device einen ACK-Timeout... Aber komischerweise immer nur bei einem, und auch nicht verlässlich...
Was kann das sonst noch sein?
Was heißt länger auf sich warten lässt?
Attribut dnsServer in global gesetzt?
Wenn nicht, blockiert die Namensauflösung, falls es mal Internetprobleme gibt...
Betrifft dann aber nicht nur Telegram, sondern alles was von fhem aus ins Internet "ruft"...
Gab es ein paar Posts vorher schon mal...
Gruß, Joachim
Hallo MadMax,
sorry dass ich so spät antworte
Zitat von: MadMax-FHEM am 31 Dezember 2023, 13:11:14Was heißt länger auf sich warten lässt?
Das heißt, wenn das Warten auf die Antwort den FHEM-Server länger blockiert, als z.B. das Auswerten einer Quittung der Homematic-Komponenten dauert (weil zuvor ein
set ... on ausgeführt worden ist) ...
Zitat von: MadMax-FHEM am 31 Dezember 2023, 13:11:14Attribut dnsServer in global gesetzt?
Ja, schon seit gut einer Woche...
Mich wundert, dass es immer nur einen meiner 6 Aktoren betrifft, nie alle zusammen (was ja wiederum gegen die Theorie mit dem blockieren durch TelegramBot spricht).
Wenn es ein Funkproblem wäre, müssten ja alle Aktoren gleichzeitig den Ausfall zeigen, aber das ist auch nicht so. Außerdem betrifft es auch den Aktor, der Luftlinie maximal 3m weit weg ist.
Ich habe mir jetzt mal die RSSI-Werte aller Komponenten mitloggen lassen... vielleicht sieht man dann was...
Viele Grüße
Wolfgang
Soweit ich weiß ist Telegram "non-Blocking"?
Einzig ist/könnte eben die Namensauflösung/DNS sein, daher -> dnsServer Attribut.
So ganz verstehe ich immer noch nicht wann was wo warum hängt?
Aber ich denke es ist/hat nichts mit Telegram und dem Modul hier zu tun?
Bei Homematic gibt es auch andere Dinge die man abfragen kann, z.B. Telegrammwiederholungen usw.
Weil RSSI mag ja gut sein aber wenn es Störungen gibt, die in der "funktechnisch starken Anbindung" trotzdem Auftreten, dann hilft eine "starke Verbindung" auch nichts.
Mehr zeigt RSSI ja nicht...
https://wiki.fhem.de/wiki/HMinfo
Bzw.: https://wiki.fhem.de/wiki/HMinfo#protoEvents
Daher besser einen losgelösten Thread aufmachen?
Bei Homematic, falls es nur bei Homematic auftritt?
Und wenn es das doch nicht ist, sondern doch Telegram, dann halt wieder hierher 8)
Gruß, Joachim
Hallo,
ich möchte gerne bei Telegramm verschiedene Favoriten anlegen.
Die einfachen Schaltbefehle funktionieren auch ohne Probleme.
Nun möchte ich aber an einen ESP einen Befehl Schicken.
In Fhem lautet dieser: set ESPEasy_1 25,1,50
Wenn ich den bei den Favoriten hinterlege führt dies dann zu dieser Fehlermeldung:
TelegramBot FHEM - Befehl:set set ESPEasy_1 25,1,50: - Ergebnis:
Unknown argument 25,1,50, choose one of active:noArg adminpassword buzzer candle clearreadings:noArg deepsleep dmx dots erase:noArg event gpio help:active, .......
Wie muss ich dies hinterlegen, dass es funktioniert?
Hallo,
ich habe bei meinem TelegramBot ein merkwürdiges Verhalten festgestellt...
Nach einigen Neustarts des FHEM-Servers konnte ich zwar Nachrichten rausschicken, aber es wurde nichts mehr empfangen.
Als ich das Attribut allowUnknownContacts probehalber auf 0 gestellt habe, konnte ich Nachrichten empfangen und darauf reagieren. Danach wieder auf 1 gestellt und es läuft trotzdem noch...
Komisch, oder?
Warum stellst du allowUnknownContacts auf 1?
Ich würde (und tue ich auch) "Unbekannte" draussen lassen...
Also auf 0 stellen...
Außer ich will einen neuen (bislang unbekannten) Kontakt aufnehmen/zulassen...
Gruß, Joachim
P.S.: ich würde meinen dass das bei dir nur zufällig mit dem Umstellen des Attributes zzsammenfiel, also nicht gehen/wieder gehen...
Hallo MadMax,
ich glaube kaum, dass es Zufall war, weil ich seit gestern abend um 20 Uhr bis weit nach Mitternacht, und auch heute früh das Ding nicht zum Laufen gebracht habe. Zumal im Log auch was drinnestand, von wegen der Kontakt wäre blocked:
Ich weiß nicht, ob das ausreicht:
2024.01.20 11:43:32 5: TelegramBot_Callback teleBot: called from Polling
2024.01.20 11:43:32 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":[{"update_id":@@@@@@,
"message":{"message_id":@@@@@@,"from":{"id":@@@@@@,"is_bot":false,"first_name":"Petra"},"chat":{"id":-@@@@@@,"title":"Wowo und Petra","type":"supergroup"},"date":@@@@@@,"message_thread_id":@@@@@@,"reply_to_message":{"message_id":@@@@@@,"from":{"id":@@@@@@,"is_bot":true,"first_name":"Wowogiengen Heimautomation","username":"wowogiengen1bot"},"chat":{"id":-@@@@@@,"title":"Wowo und Petra","type":"supergroup"},"date":@@@@@@,"text":"TelegramBot FHEM : -@@@@@@\n Favoriten"},"text":"Short3 = set AlleRolladen Auf"}}]}:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: found an ARRAY
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :Petra: to :Petra:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :0: to :0:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :wowogiengen1bot: to :wowogiengen1bot:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :Wowogiengen Heimautomation: to :Wowogiengen Heimautomation:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :Wowo und Petra: to :Wowo und Petra:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :supergroup: to :supergroup:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :-@@@@@@: to :-@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :TelegramBot FHEM : -@@@@@@
Favoriten: to :TelegramBot FHEM : -@@@@@@
Favoriten:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :Short3 = set AlleRolladen Auf: to :Short3 = set AlleRolladen Auf:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :-@@@@@@: to :-@@@@@@:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :Wowo und Petra: to :Wowo und Petra:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: encoded a String from :supergroup: to :supergroup:
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:43:32 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:43:32 5: TelegramBot_Callback teleBot: after encoding
2024.01.20 11:43:32 5: TelegramBot_Callback teleBot: polling returned result? 1
2024.01.20 11:43:32 5: UpdatePoll teleBot: number of results 1
2024.01.20 11:43:32 5: UpdatePoll teleBot: parse result
2024.01.20 11:43:32 3: TelegramBot teleBot: Message from unknown Contact (id:@@@@@@: name:Petra:) blocked
2024.01.20 11:43:32 5: TelegramBot_UpdatePoll teleBot: called
2024.01.20 11:43:32 5: TelegramBot_UpdatePoll teleBot: - Initiate non blocking polling - With callback set
2024.01.20 11:43:32 5: TelegramBot_readToken: Read Telegram API token from file
2024.01.20 11:43:32 4: TelegramBot_UpdatePoll teleBot: initiate polling with nonblockingGet with 20s
2024.01.20 11:43:32 5: TelegramBot_UpdatePoll teleBot: - Ende > next polling started
2024.01.20 11:43:32 2: TelegramBot_Callback teleBot: resulted in SUCCESS from Polling
2024.01.20 11:43:32 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
Ich hab mal alle IDs maskiert, wegen Datenschutz und so...
Wenns funktioniert sieht es so aus
2024.01.20 11:55:43 5: TelegramBot_Callback teleBot: called from Polling
2024.01.20 11:55:43 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":[{"update_id":@@@@@@,
"message":{"message_id":@@@@@@,"from":{"id":@@@@@@,"is_bot":false,"first_name":"Wolfgang","username":"wowogiengen","language_code":"de"},"chat":{"id":-@@@@@@,"title":"Wowo und Petra","type":"supergroup"},"date":@@@@@@,"message_thread_id":@@@@@@,"reply_to_message":{"message_id":@@@@@@,"from":{"id":@@@@@@,"is_bot":true,"first_name":"Wowogiengen Heimautomation","username":"wowogiengen1bot"},"chat":{"id":-@@@@@@,"title":"Wowo und Petra","type":"supergroup"},"date":@@@@@@,"text":"TelegramBot FHEM : -@@@@@@\n Favoriten"},"text":"Short10 = set RolladenBuero pct 60"}}]}:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: found an ARRAY
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :wowogiengen: to :wowogiengen:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :Wolfgang: to :Wolfgang:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :de: to :de:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :0: to :0:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :wowogiengen1bot: to :wowogiengen1bot:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :Wowogiengen Heimautomation: to :Wowogiengen Heimautomation:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :TelegramBot FHEM : -@@@@@@
Favoriten: to :TelegramBot FHEM : -@@@@@@
Favoriten:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :Wowo und Petra: to :Wowo und Petra:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :supergroup: to :supergroup:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :-@@@@@@: to :-@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :Short10 = set RolladenBuero pct 60: to :Short10 = set RolladenBuero pct 60:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :supergroup: to :supergroup:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :Wowo und Petra: to :Wowo und Petra:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :-@@@@@@: to :-@@@@@@:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2024.01.20 11:55:43 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:43 5: TelegramBot_Callback teleBot: after encoding
2024.01.20 11:55:43 5: TelegramBot_Callback teleBot: polling returned result? 1
2024.01.20 11:55:43 5: UpdatePoll teleBot: number of results 1
2024.01.20 11:55:43 5: UpdatePoll teleBot: parse result
2024.01.20 11:55:43 3: TelegramBot teleBot: Found from id in message - id : @@@@@@
2024.01.20 11:55:43 4: TelegramBot_ParseMsg teleBot: Textmessage
2024.01.20 11:55:43 4: TelegramBot_ParseMsg teleBot: text :Short10 = set RolladenBuero pct 60:
2024.01.20 11:55:43 4: TelegramBot_ContactUpdate # Contacts in hash before :2:
2024.01.20 11:55:43 3: TelegramBot_ContactUpdate new contact :-@@@@@@::#Wowo_und_Petra:
2024.01.20 11:55:43 4: TelegramBot_ContactUpdate # Contacts in hash after :2:
2024.01.20 11:55:43 4: TelegramBot_GetFullnameForContact # Contacts is @@@@@@:Wolfgang:@wowogiengen:
2024.01.20 11:55:43 4: TelegramBot_GetFullnameForContact # name is Wolfgang
2024.01.20 11:55:43 4: TelegramBot_GetFullnameForContact # Contacts is <undef>
2024.01.20 11:55:43 5: TelegramBot_Set teleBot: called
2024.01.20 11:55:43 5: TelegramBot_Set teleBot: called
2024.01.20 11:55:43 5: TelegramBot_checkAllowedPeer teleBot: called with @@@@@@
2024.01.20 11:55:43 5: TelegramBot_checkAllowedPeer teleBot: called with -@@@@@@
2024.01.20 11:55:43 4: TelegramBot_SendFavorites cmd correct peer
2024.01.20 11:55:43 4: TelegramBot_SendFavorites cmd :10 = set RolladenBuero pct 60: peer :@@@@@@: aliasExec :0
2024.01.20 11:55:43 5: TelegramBot_SendFavorites parsed cmdFavId :10 cmdaddition :<undef>:
2024.01.20 11:55:43 4: TelegramBot_SendFavorites exec cmd :9:
2024.01.20 11:55:43 4: TelegramBot_SplitFavoriteDef cmd :set RolladenBuero pct 60:
alias :<undef>: desc :<undef>: parsecmd :set RolladenBuero pct 60: confirm: 0: result: 0: hidden: 0
2024.01.20 11:55:43 4: TelegramBot_GetFullnameForContact # Contacts is @@@@@@:Wolfgang:@wowogiengen:
2024.01.20 11:55:43 4: TelegramBot_GetFullnameForContact # name is Wolfgang
2024.01.20 11:55:43 5: TelegramBot_ExecuteCommand final cmd for analyze :set RolladenBuero pct 60:
2024.01.20 11:55:43 4: authorize teleBot/cmd/set: allowedTelnet returned dont care
2024.01.20 11:55:43 4: authorize teleBot/cmd/set: allowed_WEB returned dont care
2024.01.20 11:55:43 4: authorize teleBot/cmd/set: allowed_telnetPort returned dont care
2024.01.20 11:55:43 4: authorize teleBot/cmd/set: weballow returned dont care
2024.01.20 11:55:43 4: authorize teleBot/devicename/RolladenBuero: allowedTelnet returned dont care
2024.01.20 11:55:43 4: authorize teleBot/devicename/RolladenBuero: allowed_WEB returned dont care
2024.01.20 11:55:43 4: authorize teleBot/devicename/RolladenBuero: allowed_telnetPort returned dont care
2024.01.20 11:55:43 4: authorize teleBot/devicename/RolladenBuero: weballow returned dont care
2024.01.20 11:55:44 4: TelegramBot_ExecuteCommand result for analyze :<undef>:
2024.01.20 11:55:44 5: TelegramBot_ExecuteCommand teleBot: TelegramBot FHEM - Wolfgang Befehl:set RolladenBuero pct 60: - Ergebnis:\nOK:
2024.01.20 11:55:44 5: TelegramBot_SendIt teleBot: called
2024.01.20 11:55:44 5: TelegramBot_SendIt teleBot: try to send message to :-@@@@@@: -:TelegramBot FHEM - Wolfgang Befehl:set RolladenBuero pct 60: - Ergebnis:\nOK: - add :<undef>: - replyid :<undef>:: options ::
2024.01.20 11:55:44 4: TelegramBot_GetFullnameForContact # Contacts is <undef>
2024.01.20 11:55:44 5: TelegramBot_readToken: Read Telegram API token from file
2024.01.20 11:55:44 4: TelegramBot_SendIt parseMode 0
2024.01.20 11:55:44 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"
-@@@@@@
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"
TelegramBot FHEM - Wolfgang Befehl:set RolladenBuero pct 60: - Ergebnis:
OK
--TelegramBot_boundary-x0123--:
2024.01.20 11:55:44 4: TelegramBot_SendIt teleBot: timeout for sent :30:
2024.01.20 11:55:44 4: TelegramBot_ParseMsg teleBot: SendFavorites returned :TelegramBot FHEM - Wolfgang Befehl:set RolladenBuero pct 60: - Ergebnis:\nOK:
2024.01.20 11:55:44 5: TelegramBot_UpdatePoll teleBot: called
2024.01.20 11:55:44 5: TelegramBot_UpdatePoll teleBot: - Initiate non blocking polling - With callback set
2024.01.20 11:55:44 5: TelegramBot_readToken: Read Telegram API token from file
2024.01.20 11:55:44 4: TelegramBot_UpdatePoll teleBot: initiate polling with nonblockingGet with 20s
2024.01.20 11:55:44 5: TelegramBot_UpdatePoll teleBot: - Ende > next polling started
2024.01.20 11:55:44 2: TelegramBot_Callback teleBot: resulted in SUCCESS from Polling
2024.01.20 11:55:44 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
2024.01.20 11:55:44 5: TelegramBot_Callback teleBot: called from SendIt
2024.01.20 11:55:44 5: TelegramBot_Callback teleBot: data returned :{"ok":true,"result":{"message_id":@@@@@@,"from":{"id":@@@@@@,"is_bot":true,"first_name":"Wowogiengen Heimautomation","username":"wowogiengen1bot"},"chat":{"id":-@@@@@@,"title":"Wowo und Petra","type":"supergroup"},"date":@@@@@@,"text":"TelegramBot FHEM - Wolfgang Befehl:set RolladenBuero pct 60: - Ergebnis:\nOK"}}:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :TelegramBot FHEM - Wolfgang Befehl:set RolladenBuero pct 60: - Ergebnis:
OK: to :TelegramBot FHEM - Wolfgang Befehl:set RolladenBuero pct 60: - Ergebnis:
OK:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :-@@@@@@: to :-@@@@@@:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :supergroup: to :supergroup:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :Wowo und Petra: to :Wowo und Petra:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :wowogiengen1bot: to :wowogiengen1bot:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :Wowogiengen Heimautomation: to :Wowogiengen Heimautomation:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :1: to :1:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: encoded a String from :@@@@@@: to :@@@@@@:
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:44 5: TelegramBot_Deepencode teleBot: found a HASH
2024.01.20 11:55:44 5: TelegramBot_Callback teleBot: after encoding
2024.01.20 11:55:44 5: TelegramBot_Callback teleBot: resulted in SUCCESS from SendIt
2024.01.20 11:55:44 5: TelegramBot_Set teleBot: called
2024.01.20 11:55:44 5: TelegramBot_Set teleBot: called
2024.01.20 11:55:44 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
2024.01.20 11:55:59 5: TelegramBot_Callback teleBot: called from Polling
2024.01.20 11:55:59 5: TelegramBot_Callback teleBot: polling returned result? <undef>
2024.01.20 11:55:59 5: TelegramBot_Set teleBot: called
2024.01.20 11:55:59 5: TelegramBot_Set teleBot: called
2024.01.20 11:55:59 5: TelegramBot_Set teleBot: called
2024.01.20 11:55:59 5: TelegramBot_Set teleBot: called
2024.01.20 11:55:59 5: TelegramBot_UpdatePoll teleBot: called
2024.01.20 11:55:59 5: TelegramBot_UpdatePoll teleBot: - Initiate non blocking polling - With callback set
2024.01.20 11:55:59 5: TelegramBot_readToken: Read Telegram API token from file
2024.01.20 11:55:59 4: TelegramBot_UpdatePoll teleBot: initiate polling with nonblockingGet with 20s
2024.01.20 11:55:59 5: TelegramBot_UpdatePoll teleBot: - Ende > next polling started
2024.01.20 11:55:59 2: TelegramBot_Callback teleBot: resulted in NonBlockingGet timed out on read from https://api.telegram.org/bot@@@@@@:@@@@@@/getUpdates?offset=945503407&limit=5&timeout=20 after 45s from Polling
2024.01.20 11:55:59 5: TelegramBot_Callback teleBot: - Ende > Control back to FHEM
Viele Grüße und Danke für die Hilfe
Andersrum, also von 0 auf 1 könnte ich mir erklären aber eben nicht von 1 auf 0...
Annahme: kein Contact eingetragen oder dein Contact (warum auch immer) geblockt. Mit allowUnkownContacts auf 1 (was du ja "dauerhaft" hast/hattest) würden alle Contacts zugelassen, so auch "du"...
Wenn das der Fall wäre und du setzt es auf 0, dann bleibt alles geblockt...
Warum sollte es dann plötzlich gehen?
Hast du contacts in deinem Device eingetragen?
EDIT: zu den Logs etc. muss sich wohl der Entwickler äußern...
Gruß, Joachim
Hallo,
hier die komplette Definition, Wieder mit # und @ maskierte persönliche Infos...
define teleBot TelegramBot
attr teleBot .* 1
attr teleBot allowChannels 1
attr teleBot allowUnknownContacts 0
attr teleBot cmdFavorites Short
attr teleBot cmdKeyword ok
attr teleBot cmdRestrictedPeer #1 #2 #3 -#4 -#5
attr teleBot defaultPeer -#4
attr teleBot defaultPeerCopy 0
attr teleBot disable 0
attr teleBot favorites set RolladenWohnzimmer Auf;;set RolladenWohnzimmer up 5;;set RolladenWohnzimmer pct 75;;set RolladenWohnzimmer down 5;;set RolladenWohnzimmer Zu;;set AlleRolladen Auf;;set AlleRolladen Zu;;set RolladenBuero Auf;;set RolladenBuero Zu;;set RolladenBuero pct 60;;set HzgSetBad desired-temp 22;;set HzgSetBad desired-temp 29
attr teleBot pollingTimeout 20
attr teleBot pollingVerbose 2_Log
attr teleBot room telebot,Büro,System
attr teleBot textResponseCommands ich versuchs
attr teleBot verbose 2
# FAILS 0
# FUUID 5ce84ebd-f33f-a625-84bb-c98bb616e2802210
# NAME teleBot
# NR 94
# OLD_POLLING 235
# POLLING 235
# SNAME teleBot
# STATE Polling
# TYPE TelegramBot
# UPDATER 0
# WAIT 0
# eventCount 201
# me 394885093:Wowogiengen_Heimautomation:@wowogiengen1bot
# offset_id 945503425
# sentLastResult SUCCESS
# sentMsgId 7932
# sentMsgOptions -msgid-
# sentMsgPeer #Wowo_und_Petra
# sentMsgPeerId -#4
# sentMsgResult SUCCESS
# sentMsgText TelegramBot FHEM : #3(-#4)\n Favoriten \n
# sourceVersion $Id: 50_TelegramBot.pm 27218 2023-02-13 22:45:48Z viegener $
# AliasCmds:
# Contacts:
# -#4 -#4::#Wowo_und_Petra
# -#5 -#5::#Heimautomation
# #1 #1:Petra:
# #3 #3:Wolfgang:@wowogiengen
# HU_DO_PARAMS:
# NAME
# addr https://api.telegram.org:443
# auth 0
# boundary TelegramBot_boundary-x0123
# buf
# code 200
# compress 1
# conn
# data
# displayurl <hidden>
# header agent: TelegramBot/1.0
#User-Agent: TelegramBot/1.0
#Accept: application/json
#Accept-Charset: utf-8
#Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
# hideurl 1
# host api.telegram.org
# httpheader HTTP/1.1 200 OK
#Server: nginx/1.18.0
#Date: Sat, 20 Jan 2024 11:07:58 GMT
#Content-Type: application/json
#Content-Length: 307
#Connection: close
#Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
#Access-Control-Allow-Origin: *
#Access-Control-Allow-Methods: GET, POST, OPTIONS
#Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
# hu_blocking 0
# hu_filecount 12
# hu_port 443
# hu_portSfx
# loglevel 4
# method POST
# path /bot394885093:AAHTznK0C8F0x-c98gVtXg0aqm5TXe8nFew/sendMessage
# protocol https
# redirects 0
# timeout 30
# url https://api.telegram.org/bot#########:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/sendMessage
# args:
# -#4
# TelegramBot FHEM : #3(-#4)\n Favoriten \n
# {"one_time_keyboard":true,"keyboard":[["Short1 = set RolladenWohnzimmer Auf"],["Short2 = set RolladenWohnzimmer up 5"],["Short3 = set RolladenWohnzimmer pct 75"],["Short4 = set RolladenWohnzimmer down 5"],["Short5 = set RolladenWohnzimmer Zu"],["Short6 = set AlleRolladen Auf"],["Short7 = set AlleRolladen Zu"],["Short8 = set RolladenBuero Auf"],["Short9 = set RolladenBuero Zu"],["Short10 = set RolladenBuero pct 60"],["Short11 = set HzgSetBad desired-temp 22"],["Short12 = set HzgSetBad desired-temp 29"]]}
# 0
# undef
# -msgid-
# 1
# hash:
# sslargs:
# HU_UPD_PARAMS:
# FD 20
# 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 275
# hu_inProgress TelegramBot_UpdatePoll:2435 TelegramBot_Callback:755 __ANON__:783
# hu_port 443
# hu_portSfx
# isPolling update
# loglevel 4
# method GET
# offset 945503425
# path /bot394885093:AAHTznK0C8F0x-c98gVtXg0aqm5TXe8nFew/getUpdates?offset=945503425&limit=5&timeout=20
# protocol https
# redirects 0
# timeout 45
# url https://api.telegram.org/bot#########:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/getUpdates?offset=945503425&limit=5&timeout=20
# hash:
# sslargs:
# READINGS:
# 2024-01-20 12:07:58 Contacts -#4::#Wowo_und_Petra -#5::#Heimautomation #3:Wolfgang:@wowogiengen #1:Petra:
# 2024-01-20 12:31:42 PollingErrCount 84
# 2024-01-20 12:31:42 PollingLastError NonBlockingGet: returned connect to https://api.telegram.org:443 timed out
# 2024-01-20 12:07:58 msgChat #Wowo_und_Petra
# 2024-01-20 12:07:58 msgChatId -#4
# 2024-01-20 12:07:58 msgDate 2024-01-20 12:07:58
# 2024-01-20 12:07:58 msgFileId
# 2024-01-20 12:07:58 msgId 7931
# 2024-01-20 12:07:58 msgPeer Wolfgang
# 2024-01-20 12:07:58 msgPeerId #3
# 2024-01-20 12:07:58 msgReplyMsgId
# 2024-01-20 12:07:58 msgText Short
# 2024-01-20 12:07:58 prevMsgChat #Wowo_und_Petra
# 2024-01-20 12:07:58 prevMsgDate 2024-01-20 12:07:53
# 2024-01-20 12:07:58 prevMsgFileId
# 2024-01-20 12:07:58 prevMsgId 7930
# 2024-01-20 12:07:58 prevMsgPeer Wolfgang
# 2024-01-20 12:07:58 prevMsgPeerId #3
# 2024-01-20 12:07:58 prevMsgReplyMsgId
# 2024-01-20 12:07:58 prevMsgText wenn du nur Short schreibst aktualisiert er die kommandos
# 2024-01-20 12:07:58 sentMsgId 7932
# 2024-01-20 12:07:58 sentMsgPeerId -#4
# 2024-01-20 12:07:58 sentMsgResult SUCCESS
# inlinechats:
# sentQueue:
#
setstate teleBot Polling
setstate teleBot 2024-01-20 12:07:58 Contacts -#4::#Wowo_und_Petra -#5::#Heimautomation #3:Wolfgang:@wowogiengen #1:Petra:
setstate teleBot 2024-01-20 12:31:42 PollingErrCount 84
setstate teleBot 2024-01-20 12:31:42 PollingLastError NonBlockingGet: returned connect to https://api.telegram.org:443 timed out
setstate teleBot 2024-01-20 12:07:58 msgChat #Wowo_und_Petra
setstate teleBot 2024-01-20 12:07:58 msgChatId -#4
setstate teleBot 2024-01-20 12:07:58 msgDate 2024-01-20 12:07:58
setstate teleBot 2024-01-20 12:07:58 msgFileId
setstate teleBot 2024-01-20 12:07:58 msgId 7931
setstate teleBot 2024-01-20 12:07:58 msgPeer Wolfgang
setstate teleBot 2024-01-20 12:07:58 msgPeerId #3
setstate teleBot 2024-01-20 12:07:58 msgReplyMsgId
setstate teleBot 2024-01-20 12:07:58 msgText Short
setstate teleBot 2024-01-20 12:07:58 prevMsgChat #Wowo_und_Petra
setstate teleBot 2024-01-20 12:07:58 prevMsgDate 2024-01-20 12:07:53
setstate teleBot 2024-01-20 12:07:58 prevMsgFileId
setstate teleBot 2024-01-20 12:07:58 prevMsgId 7930
setstate teleBot 2024-01-20 12:07:58 prevMsgPeer Wolfgang
setstate teleBot 2024-01-20 12:07:58 prevMsgPeerId #3
setstate teleBot 2024-01-20 12:07:58 prevMsgReplyMsgId
setstate teleBot 2024-01-20 12:07:58 prevMsgText wenn du nur Short schreibst aktualisiert er die kommandos
setstate teleBot 2024-01-20 12:07:58 sentMsgId 7932
setstate teleBot 2024-01-20 12:07:58 sentMsgPeerId -#4
setstate teleBot 2024-01-20 12:07:58 sentMsgResult SUCCESS
Ich habe das so eingestellt, wie im Wiki und im Forum gefunden...
attr teleBot allowChannels 1
attr teleBot allowUnknownContacts 0
attr teleBot cmdRestrictedPeer #1 #2 #3 -#4 -#5
Und so hat es wochenlang funktioniert, von der Telegram-App unter Android genauso wie unter Windows...
Und dann gestern nicht mehr, bis ich allowUnknownContacts auf 1 gesetzt habe, dann konnte jeder was an den bot senden, und als ich es dann wieder auf 0 gesetzt habe, immer noch, also wie früher...
Also doch von 0 auf 1 und nicht wie du zuerst geschrieben hattest...
Zitat von: wowogiengen am 20 Januar 2024, 12:15:30Als ich das Attribut allowUnknownContacts probehalber auf 0 gestellt habe, konnte ich Nachrichten empfangen und darauf reagieren. Danach wieder auf 1 gestellt und es läuft trotzdem noch...
Komisch, oder?
So hatte ich ja eine "Erklärung": evtl. wurde halt etwas "blockiert"...
Und durch setzen auf 1 wieder "entblockt"...
Danach halt wieder wie zuvor...
Nur meine Vermutung und halt nur plausibel, wenn eben von 0 auf 1... ;)
Wo kommt attr teleBot .* 1 her?
Gruß, Joachim
Woher das attribut herkommt, kann ich dir nicht sagen... Vielleicht sind das überbleibsel meiner frühen Versuche irgendwelche attribute über die Kommandozeile zu setzen...
Wieso:
- werden bisher bekannte Kontakte geblockt,
- nachdem alle zugelassen werden, kommen die bekannten auch wieder durch,
- und wenn ich dann die unbekannten wieder blocke, bleiben die bekannten weiterhin ungeblockt...
kann man sich irgendwie alle (nicht unterstützten) Attribute anzeigen lassen?
Viele Grüße Wolfgang
Ob das bei dir so war: keine Ahnung
War ja nur ein Erklärungsversuch und "Verwirrung" bzgl. meiner "Theorie" bzw. dass sie nicht passt/eigentlich nicht ganz passen kann kam ja durch deine falsche Darstellung, was du nun wie gesetzt hattest ;)
Zitat von: wowogiengen am 20 Januar 2024, 14:28:09kann man sich irgendwie alle (nicht unterstützten) Attribute anzeigen lassen?
Verstehe ich nicht...
Was nun?
Es gibt doch beim Device die "Drop Down" bei Attributen, dort stehen alle Attribute, die es für das Device gibt...
Neuerdings sogar sortiert "wo sie herkommen".
Also durchs Modul, FHEMWEB, userattr, ...
Gruß, Joachim
Hab gerade mal geschaut...
displayattr .* zeigt mir bei fast allen devices, dass es das attribut .* gibt.
Da ich das sicher nicht brauche...
wie kann ich es effektiv löschen?
wenn ich deleteattr .* .* eingebe würde FHEM ja alle Attribute löschen?
Ich habe ein merkwürdiges Problem mit dem Bot. Er sendet und empfängt, alles ok. Ich habe eine at (mit einem komplexeren DOIF gab es ein analoges Problem), so dass regelmäßig gesendet werden soll,
Internals:
COMMAND { if ($wday == 5) { fhem ("set TelegramBot message @12345678 whatever") } }
DEF *08:07:00 { if ($wday == 5) { fhem ("set TelegramBot message @12345678 whatever") } }
FVERSION 90_at.pm:0.280040/2023-09-28
NAME Info1
NR 546
PERIODIC yes
RELATIVE no
REP -1
STATE Next: 08:07:00
TIMESPEC 08:07:00
TRIGGERTIME 1709363220
TRIGGERTIME_FMT 2024-03-02 08:07:00
TYPE at
READINGS:
2024-03-01 14:17:15 state Next: 08:07:00
Attributes:
Die dort angegebene Adresse 12345678 ist in den FhemBot_ReceiveCustomPeer enthalten; es ist aber nicht defaultPeer. Führe ich den Befehl in der Kommandozeile aus, also
set TelegramBot message @12345678 whatever
wird der Text an 12345678 gesendet.
Merkwürdig ist nun, dass am wday$==5 bei dem at eine Nachricht gesendet wird, aber dabei statt an den Adressaten die Nachricht an den defaultPeer und nicht den genannten Adressaten geht.
Ist das Problem hier bekannt? Ich würde sonst weitersuchen und versuchen das einzugrenzen.
Evtl. maskieren?
Also @@12345678 oder \@12345678
Gruß,Joachim
Danke für die Hilfe! Es muss aber an ewtas anderem liegen (maskieren brachte nichts), verbose 5 liefert
2024.03.02 16:43:25 5: TelegramBot_SendIt TelegramBot: try to send message to :340579883: -:whatever: - add :<undef>: - replyid :<undef>:: options ::
2024.03.02 16:43:25 4: TelegramBot_GetFullnameForContact # Contacts is <undef>
und der Contact ist ja nicht undef. Ich suche mal im Code, was da los ist.
Ich kann das Problem jetzt reproduzieren und das ist völlig merkwürdig. Gebe ich in die Kommandozeile bei FHEM ein (ob Adresse maskiert oder nicht maskiert spielt keine Rolle)
{ fhem ("set myTelegramBot message @<nicht defaultPeer> inline") }
so wird die Nachricht inline an den defaultPeer gesandt. Gebe ich dagegen ein
set myTelegramBot message @<nicht defaultPeer> outline
wird die Nachricht an den Adressaten gesandt, der sie bekommen soll.
Ich muss den Wald vor lauter Bäumen nicht sehen. Kann mir da jemand helfen?
PS Ich habe im Namen einen Umlaut. Kann das daran liegen? Aber ich bin defaultPeer und der Adressat hat keinen Umlaut.
Also ich habe exakt deine Perl-Variante, allerdings mit \@1234567 an mind. 2 Stellen in einer myUtils und es geht...
Wobei ich bei den Peers mit der jeweiligen ID arbeite...
Funktioniert problemlos, da bekommt immer der adressierte Peer die Nachricht...
Gruß, Joachim
Ich hänge mich mal mit an und kann das
Zitat von: MadMax-FHEM am 02 März 2024, 18:04:55Also ich habe exakt deine Perl-Variante, allerdings mit \@1234567 an mind. 2 Stellen in einer myUtils und es geht...
zu 100% bestätigen. ALLERDINGS nutze auch ich in den allermeisten fällen die ID statt der Namen.
Wenn es Dir hilft, kann ich das gerne mal versuchen auch bei mir zu reproduzieren, aber das wird 2-3 Tage dauern. Bin aktuell extremst eingespannt was Arbeit und drum herum angeht.
VG
Andreas
Zitat von: flummy1978 am 04 März 2024, 11:51:23Wenn es Dir hilft, kann ich das gerne mal versuchen auch bei mir zu reproduzieren, aber das wird 2-3 Tage dauern. Bin aktuell extremst eingespannt was Arbeit und drum herum angeht.
Sehr gern. Und: Das hat alles Zeit, bloß keine Hektik bei diesen freiwilligen Sachen. Danke!
@andies: Nach meinem Verständnis hat das nichts mit dem TelegramBot zu tun sondern nachwievor mit Perl.
Also entweder wie bereits gesagt mit \ im String maskieren oder alternativ andere Zeichen zum Einleiten des Textes verwenden.
z.B.:
fhem ('set TelegramBot message @12345678 whatever')
Danke, war tatsächlich fehlende Maskierung. Ich muss mir das mit den verschiedenen Strings endlich mal merken.
Hallo,
was muss ich tun, wenn mein Telegrambot nur noch Nachrichten sendet, aber eingehende Nachrichten komplett ignoriert? Habe meine Steuerung bereits mehrfach zurückgesetzt, aber irgendwie kommt da nix mehr an
Zitat von: wowogiengen am 28 März 2024, 18:13:27Hallo,
was muss ich tun, wenn mein Telegrambot nur noch Nachrichten sendet, aber eingehende Nachrichten komplett ignoriert? Habe meine Steuerung bereits mehrfach zurückgesetzt, aber irgendwie kommt da nix mehr an
Wieso muss ich
allowUnknownContacts
auf 1 setzen, damit er die Nachrichten annimmt?
Wenn dann jeder Kontakt einmal empfangen worden ist, geht es wieder?
Sehr merkwürdiges Verhalten...
Zitat von: wowogiengen am 28 März 2024, 18:28:17Sehr merkwürdiges Verhalten...
Nein, es ist ein durchaus sinnvolles Verhalten - weil man sonst gerne schnell mal zu gespamt wird ;)
Du musst die Kontakte als bekannt einstellen, dann funktioniert es auch mit allowUnknownContacts 0 :)
Vg
Andreas
Zitat von: flummy1978 am 28 März 2024, 20:22:09Nein, es ist ein durchaus sinnvolles Verhalten - weil man sonst gerne schnell mal zu gespamt wird ;)
Du musst die Kontakte als bekannt einstellen, dann funktioniert es auch mit allowUnknownContacts 0 :)
Vg
Andreas
Wenn ich das aber bereits hatte, da mein Setup so bereits seit Wochen / Monaten gelaufen ist? Gestern nachmittag aus heiterem Himmel etliche Dutzend Neustarts von FHEM bis ich dann von zu Hause aus die Kiste wieder beruhigen konnte - ich weiß bis jetzt nicht, wieso die Neustarts passiert sind.
Wie kann ich denn die Kontakte einstellen, die als bekannt gelten sollen? Weil das Attribut auf 1 stellen, und jedem sagen, er soll mal eine Nachricht schreiben, und dann wieder auf 0 ist auch nicht praktikabel...
Ich kann natürlich nicht hellsehen woher die Fehler / Neustarts rühren.... Laut Doku ist zb auch das Attribut saveStateOnContactChange nicht so unwichtig 😉
Bei mir stehen die Kontakte im Reading
Contacts
1234567869:Andreas: 987654321:Yvonne:
VG
Andreas
Zitat von: flummy1978 am 31 März 2024, 09:41:58Ich kann natürlich nicht hellsehen woher die Fehler / Neustarts rühren....
Das verlangt auch keiner :-)
ich wüßte es halt nur zu gerne, da ich mein System eher nach dem Motto "Never change a running system" laufen lasse... Und dann stürzt es aus heiterem Himmel ab...
Zitat von: flummy1978 am 31 März 2024, 09:41:58Laut Doku ist zb auch das Attribut saveStateOnContactChange nicht so unwichtig 😉
Das steht bei mir auf 1, also sollten die Kontakte doch da geblieben sein... In der configDB, nehme ich an?
Das Aatribut in der Config, die Contacts im Statefile (da ja ein Reading), außer bei Verwendung von ConfigDB landet auch das Statefile in der DB, weiß ich aber nicht (verwende fhem.cfg)...
Gruß, Joachim
Hallo werte Experten,
ich würde gern das Telegram-Modul von FHEM unter einem anderen Port als 443 benutzen.
Weiß jemand, ob das möglich ist und wenn ja, wie?
Gruß
Wolfgang
Zitat von: fhem_olsi am 02 April 2024, 15:04:06Hallo werte Experten,
ich würde gern das Telegram-Modul von FHEM unter einem anderen Port als 443 benutzen.
Weiß jemand, ob das möglich ist und wenn ja, wie?
Gruß
Wolfgang
Du benutzt doch das Telegram-Modul bzw. dein Telegram-Device gar nicht über Port 443 bzw. gar nicht direkt per Netzwerkaufrufe, außer über fhem!?
Selbst wenn, wie willst du Telegram (also den "Endpoint") "überreden" auf einem anderen Port zu lauschen? ;)
Standard-Port für https ist nun mal 443...
Gruß, Joachim
ZitatDu benutzt doch das Telegram-Modul ... gar nicht direkt per Netzwerkaufrufe
Ja, da habe ich mich wohl etwas mißverständlich ausgedrückt.
Ich möchte natürlich einen TelegramBot von FHEM aus benachrichtigen lassen.
Zitataußer über fhem!?
Ja, über FHEM, aber eben nicht über Port 443.
Zitatbzw. dein Telegram-Device gar nicht über Port 443
Doch; Port 443 wird benutzt, das steht fest!
ZitatSelbst wenn, wie willst du Telegram (also den "Endpoint") "überreden" auf einem anderen Port zu lauschen?
Siehe hier:
https://core.telegram.org/bots/webhooks
ZitatThe short version
You'll need a server that:
Supports IPv4, IPv6 is currently not supported for webhooks.
Accepts incoming POSTs from subnets 149.154.160.0/20 and 91.108.4.0/22 on port 443, 80, 88, or 8443.
Also, die Ports 80, 88 und 8443 wären auch möglich!
ZitatStandard-Port für https ist nun mal 443...
Richtig, aber andere Ports sind eben auch möglich; s.o.
Außerdem könnte ich bei meinem Router einen alternativen Port (vom FHEM-Telegram-Modul, sofern möglich), der nicht gleich 443 ist, nauch außen (ins Internet) wieder auf den Standard-Port 443 umleiten.
Den Hintergrund für mein Ansinnen zu erläutern, würde hier zu weit führen.
Die einfache Frage ist:
Ist ein anderer Port als 443 für das FHEM-Telegram-Modul möglich oder nicht?
Daran schließt sich im positven Fall Frage 2 an:
Wie?
Gruß
Wolfgang
Mal anders: was willst du denn erreichen?
Nutzt du das Modul bereits?
Was damit geht (gut polling, daher muss ja gar kein Port offen sein, nur Kommunikation nach außen):
du kannst Nachrichten an deinen Bot senden (und auch Kommandos in fhem damit auslösen, Stichwort: chatBot)
du kannst aus fhem heraus Nachrichten an einen Telegram Account senden (KEIN! Bot)
Was eben nicht mit dem Modul geht: Bot zu Bot Kommunikation.
Aber so ich das verstanden habe wird das von Telegram selbst unterbunden...
Dein Link wäre doch eine andere Art der Implementierung des Moduls?
Also statt Polling Webhook!?
Weil für Polling muss ja kein Server (auf fhem Seite) da sein und auch kein offener Port, es wird ja bei "Telegram" nachgeschaut, ob was da ist (Polling)...
Anders wäre es wohl, wenn das Modul eben NICHT pollen würde, sondern einen Webhook-Empfang (aka Server) zur Verfügung stellen würde, tut es aber mWn nicht.
Das Modul ist "nur" Client und pollt...
Jetzt kommst du: was genau willst du tun?
Gruß, Joachim
ZitatJetzt kommst du: was genau willst du tun?
OK Joachim, wenn Du so konkret fragst will, ich auch mein Vorhaben konkretisieren:
Ich möchte, dass meine FHEM-Installation (PC mit Windows 10) bei bestimmten Ereignissen in meinem SmartHome mich via TelegramBot benachrichtigt. Das ist wohl das, was die meisten damit tun. Von außen via Telegram irgendwelche Aktionen in meinem SmartHome auslösen will ich (noch?) nicht.
Die Benachrichtigung an meinen TelegramBot funktioniert auch problemlos, wenn ich den Netzwerk-Verkehr via Port 443 zulasse,
Aber im Normalfall ist dieser Weg blockiert (Fritzbox -> Internet-Zugangs-Sperre); und so soll es auch sein, damit keinerlei Programme auf o.g. PC den https-Weg nach außen finden.
Nun würde ich gern, dass das Telegram-Modul von FHEM einen anderen Port als 443 benutzt, sagen wir 'mal Port 444.
Diesen würde ich dann in meiner Fritzbox per Port-Freigabe und Port-Translation nach außen auf Port 443 umleiten -> TelegramBot.
So meine Vorstellung.
Gruß
Wolfgang
Wie surfst du denn im Internet, wenn du den Port 443 NACH AUSSEN "sperrst"?
Dann laufen auch keine anderen Module, die Internet benötigen: z.B. Wetterdienst o.ä.
So ich das weiß, wirst du das Modul anpassen müssen und überall wo eben https:// steht deinen gewünschten Port setzen müssen...
Allerdings kenne ich (in der FB) keinen Mechanismus um eine Portumleitung NACH AUSSEN zu machen?
Zitat von: fhem_olsi am 02 April 2024, 22:24:05Diesen würde ich dann in meiner Fritzbox per Port-Freigabe und Port-Translation nach außen auf Port 443 umleiten -> TelegramBot.
Das hier meint ja: eine Anfrage VON AUSSEN "trifft" die Fritzbox auf z.B. 443 und intern lauscht dein Webserver eben auf 5443 oder was auch immer...
Aber was du hier ja willst (warum verstehe ich nicht) ist doch eine Client-Anfrage des TelegramBot-Devices per https (und Standardport) geht NACH AUSSEN zu Telegram.com (oder wo auch immer)...
Wie geschrieben, außer einer statischen Route wüsste ich jetzt keine Einstellung in der FB (und da habe ich nicht mal statische Routen gefunden) die das möglich machen würde...
Portweiterleitung meint ja, dass die FB einen Port ÖFFNET für Kommunikation VON AUSSEN.
Da kann man dann schon mal mittels nicht Standardports "faken" und den Dienst "verschleiern", würde ich (zur Not) verstehen...
Aber noch mal: das Telegram Modul ist "nur" https-Client! Genauso als wenn du mittels Browser eine Webseite mit https aufrufst.
Da kannst (und willst) du doch auch nicht im Browser https://fhem.de:5443 eingeben und dann deine FB auf https://fhem.de umleiten lassen, oder?
(und noch mal: ich wüsste bei der FB jetzt nicht mal wie das gehen sollte)
Das Modul funktioniert OHNE, dass irgendein Port FREIGEGEBEN oder weitergeleitet werden müsste...
Oder willst du andere Module, die auch https nutzen verbieten ins Internet zu kommen?
Warum nutzt du die dann überhaupt? ;)
Definiere die doch nicht und gut.
Module die Internet brauchen und es nicht kriegen funktionieren doch nicht, da kann man das doch dann gleich lassen?
Alternativ kannst du auch den Modulautor bitten das einzubauen, fraglich, ob so was exotisches (und in meinen Augen unnützes) eingebaut wird...
Darf ich noch nach dem Grund fragen?
Also willst du verhindern, dass IRGENDWER bzw. IRGENDWAS (aus fhem raus) per https "surft"?
Oder nur fhem?
Und wenn: warum, wenn ja die Anfrage trotzdem dann nach außen geht (FB Port-usw. / noch mal: ich wüsste nicht wie das gehen sollte / noch mal Portweiterleitung ist die ANDERE Richtung)...
Und wenn du einzelne Module mit Internet verbieten willst, warum dann nicht piHole o.ä.?
Da kannst du dann ganz genau festlegen WAS "angesurft" werden darf und was nicht...
Gruß, Joachim
Zitat von: MadMax-FHEM am 02 April 2024, 22:56:17Und wenn du einzelne Module mit Internet verbieten willst, warum dann nicht piHole o.ä.?
Da kannst du dann ganz genau festlegen WAS "angesurft" werden darf und was nicht...
Gruß, Joachim
Sowas müsste doch auch über Firewall-Rules auf dem Raspberry Pi gehen, oder nicht?
Viele Grüße
Wolfgang - der andere, aka wowogiengen
Zitat von: wowogiengen am 02 April 2024, 23:02:07Sowas müsste doch auch über Firewall-Rules auf dem Raspberry Pi gehen, oder nicht?
Viele Grüße
Wolfgang - der andere, aka wowogiengen
Hmmm, evtl.
Was bei piHole (o.ä.) halt einfach geht: Endpoint sperren. D.h. man kann ganz leicht z.B. Telegram nach außen zulassen aber wetter.com sperren ;)
Mit Firewall stelle ich mir das kompliziert vor?
EDIT: oder meintest du die statischen Routen?
Ich denke ja, dass hie die Richtung des Kommunikationsverkehrs von fhem_olsi falsch rum gedacht wird...
Drum ja auch die Frage, ob das Modul schon verwendet wird.
Weil dann sollte klar sein, dass das Modul nix anderes macht wie die Wetter-Module: eine "Webseite" abfragen, ob "was da ist"...
Aber das war jetzt eh meine letzte Antwort hierauf, weil mehr fällt mir nicht ein, außer: Modul anpassen oder Modulauthor bzgl. Anpassung bitten...
Aber für mich ist der Sinn total unklar (um es mal gewählt auszudrücken)... ;)
Gruß, Joachim
ZitatPortweiterleitung meint ja, dass die FB einen Port ÖFFNET für Kommunikation VON AUSSEN.
Ja, sorry; mein (Denk-)Fehler.
ZitatAlso willst du verhindern, dass IRGENDWER bzw. IRGENDWAS (aus fhem raus) per https "surft"?
Richtig, alles außer FHEM(-Telegram)!
Daraufhin habe ich noch mal die Möglichkeiten der Fritzbox durchforstet und habe auch eine Lösung für mein "Problem" gefunden:
Ich habe unter "Internet / Filter / Liste erlaubter Internetseiten" nur die Telegram-Adresse(n) eingetragen. Alles andere wird also blockiert.
Damit "darf" der Standard-Port des FHEM-Telegram-Moduls 443 bleiben, und ich habe mein Ziel erreicht.
Dennoch bleibt natürlich grundsätzlich die Frage, warum man nicht auf einen anderen der Telegram-Ports 80, 88, 8443 ausweichen kann?
Ist aber für uns in Deutschland eher irrelevant...
Gruß
Wolfgang
Moin,
ich habe eine Kamera die auf meinen Parkplatz zeigt und die Bilder die Nachts entstehen via ftp auf meinem Server speichert.
Mittels einen kleinen shell-scripts wird dabei an Fhem gemeldet, wenn eine neue Datei vorhanden ist.
Das neue Bild wird dann per Telegram versendet, so dass ich es auf dem Smartphone bekomme.
Neuerdings funktioniert es nicht mehr, obwohl ich nichts geändert habe.
Es taucht folgende Fehlermeldung im Log auf:
sentMsgResult NonBlockingGet: returned FAILED file :/var/www/upload/camera/A24040702293810.jpg: not found or empty
Textbefehle funktionieren mit dem Bot übrigens einwandfrei in beide Richtungen FHEM <-> Telegram
Dabei existiert der Pfad, die Datei und die Berechtigungen passen auch. Wie gesagt, ich habe nichts verändert.
Leider finde ich keine Lösung für dieses Problem.
Kann jemand von euch helfen?
Grüße
Dlay
Tach auch :)
Zitat von: Dlay am 07 April 2024, 02:37:13Es taucht folgende Fehlermeldung im Log auf:
sentMsgResult NonBlockingGet: returned FAILED file :/var/www/upload/camera/A24040702293810.jpg: not found or empty
Der Blick in die Glaskugel sagt, dass es für mich so aussieht, als würde die Kamera des Problems Ursprung sein. Die Rückmeldung besagt ja, dass die Datei A24040702293810.jpg nicht vorhanden ist. D.h. entweder lädt die Cam nichts auf, das Ziel ist nicht erreichbar oder Telegram kann diese Bilder nicht lesen (Rechteproblematik?)
Nur so als Tipp für die Suchrichtung ;)
VG
Andreas
Zitat von: flummy1978 am 11 April 2024, 20:16:21Tach auch :)
Zitat von: Dlay am 07 April 2024, 02:37:13Es taucht folgende Fehlermeldung im Log auf:
sentMsgResult NonBlockingGet: returned FAILED file :/var/www/upload/camera/A24040702293810.jpg: not found or empty
Der Blick in die Glaskugel sagt, dass es für mich so aussieht, als würde die Kamera des Problems Ursprung sein. Die Rückmeldung besagt ja, dass die Datei A24040702293810.jpg nicht vorhanden ist. D.h. entweder lädt die Cam nichts auf, das Ziel ist nicht erreichbar oder Telegram kann diese Bilder nicht lesen (Rechteproblematik?)
Nur so als Tipp für die Suchrichtung ;)
VG
Andreas
Hallo Andreas,
danke für deine Rückmeldung. Sie hilft leider nicht weiter. Wie ich schon schrieb, ist mit den Berechtigungen alles ok, die Bilder landen auch im angegebenen Pfad und sind auch Bilder. Ich kann also ausschließen, dass es an der Kamera liegt.
:-\
Zitat von: Dlay am 12 April 2024, 10:58:58danke für deine Rückmeldung. Sie hilft leider nicht weiter. Wie ich schon schrieb, ist mit den Berechtigungen alles ok, die Bilder landen auch im angegebenen Pfad und sind auch Bilder. Ich kann also ausschließen, dass es an der Kamera liegt.
Zeitverhalten?
Vielleicht sind ja Bilder da, wenn du "nachher" kuckst und auch Berechtigungen i.O.
ABER: evtl. sind keine Bilder da, wenn das Telegram-Device "nachschaut" um sie zu versenden?
Gruß, Joachim
Hallo ist es möglich aus fhem heraus eine Nachricht zu senden mit einem anklickbaren Button darin?
Beispiel:
Alarmsirene ist an
[Sirene Aus]
Wenn man Sirene aus anklickt wird in fhem der Befehl zum ausschalten der Sirene ausgeführt.
Ich meine keine Favoriten die habe ich
LG Holger
Heyho,
Zitat von: Tueftler1983 am 12 April 2024, 17:27:54Hallo ist es möglich aus fhem heraus eine Nachricht zu senden mit einem anklickbaren Button darin?
Japp funktioniert. Schau Dir dazu mal den Befehl: queryInline bzw silentInline an. Damit kann man schöne Buttons senden, die einen anderen Befehl senden können, als das was drauf steht. Bespiel:
(ANZEIGETEXT:'Befehlstext') texttext
Text ist nötig, ohne MSG kein queryInline.Allerdings ist es möglich mehrere Buttons aber nur einen text zu schicken. In meinen Augen darf man aber nicht vernachlässigen, dass man da sehr drauf achten sollte, wer was und welche Befehle ausführen kann und darf ;)
Hoffe das hilft weiter.
VG
Andreas
Hallo,
gibt es eine Möglichkeit per https eine Nachricht vom Handy aus zu Fhem zu schicken?
Den umgekehrten Weg bzw. vom Browser zur Telegram-App kenne ich, den findet man rasch, wenn man googelt. Da kann man etwas zur Telegram-App schicken.
Ich kenne natürlich auch den Weg, von der Telegram-App etwas zu Fhem zu schicken und auch über den gleichen Weg Befehle in Fhem auszuführen.
Was mir fehlt ist ein Weg im Browser auf dem Handy zu Fhem. Falls es etwas derartiges gibt, dann bitte ich um eine Info, wie es geht.
Viele Grüße Gisbert
1) Portfreigabe (auf Router) für den FHEM-Rechner
2) Termius-App (Smartphone) installieren
3) Port Forwarding in Termius einrichten
4) Mit Browser (Smartphone) auf 127.0.0.1:8083 zugreifen
Gruß
Wolfgang
Hallo Wolfgang,
vielen Dank für deine Anregung. Ich werde es wie von dir vorgeschlagen erstmal nicht umsetzen (können), da ich nicht weiß, welche Sicherheitslücken ich da generiere.
Was auch geht, ist über VPN auf das Heimnetzwerk und damit Fhem zuzugreifen.
Dazu muss ich aber erst VPN aktivieren und dann einen Browser-Aufruf machen - ich möchte aber eine "Einknopf"-Bedienung.
Viele Grüße Gisbert
Hallo Gisbert, also bei einem iPhone kann ich dir sagen, dass so etwas bei mir funktioniert.
Wie das bei Android aussieht, weiß ich nicht.
Ich habe für mein iPhone ein Profil erstellt, dass mir automatisch eine VPN Verbindung herstellt, wenn ich z.B. folgendes im Browser eingebe:
fhem.fritz.box............
Somit habe ich einen Shortcut auf dem Homescreen am iPhone, sobald ich diesen anklicke, verbindet sich das iPhone automatisch per VPN mit meinem Heimnetz und sendet den hinterlegten Befehl an FHEM.
Das Profil für die automatische Verbindung habe ich von folgender Seite:
Zitathttps://meintechblog.de/2015/02/08/vpn-on-demand-zwischen-iphone-und-fritzbox-einrichten/
Danach musst du dir nur z.B. einen Shortcut von folgendem Befehl machen:
(Bin mir hier nicht ganz sicher, der Befehl kann auch anders aufgebaut sein, aber das Prinzip sollte erkennbar sein, hier war noch irgendwas wegen dem csrfToken zu machen, weiss ich aber nicht mehr auswendig.)
Zitatfhem.fritz.box::8083/fhem?cmd=set%20Lampe%20on
und dein Device "Lampe" wird on gesetzt.
Grüße Marcel
Das wird hier aber grad etwas extrem OffTopic oder?
Die beschriebenen Funktionen (und auch die Frage) haben nichts mit Telegram und dem entsprechendem Bot zu tun.
@Gisbert: Es ist nicht bös gemeint, aber jemand der Infos zum TelegramBot sucht wird hier verwirrt sein ;)
VG
Andreas
Hallo,
bis jetzt hab ich mir eine Tastatur im Telgrambot eingerichtet, mit der ich schnell etwas zB schalten kann.
Telegram unterstützt auch einen Menu-Button (https://core.telegram.org/bots/api#menubutton) neben dem Eingabefeld. Gibt es eine Möglichkeit, dieses Menü mit den FHEM-Telegrambot auszugeben? Meine Tastatur wird langsam unübersichtlich 8)
VG, Nico