,

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.

rp_Homematic-Systemvaribalen-700x308.jpg

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.

homematic-programme-uebersicht

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.

putty-raspberry

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.

Nun müssen wir zuerst die laufende Homebridge stoppen. Das können wir mit folgenden Befehl machen:

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.

homematic-config-json

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.

Inhalt laden

Ihr könnt den Objekten dann einen eigenen Namen zuweisen, über den Siri die entsprechende Aktion ausführt. Ein kleiner Tipp von mir: Ich habe einen neuen Raum für die Variablen und Programme angelegt, damit diese nicht zwischen den anderen Sensoren und Aktoren auftauchen. Dadurch hat eine gute Übersicht und kann die Funktionen auch direkt über die HomeKit App ausführen!

Viel Spaß beim nachbauen ;-)



23 Kommentare
  1. Dr. Alexander Hoehfeld
    Dr. Alexander Hoehfeld sagte:

    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

    Antworten
    • Chris
      Chris sagte:

      Die Werte der Variable dürfen vermutlich keine Leerzeichen haben, zumindest war es bei mir das Problem bei der voreingestellten Anwesenheitsvariable.

      Antworten
      • Manuel Moya Ruiz
        Manuel Moya Ruiz sagte:

        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.

        Antworten
  2. Michael
    Michael sagte:

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

    Antworten
  3. Tobias
    Tobias sagte:

    Hallo Sebastian,
    die Programme werden nun in HomeKit zwar angezeigt, aber als „nicht unterstützt“ gekennzeichnet… Hast du dafür vielleicht eine Lösung?

    Antworten
  4. Horst
    Horst sagte:

    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

    Antworten
  5. Sascha
    Sascha sagte:

    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

    Antworten
    • Ralf
      Ralf sagte:

      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

      Antworten
  6. HuDi
    HuDi sagte:

    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

    Antworten
  7. Holger
    Holger sagte:

    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

    Antworten
    • Sebastian
      Sebastian sagte:

      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…

      Antworten
  8. Torsten
    Torsten sagte:

    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

    Antworten
    • Falk
      Falk sagte:

      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

      Antworten
    • Tim
      Tim sagte:

      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?

      Antworten
  9. Andreas Weidenbacher
    Andreas Weidenbacher sagte:

    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

    Antworten
  10. Maurice
    Maurice sagte:

    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

    Antworten
    • Sebastian
      Sebastian sagte:

      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

      Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert