Hallo zusammen,
vorerst: Ich bin kein wissender FHEM Modul-Entwickler. Was folgt ist meine laienhafte Ausarbeitung der letzten zwei Tage.
Ich habe bei mir zu Hause die Situation, dass ich hinter einem Unitymedia DS Lite Anschluss sitze, was es mir schwer macht Automation (z.B. IFTTT) über externe Devices (z.B. Handy) zu realisieren. Das Senden von Location-based E-Mails hat mir nicht so recht zugesagt, da gefühlt eher unsicher.
Daher bin ich zu einer Lösung gekommen, die FHEM mit einem beliebigen Websocket verbindet, auf diesem horcht und events an diesen schickt. Events können auf dem Websocket ausgewertet werden. FHEM Befehle, die an den Websocket geschickt werden, werden im FHEM ausgeführt. Sowohl Events, als auch eingehende Commands sind per Regex filterbar. Alles ist in einem Modul gekapselt.
Da mir kein geeigneter Websocket im Internet zu Hand war, der auch gut mit IFTTT kommunizieren kann, habe ich das Modul auf Pushbullet (JSON via Websocket) erweitert. Mein Modul nutzt dazu das schon existierende Pushbullet Modul. Nun kann ich Events (Device:State) and Pushbullet schicken und Commands (set device state) via Pushbullet an FHEM.
Leider kann FHEM nun noch immer nicht direkt mit IFTTT sprechen, da letzteres nicht auf Pushbullet mitlesen kann. Daher habe ich mein Modul weiter erweitert, so dass es nun auch den Maker-Channel (HTTP-POST) von IFTTT bedienen kann.
Mit diesem Setup kann ich nun recht komfortabel gefilterte Events an IFTTT schicken und wieder zurück (über Pushbullet) an FHEM - und habe so alle IFTTT Rezepte verfügbar : )
Das Modul findet ihr angehängt. Natürlich könnte man die einzelnen Funktionalitäten noch in verschiedene Module auslagern - aktuell ist es eher ein proof of concept. Außerdem ist der Name mittlerweile irreführend... Drei Module à la Websocket_Client, IFTTT_Maker und Pushbullet_IO wären sicher gut - wenn jemand sich berufen fühlt, würde es mich freuen!
Das Websocket_Client device legt ihr wie folgt an:
define t Websocket_Client wss://echo.websocket.org
attr t filter_recv_args ^(off|on)$
attr t filter_recv_cmds set
attr t filter_recv_devices ^(Bar|Esszimmer)$
attr t filter_notify_devices Bar
attr t filter_notify_events ^off$|^on$
attr t send_method websocket
Das device t schickt events, die mit den Attributen filter_notify_devices und filter_notify_events gefiltert sind an den Websocket. Alles was vom Websocket kommt und entsprechend durch die regulären Ausdrücke von filter_recv_cmds, filter_recv_devices und filter_recv_args läuft, wird ausgeführt. Mit dieser Konfiguration werden Plain-Text Nachrichten ausgetauscht.
Um den Pushbullet-Websocket zu nutzen ist die Konfiguration folgendermaßen zu ändern/erweitern:
define t Websocket_Client wss://stream.pushbullet.com/websocket/<accessToken>
attr t filter_recv_args ^(off|on)$
attr t filter_recv_cmds set
attr t filter_recv_devices ^(Bar|Esszimmer)$
attr t filter_notify_devices Bar
attr t filter_notify_events ^off$|^on$
attr t pushbullet_accessToken <accessToken>
attr t pushbullet_device "" # default: empty string = all devices
attr t pushbullet_title FHEM Event # default
set t pushbullet on
attr t send_method pushbullet
Nachrichten werden jetzt im JSON Format an Pushbullet geschickt. Tatsächlich geschieht die Kommunikation über HTTP Calls im Pushbullet.pm Modul. Allerdings wird auf dem Pushbullet-Websocket auf eingehende tickles (Nachrichtenhinweise) gehorcht. Diese triggern dann den HTTP GET Call um den Nachrichten-Stream (Pushes) von Pushbullet abzurufen.
Um nun Maker ins Spiel zu holen ist die Konfiguration folgendermaßen zu ändern/erweitern:
define t Websocket_Client wss://stream.pushbullet.com/websocket/<accessToken>
attr t filter_recv_args ^(off|on)$
attr t filter_recv_cmds set
attr t filter_recv_devices ^(Bar|Esszimmer)$
attr t filter_notify_devices Bar
attr t filter_notify_events ^off$|^on$
attr t pushbullet_accessToken <accessToken>
set t pushbullet on
attr t maker_key <maker_key>
attr t maker_event fhem_event # Präfix des Event namen: "fhem_event_device_state". Das Event hat den Body: {value1: "Device:State", value2: "Device", value3: "State" }
set t maker on
attr t send_method maker
Nachrichten werden nun an IFTTT-Maker geschickt. Trotzdem horcht das Modul noch auf Pushbullet und holt die Nachrichten ab, die dort eingehen. Ein IFTTT Rezept sieht also bspw. wie folgt aus: Maker<fhem_event_Bar_on> -> Pushbullet<set Bar2 on>
Damit das ganze funktioniert, musste ich das DevIO Modul leicht anpassen (vielleicht aus Unwissenheit). Es konnte m.E. noch nicht mit verschlüsselten TCP Ports sprechen. Daher habe ich in Zeile 239 wie folgt geändert:
my $conn;
my $port = $2;
if($port eq "443") {
require IO::Socket::SSL;
$conn = IO::Socket::SSL->new(PeerAddr => $dev, Timeout => $timeout);
} else {
$conn = IO::Socket::INET->new(PeerAddr => $dev, Timeout => $timeout);
}
Ich würde mich über Verbesserungsvorschläge freuen! Sehr viel Zeit zum Anpassen, Ändern, Supporten habe ich leider nicht, daher schreibt Änderungsvorschläge am besten direkt in Perl ; )
Viele Grüße
Markus!
P.S.: Vermutlich gehört der Thread in das Developers Forum. Darauf habe ich aber keine Schreibrechte.
P.P.S.: Wenn gewünscht, würde ich das Modul maintainen, beschreiben, Wiki-Seite erstellen, etc.
Habe noch eine neue Version mit asynchronen Aufrufen und keineren Bug-Fixes angehängt.
VG
ich hätte ein starkes Interesse, wenn Du das Modul maintainen und ein Wiki erstellen könntest
Ich schließe mich dem Wunsch von Kai-Alfonso mal an, das hört sich alles schon sehr gut an.
Gibt es dazu Updates, wird das irgendwo gepflegt?
Ich würde mir auch wünschen, dass das Modul maintained wird! Danke für die Arbeit! Marc
Kommt nach Weihnachten : )
Hallo, starkes Modul..hoffe auf Fortsetzung!!
Und - lüppt? :-) Ich teste mal. Dev noch aktiv?
VG
Chris
Hi, jep noch aktiv : )
Wäre prima, wenn du es mal testest. Bei mir läuft das Modul seit einige Zeit durch.
könntest Du vielleicht ein Wiki Artikel und/oder ein genaueres HowTo beisteuern? Werd aus dem da oben nicht ganz so schlau
Spannend! Ich habe mich mal auf meinem RaspberryPi ans Nachvollziehen gemacht. Als erstes musste ich drei Pakete nachinstallieren:
- HTTP::Async
- Sub::ScopeFinalizer
- Protocol::WebSocket::Handshake::Client
Ich bekomme nun die folgenden Meldungen im Logfile, also wird zumindest der Pushbullet-Herzschlag empfangen (das sollte aber besser nicht zu Logfile-Einträgen führen):
2016.04.02 16:28:51 3: Incoming Message: {"type": "nop"}
2016.04.02 16:28:51 2: Incoming message ("{"type": "nop"}") must have at least three segments: <cmd> <device> <arg>
Es gibt ziemlich häufige Meldungen "disconnect"/"reappared". Warum weiß ich nicht.
Aber es erscheint keine Meldung im Logfile und auch keine Aktion, wenn ich von einem anderen Gerät aus eine pushbullet-Nachricht etwa mit "set HUEDevice8 on" an alle absetze. Was ich einmal gefunden habe, war die Meldung:
Incoming Message: {"type": "tickle", "subtype": "push"}
Allerdings erscheint in der pushbullet-Verwaltung auch kein Device, das mein raspberrypi/fhem sein könnte. Muss ich irgendwie so ein Device erzeugen?
Die maker/IFTTT/pushbullet-Kopplung habe ich noch nicht in Angriff genommen.
In fhem bekomme ich als list-Ausgabe (3 mal den key durch xxx ersetzt):
Internals:
DEF wss://stream.pushbullet.com/websocket/xxx
DeviceName stream.pushbullet.com:443
FD 15
Interval 300
NAME PushBulletSocket1
NR 128
NTFY_ORDER 50-PushBulletSocket1
PARTIAL
STATE opened
TYPE Websocket_Client
url wss://stream.pushbullet.com/websocket/xxx
Readings:
2016-04-02 16:53:16 state opened
Events:
HUEDevice10:off 1459550911.80397
HUEDevice1:off 1459604013.674
HUEDevice1:on 1459604010.14543
HUEDevice2:off 1459550569.66576
HUEDevice4:off 1459550569.84328
HUEDevice5:off 1459550569.7829
HUEDevice8:off 1459608806.57366
HUEDevice8:on 1459608804.26347
Attributes:
filter_notify_devices HUEDevice
filter_notify_events ^off$|^on$
filter_recv_args ^(off|on)$
filter_recv_cmds set
filter_recv_devices ^(HUEDevice8)$
pushbullet_accessToken xxx
pushbullet_title FHEM
room Server
send_method pushbullet
Es scheinen Events beim Schalten von Lampen registriert worden zu sein, aber es ist keine pushbullet-Nachricht raus gegangen. Woran kann es noch hapern?
Aha. Habe doch noch etwas gefunden: In der Anleitung steht:
set t pushbullet on
Aber das muss wohl so heißen:
attr t pushbullet 1
Nun gehen die Nachrichten per pushbullet sofort raus, wenn ich an einer HUEDevice rumschalte. Und schalten kann ich über pushbullet nun auch. Kleine Ursache - große Wirkung. Geniales Modul! Danke.
Nun geht es an den letzten Schritt, die Kopplung mit IFTTT.
Hallo zusammen,
Gibt es mittlerweile schon ein Wiki mit einer verständlichen Anleitung ? Ich habe mir hier alles gut durchgelesen und auch so einiges getestet. Die Module hochgeladen und auch die fhem.cfg entsprechend installiert. Auch den access token habe ich von Pushbullet bekommen...trotz allem bekomme ich am ende nur eine Fehlermeldung:
"Cannot load module Websocket_Client Please define t first"
Ich komme leider mit meinem "Halbwissen" hier, wie wohl einige andere, nicht entsprechend weiter. Vielleicht hat ja hjemand eine Anleitung für "Halbwissende" ;-)
Ich habe einen Amazon Echo, welchen ich zu Sprachsteuerung für fhem benutze. Das Teil ist wirklich super. Um aber mit fhem zu kommunizieren sind zur Zeit folgende Schritte nötig:
Amazon Echo (Spracheingabe) > IFTTT (Pushbullet Chanel) > Pushbullet (Android Tablet) > Tasker > andFhem Plugin (Tasker) > fhem
Das kommt oft nur sehr zeitverzögert an, kann sogar mal bis zu 10 Sekunden dauern. Also keine zufriedenstellende Lösung.
Deswegen möchte ich abkürzen und ab IFTTT direkt zu fhem übergeben. Das scheint dieses coole Modul wohl hinzubekommen.
Ich bin wirklich nicht auf den Kopf gefallen, aber eine etwas einfachere Anleitung wäre echt Nice, weil ich voll Bock habe das Modul auch benutzen zu können. Vielleicht kann ja jemand etwas helfen.
8)
Danke im vorraus
VG
Hallo Murdock,
wenn Du eine Fehlermeldung bei define t Websocket_Client wss://stream.pushbullet.com/websocket/<accessToken>
erhältst, dann fehlt eventuell noch eine Voraussetzung. Ich nutze als Plattform einen Raspberrypi und da musste ich zuvor noch drei Module installieren, die in meinem Beitrag oben stehen. Und natürlich das neue websocket-client-Modul von Markus. Und ich musste auch DevIo so anpassen wie Markus es beschrieben hat. Das ist unschön, weil man dann dieses Standard-Modul aus den automatischen Updates herausnehmen muss, aber das ist halt Stand der Entwicklung.
Siehst Du im fhem Logfile noch weitere Meldungen?
Hallo hartenthaler,
danke für deine Antwort.
Ich nutze fhem auch auf dem PI 3. Ich muß also 3 Module bei nachinstallieren, oder sind es Pakete auf dem Pi, so wie du es am 02.04. schreibst ?
Ich nehme an Module, weil ich gerade nach weiteren Tests folgende Fehlermeldung bekommen habe:
Can't locate HTTP/Async.pm in @INC (you may need to install the HTTP::Async 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) at ./FHEM/00_Websocket_Client.pm line 12.
BEGIN failed--compilation aborted at ./FHEM/00_Websocket_Client.pm line 12.Wo bekomme ich denn die 3 Module her bzw. wo kann ich Sie in der richtigen Version herunterladen ?
Du schreibst ich muß ich muß das DevIo anpassen. Ich habe im DevIo.pm die Zeile:
my $conn = IO::Socket::INET->new(PeerAddr => $dev, Timeout => $timeout);
Durch Markus Zeilen ersetzt:
my $conn;
my $port = $2;
if($port eq "443") {
require IO::Socket::SSL;
$conn = IO::Socket::SSL->new(PeerAddr => $dev, Timeout => $timeout);
} else {
$conn = IO::Socket::INET->new(PeerAddr => $dev, Timeout => $timeout);
}
Wie kann ich diese aus den automatischen Updates herausnehmen, da diese zwischenzeitlich durch ein Update schon wieder in die alte Version zurück versetzt wurde ?
Ich glaube das sind erstmal genug Fragen :) Ich warte jetzt erstmal gespannt auf eine Antwort und versuche dann wieder ein Stück weiter zukommen.
Danke
Die drei bei mir fehlenden Module/Pakete habe ich folgendermaßen installiert:
sudo perl -MCPAN -e'shell'
und dann in der cpan-shell etwa
install HTTP::Async
Um ein fhem-Modul vom Update auszunehmen kann man ganz oben in der fhem.cfg ein global-Attribut setzen:
attr global exclude_from_update DevIo.pm
Danke hartenthaler, 8)
das hat alles bestens funktioniert . Nun habe ich mich daran gemacht die Kommunikation mit Pushbullet herzustellen. Das Ansprechhen von IFTTT über den Maker Channel kommt dann danach. Einen Maker Key hab ich mir dafür bei IFTTT auch schon besorgt.
Ich habe es nun gesschafft mit den Vorgaben von Markus und den Verbesserungen von hartenthaler in fhem alles aufzusetzen und bekomme auch bei einem Schalter Event eine Nachricht von Pushbullet. Um das für andere hier auch etwas verständlicher zu machen, schildere ich noch kurz mein Vorgehen.
Ich besitze im Flur einen IT Schalter der mein Flurlicht an und aus schaltet. Dieser heißt schalter1 und ich kann diesen ja gewöhnlich mit set schalter1 on oder set schalter1 off schalten.
Ich habe es mit folgenden Code nach Vorlagen vom Markus und hartenthaler hinbekommen, Nachrichten beim Schalten von schalter1 auf Pushbullet zu bekommen (Im Code wurde 2 mal der Pushbullet Access Token durch xyz ersetzt):
define t Websocket_Client wss://stream.pushbullet.com/websocket/xyz
attr t filter_notify_devices schalter
attr t filter_notify_events ^off$|^on$
attr t filter_recv_args ^(off|on)$
attr t filter_recv_cmds set
attr t filter_recv_devices ^(schalter1)$
attr t pushbullet 1
attr t pushbullet_accessToken xyz
attr t pushbullet_device "schalter1"
attr t pushbullet_title FHEM
attr t room Pushbullet
attr t send_method pushbullet
@hartenthaler:
Jetzt meine Frage an dich. Wie bekommst du es hin, durch das Senden von Nachrichten aus Pushbullet ein fhem event auszulösen ? In meinem Fall wäre es ja das Schalten von schalter1. Er hat ja trotz der Zuweisung im Code durch attr t pushbullet_device "schalter1" kein Device namens "schalter1" in Pushbullet angelegt. Ich bekomme im Logfile von fhem folgende Infos:
2016.04.19 04:45:00 2: IT set schalter1 on
2016.04.19 04:45:01 2: Sending message: "schalter1:on" via PushBullet.
2016.04.19 04:45:02 2: Incoming message ("schalter1:on") must have at least three segments: <cmd> <device> <arg>
2016.04.19 04:45:03 2: Incoming message ("") must have at least three segments: <cmd> <device> <arg>
Das sagt mir das ich in Pushbullet eine Nachricht mit 3 Segmenten verschicken muß. Kannst du mir bitte den Syntax verraten, welchen du benutzt und an welches Device du diese dann in Pushbullet schickst ? Muß ich dafür evtl. irgendwie extra ein "Fhem" Device in Puhbullet erstellen bzw. anlegen ?
Vielen Dank !!!
Update 20.04.2016:
Ich habe es rausgefunden. In meinen Fall einfach eine Pushbullet Nachricht mit dem Inhalt "set schalter1 on" versenden und schon wird geschaltet per fhem.
Leider mußte ich die Einträge bzw das Modul wieder deaktivieren, da im Logfile mehrfach Verbindungsabrüche angezeigt wurden und sich fhem immer wieder nach einiger Zeit selbst aufgehangen/gestoppt hat. Lief also leider für mich nicht stabil. Folgende Meldungen habe ich bekommen:
2016.04.19 21:22:48 1: stream.pushbullet.com:443 disconnected, waiting to reappear (t)
2016.04.19 21:22:49 1: stream.pushbullet.com:443 reappeared (t)
2016.04.19 21:22:49 2: Finished handshake with WebSocket server.
2016.04.19 21:23:01 1: stream.pushbullet.com:443 disconnected, waiting to reappear (t)
2016.04.19 21:23:02 1: stream.pushbullet.com:443 reappeared (t)
2016.04.19 21:23:02 2: Finished handshake with WebSocket server.
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "192jhd63h46fdh346dfh43...") at ./FHEM/00_Websocket_Client.pm line 25
So kann ich es im Moment leider auch nicht laufen lassen. Schade, ich hatte es schon hinbekommen auf dem Amazo Echo Sprachbefehle an IFTTT zu triggern, welcher dann eine Pushbullet Nachricht an fhem geschickt hat, um dann direkt eine Schaltung vorzunehmen. Leider stützte es immer wieder ab und ich mußte den Pi öfters Neustarten oder fhem über die Konsole erneut starten. Vielleicht hat ja jemand eine Idee wie es "stabiler" läuft, oder auch andere Erfahrungen gemacht. Ich warte mal gespannt ab...
Die ständigen "Disconneteced/reappeared" Meldungen habe ich auch. Sollte sicher so nicht sein, tut aber bei mir der Stabilität keinen Abbruch. Mein fhem läuft seit etwa 10 Tagen trotzdem absolut stabil. Kann es für die Instabilität noch einen anderen Grund geben? Was ist denn die jeweils letzte Nachricht in Deinem fhem-Logfile bei einem Absturz gewesen?
Viele Grüße
Hermann
Hallo Hermann,
du hattest recht. Ich habe nochmal ein bischen in den Logfiles nachgeschaut und bekam folgendes als letzte Fehlermeldung vor dem Absturtz:
2016.04.25 00:10:36 1: Including fhem.cfg
Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 15, <$fh> line 4.
2016.04.25 00:10:36 1: reload: Error:Modul 99_myUtils deactivated:
Can't locate Net/SNMP.pm in @INC (you may need to install the Net::SNMP 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) at ./FHEM/99_myUtils.pm line 22, <$fh> line 4.
BEGIN failed--compilation aborted at ./FHEM/99_myUtils.pm line 22, <$fh> line 4.
Darauf hin habe ich dann noch wie von dir beschreiben mit:
sudo perl -MCPAN -e'shell'
Das Modul Net::SNMP über Putty nachinstalliert mit:
install Net::SNMP module
Danach lief es. Bis jetzt schon seit einigen Stunden durchgehend. Ich bekomme zwischendurch noch einmal im Logfile folgende Fehlermeldung:
2016.04.25 00:17:21 1: PERL WARNING: Use of uninitialized value $ret in concatenation (.) or string at ./FHEM/00_Websocket_Client.pm line 144.
...Aber er hängt sich nun erstmal nicht mehr auf. Ich werde das nun ein paar Tage laufen lassen und hoffen das es so stabil bleibt. Aber im moment kann ich so über den Amazon Echo super zeitnahe Sprachebefehle an fhem übergeben.
Danke
Update 25.04.2016 18:39
Schade, zu früh gefreut. Heute Morgen hat der Pi den fhem Dienst wieder von alleine abgeschaltet, so das ich ihn mit sudo /etc/init.d/fhem start wieder starten mußte.
Bevor er abgeschmiert ist kam folgende Fehlermeldung im Logfile:
016.04.25 06:26:56 2: Finished handshake with WebSocket server.
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "UaAzxUsaeUTham...") at ./FHEM/00_Websocket_Client.pm line 258.
Das ganze hat auch jede Menge Action verursacht auf dem Pi. Als ich die Schalter, Aktoren, LED Stripes, TV etc. zur Sprachsteuerung über Pushbullet in der fhem.cfg eingepflegt hatte, kamen so viele "disconneteced/reappeared" Meldungen, das ich teilweise diese Fehlermeldungen bekommen habe:
2016.04.25 04:30:16 2: You have been ratelimited for performing too many requests/ops in a short period of time, check the X-Ratelimit-* headers included on this response for more information.
2016.04.25 04:30:16 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_Websocket_Client.pm line 466.
2016.04.25 04:30:16 1: PERL WARNING: Use of uninitialized value $msg in concatenation (.) or string at ./FHEM/00_Websocket_Client.pm line 266.
2016.04.25 04:30:16 1: PERL WARNING: Use of uninitialized value $msg in split at ./FHEM/00_Websocket_Client.pm line 285.
2016.04.25 04:30:16 1: PERL WARNING: Use of uninitialized value $msg in concatenation (.) or string at ./FHEM/00_Websocket_Client.pm line 287
Schade, stabil sieht leider anders aus denke ich. Ich hoffe jemand nimmt sich noch einmal der Sache an, den der Schaltintervall vom Amazon Echo, über IFTTT zu fhem war echt akzeptabel. Vielleicht hat ja jemand noch eine Idee. 8)
Grüße
... nur ein diletantischer Klärungsversuch: bei vielen WebServices gibt es eine Beschränkung in der Nutzungsrate (so und so viele Aufrufe pro Zeiteinheit). Wer mehr will muss dann meistens dafür bezahlen. Sobald so eine Überschreitung auftritt schickt der Service dann keine JSON-Nachricht mehr sondern eine Fehlermeldung und an der könnte sich das websocket-Modul dann verschluckt haben. Die Frage ist aber warum laufen da so viele Nachrichten? Schickt dein Echo bei jedem Pups (wörtlich gemeint ;-) eine IFTTT Meldung an fhem? Oder nur wenn es sich um ein richtiges Kommando handelt? Wie funktioniert das eigentlich mit Echo und IFTTT? Wie hast Du das hinbekommen? Geht das in Deutsch oder nur in Englisch?
Nabend...
Ich nehme mal als Darstellungsbeispiel meinen "schalter1" der mir mein Flurlicht an- und ausschaltet.
Ich habe mir den Amazaon Echo besorgt, welcher leider nur englische Wörter versteht und wie es aussieht, wird es diesen auch nicht in naher Zukunft, so wie den Fire TV, in deutscher Sprache geben. Die Spracherkennung, bzw. meine neue Untermieterin hat den Namen Alexa, Sie ist wirklich genial und auch was Sie so alles kann ist schon top. Sofern man der englischen Sprache mächtig ist und lust darauf hat.
Ich habe also angefangen Alexa beizubringen Befehle an fhem zu senden, um für mich diverse arbeiten auszuführen. Dazu hat geholfen das IFTTT.com einen Amazon Echo Channel und einen Pushover Channel hat. Nach dem ich mich mit beiden Channeln verbunden habe, konnte ich für Alexa eine Phrase eingeben z.B. "light on". Bei eingang dieser Phrase über Alexa mit den Worten "Alexa, trigger light on" wird es in IFTTT so eingestellt, das Pushover eine Nachricht rausschickt Namens "Flurlicht angeschaltet". Ich habe dann auf meinen Samsung Tablet Pushover installiert und anschliessend Tasker und andFhem. Nach ausprechen der Wörter "Alexa, trigger light on" verbindet sich der Echo über IFTTT, schickt eine Pushover Nachricht an Pushover, Tasker erkennt über ein Plugin das eine bestimmte Nachricht eingegangen ist und sendet dann über das andFhem Plugin den Schaltbefehl "set schalter1 on" und siehe da, mein Flurlicht geht an. Leider geht dieser Weg ja einmal um die ganze Welt und bis der Befehl dann auf fhem angekommen ist, sind mehrere Sekunden vergangen. Teilweise sogar mal 10 Sekunden, obwohl ich mein Tablet per App auf "Immer Wach" gestellt ist und es immer am Netzteil gelassen habe, verzögert sich alles ab und zu und ist keine wirklich hübsche Lösung. Wenn ich in den Flur gehe und Licht will soll es jetzt hell werden und nicht erst in 6 Sekunden.
Da sah ich nun die Hoffnung in diesem Modul von Markus. Anstatt wie vorher über Pushover konnte ich nun ab IFTTT mit dem Pushbullet Channel direkt Befehle an fhem senden. Wenn es läuft, ist es wirklich cool, schon nach einer Sekunde wurde mein Licht angeschaltet, wenn ich es ausgesprochen habe. Leider lässt das Modul und sein Dienst immer wieder meinen fhem Server auf meinen PI 3 abstürtzen oder anhalten. Ich kann machen was ich will, spätestens nach 5 Stunden hält der Server an, immer und immer wieder. Seit dem ich die Codezeilen im fhem.cfg wieder mit # auskommentiert habe, läuft er wieder Tagelang durch.
Was ich also brauche ist ein Channel auf ifttt.com der direkt an fhem Befehle schickt oder Nachrichten ankommen lässt und diese dann, wie Markus Modul als Befehl umsetzt.
Meine Hoffnung liegt darin, das jemand der etwas ähnliches wie ich benötige evtl. nochmal Markus Modul überarbeitet. Denn alleine die ganzen "disconneteced/reappeared" Meldungen sind nicht so gewollt, denke ich und lassen das Modul leider von Anfang an bei mir unstabil laufen.
Falls jemand da noch einmal rüber schauen mag oder einen anderen Weg hat, wie er IFTT mit fhem kommunizieren lässt, wäre ich sehr dankbar.
Beste Grüße
8)
Hallo zusammen,
ich beschäftige mich gerade ebenfalls mit diesem Problem. Ich gebe einfach einmal meinen (noch nicht funktionalen) Lösungsansatz zum besten:
Anmeldung bei Telegram und Einrichtung eines Bots gem.: http://www.fhemwiki.de/wiki/TelegramBot
Funktioniert soweit ganz geschmeidig: Kommandos lassen sich auslösen (z.B. eine der HUE Lampen anschalten) und die Latenz ist gering. Beim genaueren Lesen fiel mir auf, dass das Modul 50_TelegramBot.pm es gestattet das der Bot in Gruppen (Achtung: nicht in Kanälen) liest UND schreibt.
Also in IFTTT schnell eine beliebigen Trigger (IF) angelegt und mit dem Maker-Channel ein Kommando für einen Post im Gruppen angelegt (THEN). Wer das nachlesen mag: http://developers-club.com/posts/269819/ oder als Video: https://www.youtube.com/watch?v=4EHANdikJR0 (ist zwar arabisch, aber das Visuelle ist eher wichtig)
Dieser Artikel und das Video beziehen sich auf das Schreiben an Benutzer. Das geht aber auch mit Gruppen. Der Bot muss über einen Client in die Admins der Gruppe aufgenommen werden. Ihr benötigt dann nur die passende chat_id des Gruppenchats (das ist übrigens eine negative Zahl). Bei mir waren die CONTACTS in FHEM noch nicht aktualisiert, aber ich konnte diese mit folgendem Kommando ermitteln: https://api.telegram.org/bot<Euer-BOT-Token>/getUpdates
Einfach ein paar Mal in die Gruppe schreiben und das Kommando im Browser absetzen. Im Ergebnis findet ihr u.a. die erforderliche chat_id.
Jetzt folgt aber das eigentliche Problem: mein Gedanke war, dass der Bot per IFTTT in den Gruppenchat ein Kommando absetzt, welches er selbst dann auch per FHEM wieder liest.. ;D
Leider zu früh gefreut, denn in FHEM liest der BOT nicht die eigenen Nachrichten. :-[
Auch die Idee einen zweiten Bot zu nehmen um mit diesem ein Kommando abzusetzen ist nicht realisierbar: aufgrund der API Restriktionen dürfen Bots nicht die Nachrichten anderer Bots lesen.
Tja, an dieser Stelle hänge ich derzeit fest. Mir ist noch unklar, ob der Bot die eigenen Nachrichten nicht lesen darf. Sofern er das darf, müsste ggf. nur das Modul 50_TelegramBot.pm entsprechend angepasst werden, so dass die Nachrichten auch in FHEM auftauchen.
Über eure Ideen, Kritik und Vorschläge freue ich mich!
Hallo Tylux,
das verstehe ich noch nicht: warum möchtest Du von deinem fhem aus eine Nachricht via Telegram und IFTTT zurück an Dein fhem schicken? Eigentlich ist es doch nur spannend von irgendeinem anderen Trigger (IF) aus etwas in fhem zu veranlassen.
Hallo,
vielleicht habe mich unklar ausgedrückt.
Zum Beginn des Prozesses ist FHEM noch nicht relevant:
IFTTT stellt das definierte Ereignis fest
IFTTT sendet daraufhin über die API des Telegram Bot eine Nachricht in den Gruppenchat.
Soweit funktional. Jetzt erst kommt FHEM ins Spiel:
In FHEM liest der Telegram Bot die Nachricht im Gruppenchat, erkennt den Befehl und führt diesen aus.
Hallo Tyllux,
vielen Dank für das Teilen deines Projektes. Ich habe mir bei Telegram so wie beschrieben einen Bot angelegt und diesen dann in fhem mit dem TelegramBot Modul eingebunden. Ich kann dann durch schreiben im Bot Chat, in meinem Fall mit "doit set schalter1 on" sehr schnell und unverzögert mein Licht schalten.
Richtig cool ! Ich habe es auch schon hinbekommen über den Maker Channel in IFTTT direkt meinen fhem Befehl in den Bot-Chat und nicht in eine Gruppe oder einen Kanal zu bekommen. Dazu habe ich einfach als Chat_Id meine User Chat ID in die URL eingegeben. Die Chat Ids bekommt man übrigens ganz leicht aus den fhem Readings. Einfach auf der fhem Weboberfläche auf das Modul klicken, welches den Telegram Botnamen hat. Dort werden unter Readings alle Infos angezeigt. Unter "Contacts" stehen dann die Namen und Chat IDs, von den letzten 3 Chats, welche man in Telegramm geführt hat. Sei es nun mit einem User, einer Gruppe oder einen Kanal. Einfacher geht es nicht.
Leider schickt die unten angezeigte URL zwar eine Nachricht in den Bot Chat, aber wie du schon festgestellt hast, liest der Bot seine eigenen Nachrichten nicht aus und gibt diese dann nicht an fhem weiter. Er macht es nur wenn ich als User selber etwas in den Chat schreibe. Ich hoffe das es anstatt einen BOT-Token evtl auch einen User-Token gibt bzw eine ID welche in der URL dann durch den Bot-Token ersetzt wird und dann hoffungsvoll in den Bot Chat als User, also als man selber schreibt, dann müßte es ja funktionieren. Ich habe den Telegram Support schon mal angeschrieben, um zu erfahren ob es möglich ist über eine URL eine Persönliche Chat Nachricht unter meinem Namen zu versenden. Mal sehen was da für eine Antwort kommt. Bis jetzt warte ich schon einen Tag gespannt auf eine Rückmeldung.
Hier die URL, welche ich benutzt habe um von IFTTT über den Maker Channel eine Nachricht direkt in den Bot-Chat zu bekommen:
https://api.telegram.org/bot<token>/sendMessage?chat_id=<Meine User Chat ID>&text=doit%20set%20schalter1%20on
Das Triggern über den Amazon Echo an IFTTT hat auch bestens geklappt. Wenn ich jetzt zu Alexa sage: "Alexa, Trigger message", sendet er superschnell über den Maker Channel mit der URL genau den fhem Befehl, welchen ich haben möchte. Leider eben noch als Bot und nicht als User.
Aber es funktioniert richtig gut, schnell und perfomance sparrend für den PI. Beste Lösung bisher.
Es muß also entweder nur ein "User Token" her, welcher in meinen Namen Nachrichten über eine URL in den Bot-Chat sendet, oder eben jemand schafft es das fhem Telegram-Bot Modul so zu editieren, das es auch seine eigenen Bot Nachrichten auslesen kann.
Vielleicht kannst du ja auch mal beim Telegram Support nachfragen Tyllux. Ich denke zusammen kommen wir schneller zum Ziel. Das mit der URL wäre auf jeden Fall die schnellste und einfachste Lösung.
Zu deiner Frage ob der Bot selber seine eigenen Nachrichten lesen darf, habe ich auch etwas entdeckt. Als ich in der angegebenen URL oben als Chat_ID, die ID vom Bot geschrieben habe, kam folgende Antwort:
{"ok":false,"error_code":403,"description":"Bot can't send messages to the bot"}
Damit wissen wir evtl. schon mal das Telegram es nicht zulässt, das der Bot sich selber etwas schickt.
Danke nochmal für deine Infos !!! 8)
Hallo zusammen,
nach mehreren Tagen und Anfragen bei Telegram habe ich nun Heute Morgen Antworten vom Telegram Bot-Support bekommen. Nachdem ich unser vorhaben detailiert erklärt habe, kamen folgende Antworten:
Zitat
Bot Support:
mmm, so you want a link to send a message from your account to the bot account directly without using a Telegram app? If that's it, I'm afraid that it is not possible as those links only work for bots .
...und...
Zitat
Bot Support:
No, that's a limitation we set from scratch: bots won't receive messages from bots.
Damit hat sich diese Sache wohl leider auch erstmal erledigt. Auf meine Frage, ob man in der Zukunft evtl. "Special Bots" erschafft, welchen es auch erlaubt sei Nachrichten von anderen Bots auszuwerten, kam dann nur die Antwort, das sich die Entwickler von Telegram nicht wirklich in die Karten schauen lassen und auch diesbezüglich nicht sehr kommunikativ sind was neue Entwicklungen angeht.
Da bleibt wahrscheinlich nur darauf zu hoffen, das man noch etwas am Telegram-Bot Modul in fhem umprogramieren kann, was das Auslesen von Bot-Nachrichten direkt in Befehle umsetzt. Davon habe ich aber so gut wie keine Ahnung...
Auch wäre cool, wenn Markus sich noch einmal zu Wort meldet, ob man in seinen Lösungen evtl. zusammen noch etwas mehr stabilität reinbekommen kann. Es muß doch eine Lösung geben um von IFTTT Resourcen sparend und sicher mit fhem zu kommunizieren...
Die Alternative wäre dann wohl vom IFTTT Maker Chanenl, welcher ja URLS und Code übertragen kann, irgendwelche HTTPS Befehle aus IFTTT an fhem zu senden. Wo man dann in der URL seine Logindaten preisgeben müßte, was ja auch nicht der Sinn der Sache ist...
Vielleicht hat ja jemand noch weitere Ideen, Vorschläge oder Anregungen. Ich bin für alles offen, was zu einer Lösung führt und teste gerne alles von hinten bis vorne durch. ;)
Greetinx 8)
Wie hier https://forum.fhem.de/index.php/topic,38328.msg451927.html#msg451927 (https://forum.fhem.de/index.php/topic,38328.msg451927.html#msg451927) beschrieben ist die Aussage, dass telegramBots keine Nachrichten anderer Bots lesen können auch aus meiner Erfahrung korrekt. Als Alternative bleibt nur das veraltete 70_Telegram-modul mit all den damit verbundenen Einschränkungen.
Mal eine etwas doofe (Leihen-)Frage: Bei mir hat die Einrichtung des Telegram Bots auch problemlos funktioniert und ich erhalte auch die Nachrichten, die ich vom Handy aus an den Bot schicke in FHEM. Zusatzmodule habe ich nicht benötigt -> Super!
Das Problem ist ja nun automatisiert (z. B. via IFTTT Maker) eine Nachricht an den Bot zu schicken.
Ist denn die Technik des TelegramBot-Moduls nicht auf die Pushbullet-API adaptierbar (da gibt es ja einen existierenden IFTTT-Channel)?
Generell ist es ja relativ einfach eine empfangene Nachricht über einen beliebigen Kanal zu nehmen (per notify die Nachricht nehmen) und dann nach Überprüfung auf ein Schlüsselwort am Anfang und entsprechenden Sicherheitsprüfungen (!) an die perl sub AnalyzeCommand (aus dem fhem.pl) zu übergeben.
Das ist in Kürze der Inhalt der Funktion innerhalb von TelegramBot, ich habe aber selber keine Erfahrung mit pushbullet
Hallo Johannes,
für dich als Entwickler ist es natürlich einfacher so etwas umzussetzen. ;) Aber bei den Gedanken Per Script umzuschreiben, ist mir zeitlich gesehen gerade etwas unwohl und ich hoffe darauf das dies hier jemand mitliest, der wesentlich firmer darin ist und sich der Sache evtl. mal annimmt, damit fhem endlich mal mit IFTTT vernünftig kommunizieren kann.
Danke :)
Moin zusammen,
nachdem die Kommunikation zwischen IFTTT und fhem mit den oben beschriebenen Modulen nicht richtig funktioniert hat, habe ich mir erstmal mit einer Alternative ausgeholfen.
Sender der Befehle per URL über den IFTTT Maker Channel.
Folgender Artkiel hat mir dabei geholfen:
http://www.juergenstechnikwelt.de/smarthome-2/mein-bmw-spricht-per-ifttt-mit-meinem-smarthome/ (http://www.juergenstechnikwelt.de/smarthome-2/mein-bmw-spricht-per-ifttt-mit-meinem-smarthome/)
Das klappt sehr gut und die Befehle kommen auch schnell im fhem an. Jetzt hat der Maker Chanel bei IFTTT Probleme mit eigenen Zertifikaten wie z.B. den https Zugriff über den myfritz.net Zugriff, welche ich gerne als feste IP (DynDNS) benutzen würde, um die Befehle über https zu versenden. Hat schon jemand von euch eigene Zertifikate, in diesem Fall die Datei "boxcert.cer" von AVM auf fhem bzw. auf dem PI installiert ? Das diese irgendwie in dem Ordner "opt/fhem/certs" müssen, habe ich schon rausgefunden.
Vielleicht hat das jemand von Euch schon mal gemacht und hat einen guten Tip für mich.
Danke
So ich habe jetzt endlich mal bei IFTTT einen Maker-Empfangskanal (IF) eingerichtet (war sehr einfach) und die send_method im Modul auf "maker" umgestellt, so dass fhem entsprechend des Filters die Nachrichten nun an IFTTT schickt. Was ich erst nicht richtig verstanden hatte war, dass man für jede Kombination von device und state jeweils ein IFTTT-Rezept anlegen muss, also etwa zwei Rezepte für fhem_event_HUEDevice8_on und fhem_event_HUEDevice8_off. Wenn ich jetzt die HUEDevice8-Lampe ein- oder ausschalte triggert jeweils das entsprechende IFTTT-Rezept. Allerdings triggerten die Rezepte alle paar Minuten, selbst wenn ich die Lampe nicht geschaltet habe (das hat sich über das Attribut der Lampe "event-on-change-reading state" beheben lassen).
Für die Richtung IFTTT nach fhem nutze ich weiterhin pushbullet und nicht den URL-Aufruf wie er in Jürgens-Technikwelt beschrieben worden ist (siehe obigen Beitrag von Murdock), da ich mich über ein VPN nach Hause verbinde und keine Ports im Router freischalten möchte, selbst wenn darüber dann https läuft (mal ganz unabhängig davon, dass ich mich dann auch noch um die Zertifikate kümmern müsste).
Soweit alles sehr schön. Was mich noch stört:
- ständige Verbindungsabbrüche/Neuverbindungen der websocket-Verbindung (bei mir ohne merkliche Auswirkungen auf die Stabilität des Gesamtsystems)
- notwendige Modifikation des Moduls DevIO (habe dieses Modul vom Update ausgenommen, werde es nun aber mal wieder updaten und die kleine nötige Änderung dann ggf. eben wieder vornehmen)
- Die Befehle über pushbullet lauten etwa "set HUEDevice9 on" und man kann ja einen Filter im Modul setzen, der groben Unfug ausbremst, aber noch sicherer würde ich mich fühlen, wenn man ein Passwort/Phrase ergänzen könnte, also etwa "geheim123: set HUEDevice9 on", aber vielleicht trügt das, denn es geht ja dann trotzdem unverschlüsselt durchs Internet.
Was meint ihr dazu?
Welche Anwendungsszenarien seht ihr? Mir fallen ein:
- BWM mit IFTTT-Anbindung sagt zu Hause (fhem) Bescheid wo er parkt bzw. wann er zu Hause eintreffen wird (leider habe ich gerade keinen BMW zur Hand)
- Protokollierung wichtiger Ereignisse zu Hause (etwa Blumen wollen gegossen werden - WAF!) über IFTTT in einem Google-Docs-Dokument, das man leicht auch von unterwegs checken kann
...
Hallo zusammen,
ich habe das Modul jetzt schon seit einiger Zeit in Verwendung und bin ganz zufrieden damit. Ein paar kleinere Anpassungen habe ich noch gemacht, aber das sollte nichts mit meinem Problem zu tun haben.
Es scheint so, als gäbe es Verbindungsabbrüche, wenn man das Presence Modul verwendet. Sobald ich das Modul verwende, erhalte ich folgende Meldungen im Logfile
2016.11.06 17:24:28 3: telnetForBlockingFn_1478449468.30287: port 50605 opened
2016.11.06 17:24:28 1: stream.pushbullet.com:443 disconnected, waiting to reappear (websocket)
2016.11.06 17:24:29 1: stream.pushbullet.com:443 reappeared (websocket)
2016.11.06 17:24:29 1: Finished handshare with WebSocket server.
Ich kann trotzdem noch Nachrichten über Pushbullet erhalten, aber die Meldungen kommen ca. alle 30 Sekunden, quasi, wenn das Presence Modul einen Ping durchführt.
define pHandy PRESENCE lan-ping 192.168.XXX.XXX
Ich hab die Meldung hier im Thread gesucht und habe gesehen, dass der Autor des Moduls auch einen ähnlichen Fehler, aber in einem anderen Kontext hat/hatte. Hat sich da mittlerweile schon was getan oder hat jemand einen Tipp für mich?
Besten Dank für das Modul @Murdock
EDIT1: Wenn ich das Presence Modul wieder entferne gibt es auch kein Logeinträge mehr.
EDIT2: Hm okay, ich hab jetzt gesehen, dass das Presence Modul einen BlockingCall macht. Vermute mal, dass es dadurch Zustande kommt. Heißt das jetzt, dass ich als Workarond einfach selbst einen AT Befehl mit eigens geschriebenem Ping schreiben soll?
Hallo Alexander,
welche Anpassungen am WebSocket-Modul hast Du denn noch gemacht? Ich habe das Modul irgendwann nicht mehr genutzt, da
- man das Standardmodul DevIO modifizieren muss
- mich die ständigen Verbindungsabbrüche und -wiederaufbau gestört haben
- die IFTTT_Maker-Rezepte doch etwas umständlich sind (fhem->IFTTT)
- mir die Steuerung meiner fhem-Komponenten über pushbullet doch etwas zu unsicher erschien (IFTTT->fhem)
Hast Du zu diesen Punkten neue Erkenntnisse?
Deine Analyse, dass die Verbindungsabbrüche mit dem PRESENCE-Modul zusammenhängen, ist interessant, das hatte ich nicht bemerkt. Werde es nun vielleicht noch einmal testen.
Wofür verwendest Du das Modul?
Danke für die rasche Antwort hartenthaler,
ich habe lediglich die benötigten Anpassungen für DevIo gemacht und anstatt dessen die Pushbulletbefehle auszuführen, habe ich sie in eine selbstgeschriebene Funktion übergeben in der der Befehl ausgewertet und entsprechend verarbeitet wird.
Das ganze funktioniert dann wie ein Chatprogramm. Bspw. schicke ich "Wetter" an meinen Pushbullet-FHEM-Account und erhalte dann als Antwort die aktuellen Wetterdaten vom Z-Weather. Ich weiß, dafür gibt es das Whatsapp Modul, aber das war mir zu umständlich (Festnetznummer registrieren usw.).
Es gibt auch noch ein anderes Websocket Modul, aber da muss man noch mehr Daten manipulieren. Also fand ich das Modul hier eigentlich für mich am besten geeignet.
Wenn sich jetzt hier keine Antwort findet, dann werde ich einen neuen Thread auf machen und hoffen, dass jemand noch eine Idee hat.
Ich benutze immer noch die Methode aus Post #30. Der Maker Channel von IFTTT kann mittlerweile auch https: übertragen.
Dauert zwar immer so ca. 4 Sekunden bis die Befehle an fhem übertragen werden, aber läuft sonst recht Resourcen schonend und zuverlässig. Ich würde eine andere Lösung natürlich bevorzugen, aber irgendwie hat sich bis jetzt noch niemand der Sache angenommen, der auch wirklich in der Lage ist bzw. auch etwas mehr von Programmcode versteht und sowas evtl. schreiben/umschreiben kann.
Ich verfolge aber weiterhin alles sehr gespannt 8)
FHEM lässt sich übrigens via TelegramBot und dem neuen @IFTTT wunderbar koppeln, wenn man seinen persönlichen Bot und besagten IFTTT-Bot in eine gemeinsame Gruppe hinzufügt.
Da ich telegram sonst nicht übermäßig nutze scheiterte bei mir zunächst die Gruppenerstellung auf dem iPhone, da es mir zumindest dort nicht möglich war, nur die beiden Bots auszuwählen. Habe mich dann über web.telegram.org eingeloggt, und dort ging es problemlos.
Ich scheitere auch gerade daran, die beiden Bots in eine gemeinsame Gruppe zu stecken. Auch im Web. Gibt es da irgendeinen Trick?
Zitat von: febus am 10 Dezember 2016, 13:35:31
Ich scheitere auch gerade daran, die beiden Bots in eine gemeinsame Gruppe zu stecken. Auch im Web. Gibt es da irgendeinen Trick?
An welchem Teil scheiterst Du denn, es gibt da eigentlich keinen wirklichen trick.
Ich mache es am einfachsten darüber: Auf den chat mit dem Bot gehen - dort den Bot auszuwählen (sprich das profil anzuzeigen) und dann die Option zu einer Gruppe hinzufügen zu verwenden und die entsprechende Gruppe auswählen.
Das einzige was klar sein muss, die Gruppe muss existieren eine Gruppe nur aus Bots kann nicht funktionieren, denn die Bots sehen ja nur Nachrichten von "echten Accounts"
Danke, habe irgendwie auf der Leitung gestanden. Klappt jetzt.
Ist es denn irgendwie möglich über einen Ifttt Channel an Fhem zu senden?
Das wäre dann bot an bot, oder?
Also z. B. Kalender triggert Ifttt über fhem das Licht einzuschalten...
Ok... Habe nun einiges an Zeit investiert und komme nicht weiter. Die Anbindung von FHEM an den TelegramBot funktioniert und ich kann Befehle über die Telegram App an FHEM schicken und zurück klappt auch. Soweit so gut.
Leider klappt es damit aber immer noch nicht IFTTT sinnvoll an FHEM anzubinden (zumindest gelingt mir das nicht), da bei jedem Channel der IFTTT-Bot an den FHEM-Bot eine Nachricht schickt, die nicht ankommt. Habe es auch nochmal mit dem Maker-Channel versucht, daber das kommt auf das Selbe raus.
Hat dazu noch jemande eine Idee?
[Was ich z. B. realisieren möchte ist ein Channel, der aus Google-Kalendereinträgen FHEM-Befehle absetzt. Das mache ich heute via Mail, was aber nicht zuverlässig funktioniert.]
Bots sehen Nachrichten von Bots nicht in Telegram - das geht einfach nicht