Update 20.01.2017 14:40 Uhr: Ein Leser hat uns darauf aufmerksam gemacht, dass das Harmony Plugin in einer älteren Version tadellos funktioniert. Wie ihr die Version installiert, könnt ihr hier nachlesen. Diese Anleitung kann jedoch immer noch zur Installation des IFTTT Plugins genutzt werden.
Eigentlich gibt es ein eigenes Harmony Plugin, mit dem sich der Logitech Harmony Hub in HomeKit einbinden lässt. Allerdings haben viele Nutzer, wie auch wir, das Problem, dass das Plugin Homebridge nach einiger Zeit abstürzen lässt. Deshalb möchten wir euch zeigen, wie ihr den Harmony Hub über das IFTTT Plugin trotzdem in Homebridge einbinden könnt.
Sollte auch bei euch Homebridge ständig abstürzen und ihr habt das Harmony Plugin installiert, empfehlen wir euch den Harmony Hub aus der Konfiguration zu entfernen und das Plugin zu deinstallieren. Die Deinstallation könnt ihr in der Konsole über folgenden Befehl anstoßen. Dabei spielt es keine Rolle, ob ihr das über die App oder SSH macht.
sudo npm uninstall -g homebridge-harmonyhub
Wir erklären euch die Einrichtung in Homebridge einmal über die Homebridge App von Niklas von Weihe und einmal per SSH. Wählt einfach die Methode, die euch einfacher erscheint. Die Einrichtung von IFTTT ist immer gleich.
Einrichtung von IFTTT
Zunächst benötigt ihr für die Konfiguration den IFTTT Maker Key. Diesen findet findet ihr hier (Die URL ohne https://maker.ifttt.com/use/). Notiert euch diesen am besten.
Außerdem müsst ihr jetzt für jede Aktion, z.B. Fernsehen, Playstation spielen usw., unter IFTTT zwei Applets erstellen. Ein Applet für das Einschalten der Aktion und ein Applet für das Ausschalten.
Als this wählt ihr den Maker und dann Receive a web request aus. Den Event Name könnt ihr frei wählen. Nehmt aber etwas sprechendes und verwendet keine Leerzeichen, z.B. tvOn zum Einschalten des Fernsehers.
Als that wählt ihr den Harmony Hub aus. Solltet ihr diesen noch nicht mit IFTTT verbunden haben, müsst ihr das nun nachholen. Dazu benötigt ihr lediglich eure Zugangsdaten zu logi.com, die ihr bei der Einrichtung des Harmony Hubs erstellt habt. Für unsere tvOn Aktion klicken wir nun auf Start Activity und wählen die passende Harmony Hub Aktion aus.
Das wiederholt ihr nun für das Ausschalten der Aktion und für alle weiteren Aktionen, die ihr in HomeKit integrieren wollt. Vergesst jedoch nicht, euch die Event Namen (in diesem Beispiel tvOn) und den Maker Key zu notieren. Die Angaben benötigen wir später bei der Einrichtung in Homebridge.
Installation über die Homebridge App
Über die App wählen wir ganz unten rechts Add Accessoires und anschließend Generisch aus. Dort tragen wir als Paketname homebridge-ifttt ein und als Schlüssel IFTTT. Zudem müsst ihr noch Platform auswählen und könnt dann schon auf Installieren gehen.
Anschließend öffnet sich die leere Konfiguration. Bevor wir fortfahren, solltet ihr diese einmal oben rechts sichern. Ihr könnt die Konfiguration jederzeit im Tab Experte unter homebridge-ifttt erneut öffnen.
Nun legt ihr einen String an. Als Key gebt ihr makerkey ein und unter Value euren IFTTT Maker Key, den ihr euch eben notiert habt (Die URL ohne https://maker.ifttt.com/use/). Außerdem legt ihr ein Array an, das ihr accessoires nennt.
Innerhalb dieses Arrays, erstellt ihr nun ein Dictionary, indem ihr auf das + neben accessoires klickt. Dieses Dictionary öffnet ihr nun. Es erscheint eine neue, leere Konfigurationsseite.
Darin erstellt ihr nun wieder einen String. Als Key gebt ihr dieses mal name und als Value Harmony an. Nun erstellt ihr erneut ein Array mit der Bezeichnung buttons.
Innerhalb dieses Arrays müsst ihr nun pro Aktion (Fernsehen, Playstation spielen usw.) ein Dictionary anlegen. Ihr geht danach auf das Dictionary und es öffnet sich erneut eine leere Konfigurationsseite.
Dort legt ihr nun drei Strings an. Bei dem ersten String tragt ihr als Key caption ein und als Value vergebt ihr einen Namen für die Aktion, z.B. Fernsehen.
Bei dem zweiten String müsst ihr als Key triggerOn eintragen und unter Value den Event Namen von eben, den ihr bei IFTTT vergeben habt. In unserem Beispiel wäre das tvOn.
Bei dem dritten String lautet der Key triggerOff. Unter Value tragt ihr den Event Namen von der Aktion ein, die die Geräte wieder ausschaltet. Bei uns ist es tvOff.
Nachdem ihr das für alle Aktionen wiederholt habt, müsst ihr nur noch oben rechts auf Sichern gehen. Im Tab Aktionen könnt ihr Homebridge noch Neustarten und anschließend sollten die Geräte über HomeKit steuerbar sein.
Installation über SSH
Um euch über SSH auf euren Raspberry Pi aufzuschalten, könnt ihr unter Mac das Terminal und unter Windows das kostenlose Programm Putty verwenden.
Mit dem folgenden Befehl stellt ihr die Verbindung her. Die IP Adresse müsst ihr natürlich durch eure eigene ersetzen.
ssh [email protected]
Bei der Passwortabfrage einfach euer vergebenes Passwort eingeben. Das Standardpasswort war ursprünglich mal raspberry.
Nun könnt ihr das IFTTT Plugin installieren. Dies kann wenige Minuten in Anspruch nehmen.
sudo npm install -g homebridge-ifttt
Anschließend müsst ihr noch eure Konfiguration ergänzen. Diese könnt ihr mit dem folgenden Befehl öffnen.
sudo nano /root/.homebridge/config.json
Unter Platforms ergänzt ihr den folgenden Abschnitt. Allerdings passt ihr natürlich den Maker Key und die Event Namen durch eure eigenen an.
{ "platform" : "IFTTT", "name" : "IFTTT", "makerkey" : "XXXXXXXXXXXXXXXXX", "accessories" : [ { "name" : "Harmony", "buttons" : [ { "caption" : "Fernsehen", "triggerOff" : "tvOff", "triggerOn" : "tvOn" } ] } ] }
Pro Aktion könnt ihr einfach einen Button ergänzen.
"buttons" : [ { "caption" : "Fernsehen", "triggerOff" : "tvOff", "triggerOn" : "tvOn" }, { "caption" : "Playstation spielen", "triggerOff" : "playstationOff", "triggerOn" : "playstationOn" } ]
Nun müsst ihr das Ganze nur noch mit Ctrl + o speichern und mit Ctrl + x schließen. Nach einem Neustart von Homebridge solltet ihr die Geräte unter HomeKit finden.
…und ich bin schon am verzweifeln, warum meine Bridge nicht mehr ansprechbar ist. Setze meine Pi jetzt neu auf ohne Harmony. Ihr habt es zwar super beschrieben, allerdings bei meinen 7 Harmony-Szenen diese mit ifttt einzupflegen wäre echt mühsam. Ich hoffe nur, dass dann jetzt bald ein Update für das Plugin kommt und es wieder rund läuft.
gibt es irgendwie die Möglichkeit, dass man benachrichtigt wird, wenn der Plugin erneuert wird? Oder muss ich alle 36 Minuten googeln und selber im Netz stöbern um mich zu informieren? Wäre ja schrecklich mühselig ^^
ich fürchte auf das harmony plugin wirst du lange warten. der Fehler ist bereits bekannt aber da tut sich leider gar nichts vom Entwickler des plugins.
Viele dann k für diese Anleitung. ich müsste auch 4 Szenen eingeben und mal schauen ob ich es hinbekomme. aber das wäre echt super wenn es dann so funktioniert.
Hallo zusammen.. erstmal vielen Dank für die Anleitung. Mit dem homebridge-harmonyhub habe ich das Problem, dass diese immer mal wieder in der homebridge verschwinden und dann wieder da sind, aber aus dem zugeordneten Raum (Wohnzimmer) in den Standardraum verschoben werden. Damit sind dann auch alle Szenen futsch. Daher kam mir Euer IFTTT Workaround sehr gelegen. Danke dafür. Allerdings stecke ich gerade bei der Umsetzung fest. Folgenden Fehler erhalte ich.
===========
…
..
[2017-01-18 18:26:55] Loaded plugin: homebridge-http
[2017-01-18 18:26:55] Registering accessory ‘homebridge-http.Http’
[2017-01-18 18:26:55] —
[2017-01-18 18:26:56] Loaded plugin: homebridge-ifttt
[2017-01-18 18:26:56] Registering platform ‘homebridge-ifttt.IFTTT’
[2017-01-18 18:26:56] —
[2017-01-18 18:26:57] Loaded plugin: homebridge-netatmo
[2017-01-18 18:26:57] Registering platform ‘homebridge-netatmo.netatmo’
[2017-01-18 18:26:58] —
[2017-01-18 18:26:58] Loaded plugin: homebridge-ssh
[2017-01-18 18:26:58] Registering accessory ‘homebridge-ssh.SSH’
[2017-01-18 18:26:58] —
[2017-01-18 18:27:00] Loaded plugin: homebridge-wemo
[2017-01-18 18:27:00] Registering accessory ‘homebridge-wemo.WeMo’
[2017-01-18 18:27:00] —
[2017-01-18 18:27:01] Loaded plugin: homebridge-zway
[2017-01-18 18:27:01] Registering accessory ‘homebridge-zway.ZWayServer’
[2017-01-18 18:27:01] Registering platform ‘homebridge-zway.ZWayServer’
[2017-01-18 18:27:01] —
[2017-01-18 18:27:01] Loaded config.json with 4 accessories and 3 platforms.
[2017-01-18 18:27:01] —
[2017-01-18 18:27:01] Loading 3 platforms…
[2017-01-18 18:27:01] Initializing ZWayServer platform…
[2017-01-18 18:27:01] [netatmo weather] Initializing netatmo platform…
[2017-01-18 18:27:01] [netatmo weather] Creating NetatmoPlatform…
[2017-01-18 18:27:02] [IFTTT] Initializing IFTTT platform…
[2017-01-18 18:27:02] [IFTTT] Loading accessories…
/usr/local/lib/node_modules/homebridge-ifttt/index.js:88
this.IFTTTaccessories.map(function(s) {
^
TypeError: this.IFTTTaccessories.map is not a function
at Object.IFTTTPlatform.accessories (/usr/local/lib/node_modules/homebridge-ifttt/index.js:88:26)
at Server._loadPlatformAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:354:20)
at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:298:16)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:80:36)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
======================
In meiner config.json sieht der Eintrag wie folgt aus:
======================
{
“bridge”: {
“name”: “Homebridge”,
“username”: “AA:11:2A:B3:CD:45”,
“port”: 12345,
“pin”: “111-22-333”
},
“accessories”: [{
“accessory”: “Http”,
“name”: “Hombot”,
“on_url”: “xxx”,
“on_body”: “{\”state\”:\”On\”}”,
“off_url”: “http://xxxx”,
“off_body”: “{\”state\”:\”Off\”}”,
“username”: “”,
“password”: “”,
“sendimmediately”: “”,
“http_method”: “GET”,
“service”: “Switch”,
“brightnessHandling”: “no”
}, {
“accessory”: “WeMo”,
“name”: “Waschtrockner”,
“description”: “Waschtrockner im Badezimmer”,
“wemo_name”: “Waschtrockner”
}, {
“accessory”: “WeMo”,
“name”: “Spülmaschine”,
“description”: “Spülmaschine in der Küche”,
“wemo_name”: “Spuelmaschine”
}, {
“accessory”: “SSH”,
“name”: “iTunes Music”,
“on”: “osascript -e ‘tell application \”iTunes\” to play'”,
“off”: “osascript -e ‘tell application \”iTunes\” to stop'”,
“state”: “osascript -e ‘tell application \”iTunes\” to get player state'”,
“user”: “xxx”,
“host”: “xxx.xxx.xxx”,
“password”: “xxxxx”
}],
“platforms”: [{
“platform”: “ZWayServer”,
“url”: “http://xxxx”,
“login”: “xxxx”,
“password”: “xxxxx”
}, {
“platform”: “netatmo”,
“name”: “netatmo weather”,
“ttl”: 5,
“auth”: {
“client_id”: “xxxxx”,
“client_secret”: “xxxx”,
“username”: “[email protected]”,
“password”: “xxxx”
}
}, {
“platform”: “IFTTT”,
“name”: “IFTTT”,
“makerkey”: “du_abcD1efG2h3IXXXX”,
“accessories”: {
“name”: “Harmony”,
“buttons”: [{
“caption”: “Live Fernsehen”,
“triggerOff”: “LiveFernsehenOff”,
“triggerOn”: “LiveFernsehenOn”
}, {
“caption”: “Apple TV”,
“triggerOff”: “AppleTVOff”,
“triggerOn”: “AppleTVOn”
}]
}
}]
}
===========
Vorab vielen Dank für Eure Hilfe.
VG
Irgendwie meckert der jsonformatter wegen den letzten Klammer. Kann es sein das irgendwo so eine Klammer fehlt? ]
also ich Scheiter schon bei IFTT dem einstellen der Szenen. ich weiss überhaupt nicht wo ich da was anklicken soll. das Fenster wie hier in der Anleitung bekomme ich so jedenfalls nicht zu sehen.
Hi, die Applets kannst du hier erstellen: https://ifttt.com/create
Dort kannst du dann auch das beschriebene this und that auswählen.
Abend zusammen, ich habe bei mir die Harmony Plugin Version 0.1.1 (Vorherige Version) auf meiner Homebridge Installiert diese läuft einwandfrei. Kann euch nur empfehlen diese zu verwenden mit der 2 hatte ich die selben Probleme wie geschildert. Der einzige Unterschied ist das die Harmony Szene jeweils als ein Gerät angezeigt werden. Denke damit kann man aber leben. Würde mich bei erfolg über ein feedback freuen.
PS: Zur Installation über SSH einloggen und folgenden Befehl nutzen:
sudo npm i homebridge-harmonyhub [email protected]
wenn ihr die App Homebridge benutzt muss der Befehl so aussehen:
sudo nano /root/i homebridge-harmonyhub [email protected]
ich habe zwar Alles vom harmony plugin gelöscht und die Konfiguration auch. aber es werden immer noch die activities in der home app angezeigt. wie kann man die denn löschen bzw warum sind sie immer noch da?
und wenn ich in die Logs gehe steht da immer noch: failed to find plugin to handle accessory harmony hub.
das ist doch alles gelöscht…. ;(
Die sind immer noch im Cache vorhanden. In der Konsole einfach folgende zwei Befehle ausführen.
cd /root/.homebridge/accessories
sudo rm cachedAccessories
Ich glaube, dass du dann aber alle Geräte unter HomeKit neu in Räume, Szenen und Auslöser zuordnen musst.
Mit Homebridge App: sudo nano /root/i homebridge-harmonyhub [email protected]
Vorher natürlich die alte Version deinstallieren.
tut mir leid. ich verstehe kein Wort…wenn ich das eingebe kommt noch mehr wirres zeug was ich nicht verstehe. ich habe es doch hiermit gelöscht:
sudo npm uninstall -g homebridge-harmonyhub
trotzdem sind die Szenen noch da und der Fehler kommt. vielleicht kannst du im Forum antworten. dann bleibt es hier übersichtlicher.
Danke für den Hinweis. Darüber habe ich noch nicht nachgedacht.
Bei mir schaltet sich der “Schalter” immer nach kurzer Zeit automatisch wieder aus. Ist das Problem bekannt?
Leider ist das normal. Das ist der einzige Wermutstropfen: Der aktuelle Status wird leider nicht angezeigt.
Hallo Yannic,
wenn man die index.js im Installationsordner durch die Datei aus dem GitHub Projekt (https://github.com/ilcato/homebridge-ifttt) ersetzt bleibt der Schalter eingeschaltet 😉
Hallo,
wo finde ich den den Installations Ordner von dem IFTTT Plugin unter Homebridge installiert in docker auf einer Synology…. hmmm
Hallo, mich würde interessieren ob jemand bestätigen kann das die homebridge-harmonyhub [email protected] Version fehlerfrei läuft? Habe ja gelesen das die neue Version Fehler fabriziert. LG Maik
Schau mal im Forum dort ist ein Threed dazu:
http://forum.smartapfel.de/forum/index.php?thread/15-probleme-beim-installieren-von-harmony-und-ifttt/&postID=64#post64