Neues Modul: FHEM als Websocket-Client mit Pushbullet bzw. IFTTT-Maker

Begonnen von _Markus_, 14 September 2015, 15:06:43

Vorheriges Thema - Nächstes Thema

hartenthaler

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
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Murdock

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...

fhem auf Raspberry PI  3 - V3 Cul 868 MHZ - V3 Cul433 MHZ - Jeelink 868MHZ - HMMLan - Gigaset G Tag - Nut LT-BT

hartenthaler

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
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Murdock

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
fhem auf Raspberry PI  3 - V3 Cul 868 MHZ - V3 Cul433 MHZ - Jeelink 868MHZ - HMMLan - Gigaset G Tag - Nut LT-BT

hartenthaler

... 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?
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Murdock

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)
fhem auf Raspberry PI  3 - V3 Cul 868 MHZ - V3 Cul433 MHZ - Jeelink 868MHZ - HMMLan - Gigaset G Tag - Nut LT-BT

Tyllux

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!


hartenthaler

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.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Tyllux

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.

Murdock

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)
fhem auf Raspberry PI  3 - V3 Cul 868 MHZ - V3 Cul433 MHZ - Jeelink 868MHZ - HMMLan - Gigaset G Tag - Nut LT-BT

Murdock

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)
fhem auf Raspberry PI  3 - V3 Cul 868 MHZ - V3 Cul433 MHZ - Jeelink 868MHZ - HMMLan - Gigaset G Tag - Nut LT-BT

viegener

Wie hier 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.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

febus

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)?

Viele Grüße,
Marc

viegener

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


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

Murdock

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  :)
fhem auf Raspberry PI  3 - V3 Cul 868 MHZ - V3 Cul433 MHZ - Jeelink 868MHZ - HMMLan - Gigaset G Tag - Nut LT-BT