Homematic: Variablen und Programme mit Siri aufrufen
Wie genial sich Homematic über Siri steuern lässt, habe ich Euch ja bereits in diesem Beitrag hier sehr ausführlich erklärt. Wenn Ihr die Einrichtung nicht selber hin bekommt, dann könnt Ihr mich natürlich anschreiben, ich kann Euch einen fertig konfigurierten Pi zukommen lassen.
Doch es lassen sich über Siri bei Homematic nicht nur einfache Aufträge wie „…Rollläden im Wohnzimmer auf 20% stellen..“ absetzen, sondern es können auch komplexe Programme gestartet werden. Alle Programme, die Ihr bereits in der CCU2 geschrieben habt, können nun auch über einen Sprachbefehl gestartet werden. Neben Programmen besteht auch die Möglichkeit, Systemvariablen nach den eigenen Wünschen zu setzen. Damit eröffnen sich ganz neue Möglichkeiten, z.B. auch zur automatischen Anwesenheitserkennung und anderen ortsabhängigen Funktionen. Doch dazu mehr in einem weiteren Artikel…..
Hier sehr Ihr eine Übersicht, der Hardware, die ich für diese Anleitung verwendet habe:
Bezeichnung | Amazon | ELV-Shop | ELV-Bausatz |
4 GB SD-Karte | Link | Link | nicht verfügbar |
Powerline Adapter | Link | Link | nicht verfügbar |
CCU2 | Link | Link | Bausatz |
Raspberry Pi 2 | Link | Link | nicht verfügbar |
Raspberry Pi3 | Link | Link | nicht verfügbar |
Apple TV 4. Gen | bei eBay: Link |
Wie können die Programme und Variablen per Sprachbefehl gesteuert werden?
Ihr braucht dazu natürlich Eure bestehende Homematic Infrastruktur, eine Homebridge (zum Artikel), die sich im gleichen Netzwerk wie die CCU2 befindet und ein Apple Gerät, das Siri unterstützt. Die Spracheingabe funktionieren auf einem Apple TV (4. Gen.) genauso gut, wie auf einer Apple Watch oder einen iPhone.
Um die gewünschten Programme über die Homebridge zu starten müssen wir zuerst den genauen Namen der Programme ermitteln, die gesteuert werden sollen. Dazu öffnen wir die Weboberfläche der CCU2 und navigieren zu folgendem Menü:
„Programme und Verknüpfungen“ –> „Programme & Zentralenverknüpfungen“
Hier findet Ihr, wie sicher bekannt, alle bereits geschriebenen Programme. Wir suchen uns hier nun die Programme raus, die per Sprachbefehl aufgerufen werden sollen.
Zu diesem Zeitpunkt wäre es auch sinnvoll das Programm mit einem „sprechenden“ Namen zu versehen, der nicht allzu komplex ist, da er später von Siri verstanden werden muss.
Nun müssen wir die config.json unsere Homebridge anpassen und die entsprechenden Programme eintragen. Dazu verbinden wir uns über SSH mit der Homebridge. Ich verwende dazu Putty.
Die IP-Adresse lässt sich sehr einfach über Eure Fritz! Box (oder einen anderen Router) herausfinden. In der Netzwerkübersicht sind dort alle angeschlossenen Geräte zu sehen. Die passende IP-Adresse tragen wir nun in das „Host Name“ Feld bei Putty ein.
Solltet Ihr meiner Anleitung gefolgt sein, loggen wir uns als „Pi“ mit dem Passwort „raspberry“ ein.
sudo /etc/init.d/homebridge stop
Damit haben wir die Homebridge gestoppt und können nun die config.json anpassen. Um das File aufzurufen, geben wir folgenden Befehl ein:
sudo nano ~/.homebridge/config.json
Es öffnet sich ein neues Fenster, indem Ihr den Inhalt der config seht.
Wir müssen und folgende Zeilen anpassen: „programms“:[„…xxxx…..“,“…..yyyy…..“] für alle Programme, die wir aufrufen wollen.
Variablen
Für Variablen geht Ihr genau so vor, es muss aber die Zeile
„variables“:[„…xxxx…..“,“…..yyyy…..“] angepasst. werden. Jedes Programm und jede Variable muss dabei mit „“ umklammert und durch ein Komma getrennt werden.
Nachdem alle Eingaben getätigt worden sind, speichern und verlassen wir das config-file. Dazu drücken wie „Strg +X“ und bestätigen mit „Y“
Nun könne wir die Homebridge wieder starten mit diesem Befehl:
homebridge
Das Vorgehen ist sehr simpel und es können mehrere Programme und Variablen gleichzeitig eingefügt werden. Nachdem die Homebridge wieder hochgefahren ist, werden die neuen Variablen und Programme als „Schalter“ in HomeKit angezeigt.
Klicken Sie auf den unteren Button, um den Inhalt von www.cpx-ads.de zu laden.
Viel Spaß beim nachbauen ;-)
Hallo, ich habe das mit der Anwesenheitsvariable und Homekit versucht. Sie taucht auch problemlos auf dem iPhone in der Home-App auf. Allerdings setzt sich der dann verfügbare Schalter (bei mir im Raum „Personen“) sofort nach Aktivierung wieder zurück auf deaktiviert? Gibt’s da noch ein Stück Magie, das ich vergessen habe?
lg
alex
Die Werte der Variable dürfen vermutlich keine Leerzeichen haben, zumindest war es bei mir das Problem bei der voreingestellten Anwesenheitsvariable.
WOW!!!! Das war die Lösung. Das muss unbedingt in die Anleitung rein. Der Standard False-Wert hat nämlich ein Leerzeichen. Und damit geht’s tatsächlich nicht.
Hallo Sebastian,
tolle Anleitungen die ich hier vorgefunden habe. Hat alles einwandfrei funktioniert! Klasse! Nur die Programme lassen sich nicht starten. Über meine Pocketcotrol app z.B. oder über die myHomeapp lassen sich meine Milights ohne weiteres schalten, verwende ich allerdings den Sprachbefehl, passiert nichts, ausser dass Siri eine Fehlermeldung ausgibt, dass z.B. im Bereich Flur bei Mein Haus nichts gefunden wurde. Wo liegt mein Fehler? Ich bin am Verzweifeln. Über eine Antwort würde ich mich freuen :)
Hallo Sebastian,
die Programme werden nun in HomeKit zwar angezeigt, aber als „nicht unterstützt“ gekennzeichnet… Hast du dafür vielleicht eine Lösung?
Hallo Tobias,
genau das gleiche Problem habe ich auch. Hast Du dafür schon eine Lösung?
Hallo, vielen Dank erstmal für die super Anleitungen. Habe bei Systemvariablen noch das Problem, dass ich diese über Homekit/Siri zwar problemlos steuern kann, jedoch das Abfragen der Variablen funktioniert nicht. Anders gesagt, wenn ich außerhalb von Homekit einen Variablenzustand ändere, dann wird zB in der Home-App der angezeigte Zustand nicht aktualisiert. Kann man da was machen, dass sich der Zustand in Homekit aktualisiert? Danke und Gruß, Horst
Hallo Sebastian,
ich bin noch auch endlich mal soweit gekommen, dass in der Home-App alles sehen kann. Jedoch habe ich noch einen kleinen Wurm drin. Da ich das Garagentor per Taster schalten muss, habe ich ein kurzen Programm geschrieben. Wenn ich dies in der CCU ausführe klappt es auch wunderbar. Das Programm wurde auch mit deiner Anleitung in die Home-App übertragen. Führe ich das Programm dann aber aus, kann ich sehen, das er für 2 Sekunden schaltet, also so, wie es im Programm geschrieben ist, jedoch fährt es nicht hoch. Wenn ich das Programm direkt danach in der CCU ausführe, geht es… Vielleicht hast Du ja ne Lösung
Gruß Sascha
Hallo!
Falls das Problem noch aktuell ist: ich hatte es ebenfalls.
ob Zufall oder nicht: ich hatte den Namen „Öffnung“, „Türöffnung“ und einige mehr vergeben. Nachdem ich den Namen geändert habe auf „Eintritt“ (hat z.B. Garnichts mit „öffnen/Öffnung“ zu tun) hat es reibungslos über Siri funktioniert. Evtl. gibt es „reservierte“ Wörter die nicht beachtet werden? Einen Versuch ist es wert.
@Sebastian: Vielen Dank für die super Anleitung und Dein Engagement! Das hat mir sehr geholfen damit sogar ich als absoluter Linux-Noob die homebridge aufsetzen konnte!
Gruß,
Ralf
Hallo Sebastian , prima Beitrag , Systemvariablen ( ein/aus) funktioniert prima , nach dieser Anleitung meine erste Modifikation auf der Pi .
noch ein kleiner Tippfehler in der Anleitung :
sudo /etc/inid.d/homebridge stop –> geht erst wenn man ….init ….. schreibt
Aber da Du es in einer anderen Anleitung auch mit „t“ schreibst bin ich sogar dahinter gekommen.
Grüße HuDi
…Danke für den Hinweis! Ist soeben geändert worden!
Hallo Sebastian,
zwei kleine Hinweise:
1) Du hast beim Befehl zum Schließen der Homebridge „sudo /ect…“ statt „sudo /etc…“ stehen.
2) in der Überarbeiteten config.json in Tutorial zur Homebridge fehlt die Zeile
„variables“: [ ],
Kann aber z.B. unter der Zeile
„programs“: [ ],
ergänzt werden, wenn es jemand auf Variable anwenden will.
Dann noch eine Frage: ich hab meine gewünschten Programme 1:1 eingetragen wie oben beschrieben, leider zeigt mir die Homebridge bei allen Programmen „Dieses Gerät wird derzeit nicht von der Home-App unterstützt.“, die Variablen hingegen werden korrekt angezeigt und sind auch steuerbar.
Gruß… Holger
Hallo Holger,
vielen Dank für Deine Mühe! Habe die Punkte angepasst. Ich stelle die Tage mal eine config zum Downloaden bereit. Zu den Programmen kann ich Dir leider nichts sagen, diesen Fehler hatte ich bei mir noch nicht, ich teste das nachher mal…
Hallo Holger,
hast Du das Problem mit den nicht unterstützten Programmen lösen können?
Gruß,
Rico
Hi,
hab das mal versucht mit der Anwesenheit. Klappt aber irgendwie nicht. Hab das config um die Variablen-Definition ergänzt: „variables“:[„Anwesenheit“],
Die Variable taucht jetzt auch unter iOS auf. Wenn ich sie aber änderen, springt der Schieber immer gleich wieder zurück in den Zustand, in dem er war. Muß man auf der HomeMatic Seite (hab nen PI mit der HomeMatic SW drauf) noch irgendwas machen?
Gruß
Torsten
Hallo, ich habe das gleiche Problem. Gibt es dafür schon eine Lösung? Programme und Variablen werden angezeigt, aber es wird nicht unterstützt in der Home App angezeigt. Wäre für jegliche Hilfe sehr dankbar. Danke und schönes WE
Hallo, auch ich habe die Programme zwar in der Home-App, sie werden mir aber als nicht unterstützt angezeigt. Habt ihr hierzu eine Lösung gefunden?
Habe eine Lösung gefunden (betrifft iOS 10):
https://github.com/thkl/homebridge-homematic#programs
Hallo,
ich habe mit iOS 11.1 das gleiche Problem, dass Programme zwar im HomeKit angezeigt werden, allerdings als „nicht unterstützt“. Der Zusatz zu ios10 in der config funktioniert nicht, wirft einen Fehler aus. Hast du vielleicht schon upgedated auf ios11 und das Problem gelöst?
Hallo Sebastian,
Danke für deine Anleitung bzgl. der Programme und Variablen.
Ich habe bei mir eine Systemvariable in der CCU2 , die heißt „Aktueller Stromverbrauch“.
Nach Konfiguration wird diese zum Schalter – hätte aber gerne abgefragt:
Hey Siri, wie hoch ist der aktuelle Stromverbrauch“ – Antwort sollte dann der Inhalt der SysVariablen sein – also z.B. „Der aktuelle Verbrauch ist aktuell 290“.
Ist so etwas zu realisieren – wenn ja wie?
Danke und Gruß
Andreas
Hallo Andreas,
aktuell leider nein. Es können nur binäre Variablen abgefragt und gesetzt werden.
Hallo,
herzlichen Dank für die wirklich guten Beiträge. Bisher hat auch alles hervorragend funktioniert. Dank ihrer Hilfe habe ich auch die Homebridge meiner Raspberry 3 installiert bekommen. Nun wollte ich die Programme und Systemvariablen einbinden. In der config.json sind sie auch namensgleich meiner CCU2 eingetragen, aber sie erscheinen nicht als Schalter in HomeKit.
Woran kann das liegen?
Viele Grüße
Maurice
Hallo Maurice, damit die neuen Geräte und Variablen übernommen werden muss die Bridge einmal neu gestartet werden. Handelt es sich bei den Variablen um den Typ Bool? Also binär? Sonst funktioniert es leider nicht