Google Home steuert 433 MHz-Funksteckdosen

Google Home ist da. Damit ist das nächste Sprachutensil zum Beantworten von Fragen, aber auch zur Steuerung des Zuhauses. Nartürlich hat Google Home genau so wie der Echo keine eigene Schnittstelle, um die guten, alten 433MHz-Steckdosen zu steuern. Deswegen empfehle ich in diesem Fall wieder wie bei Amazons Echo einen Raspberry-Pi zur Steuerung.

Da die Stelle der Steuerung der Box der Steuerung über Alexa gleicht, verweise ich für diesen zweiten Teil jetzt schon mal auf den Abschnitt im Artikel über Alexa. Es geht los bei “Der Raspberry muss die Botschaft empfangen”. Der vorgelagerte Teil, wie die Steuerinformationen zum Raspberry kommen, läuft über ifttt.com.

Steuerbefehle über ifttt.com schicken

ifttt.com bietet die Möglichkeit verschiedene Schnittstellen miteinander zu verbinden. Auch der Google Assistant steht dort inzwischen zur Verfügung. Hier kann man Sprachbefehle hinterlegen und sie hinterher mit anderen Schnittstellen kombinieren. Für die Steuerung der Steckdosen habe ich folgendes Beispiel angelegt:

Wie man schon in der Konfiguration sehen kann, ist die Einstellung sehr leicht: man gibt an, auf welchen Satz hin Google Home reagieren soll. Das schöne ist: im Gegensatz zu Amazon Echo muss man keinen Skillnamen vorher sagen. Eigene Sätze werden einfach in das System integriert, als ob sie von Google selbst kommen. Entsprechend habe ich hinterlegt “Wohnzimmerlicht an”. ifttt.com legt diese Aussage im Google Assistant an. Das ist dann auch schon der erste Teil der Schnittstellenbrücke. Die zweite ist nun die Brücke zur Webschnittstelle aus dem obigen Artikel. Diese realisiert man als “Webhook”. Eine Webhook ist nichts anderes, als ein URL-Aufruf. Ich übergebe also an meinen Webserver per URL-Aufruf den Status, welche Steckdosennummer geschaltet werden soll und ob diese ein- oder ausgeschaltet werden soll. Also zum Beispiel so:

http://www.meinserver.de/input.php?steckdose=1&zustand=1

Die wird dann mit dem PHP-Skript in einer Datenbank gespeichert. Damit, wenn mehrere Befehle kommen, diese nicht verloren gehen und der Reihe nach abgearbeitet werden können. Die Tabelle sieht entsprechend einfach aus:

CREATE TABLE IF NOT EXISTS `befehle` ( `id` int(11) NOT NULL AUTO_INCREMENT, `datum` datetime NOT NULL, `schalter` varchar(5) NOT NULL, `zustand` int(1) NOT NULL, PRIMARY KEY (`id`) )

In diese Tabelle werden dann die Einträge mit folgendem Eintrag eingefügt:

// Über $db die DB-Verbindung herstellen if(is_numeric($_POST[schalter]) && is_numeric($_POST[zustand]) { $db->query("INSERT INTO befehle SET datum=NOW(), schalter='$_POST[schalter]', zustand='$_POST[zustand]'"); }

Damit hat dann Google Home die Information abgelegt, die dann der Raspberry mit dem Funkmodul ausliefert.

Eine Alternative dazu sind Google-Actions. Diese sind aktuell aber nur in Englisch verfügbar. Eine deutsche Implementation ist zwar für 2017 vorgesehen, wann das aber letztlich sein wird, steht wohl noch ein wenig in den Sternen. Aber über ifttt.com ist es ohnehin schneller und leichter realisiert.

Die weiteren Schritte sind, wie oben beschrieben, auch im Artikel über die Steuerung wie bei Alexa zu entnehmen, denn ab dieser Stelle arbeitet der Raspberry und dem ist es letztlich egal, wer die Information liefert.

Ist das steuern von so dummen Steckdosen überhaupt interessant? Oder sind die smarten Steckdosen über WLAN interessanter und lohnenswerter? Schreibt mir gerne Eure Meinung in die Kommentare.

Veröffentlicht von

Fachinformatiker, Medienliebhaber und – konsument, Rheinländer, kleiner Radiomacher, Schreiber dieses Blogs

, am

2 Kommentare Schreibe einen Kommentar

  1. Hi,
    da du schon einen Google Home Freund hast, hätte ich eine Frage.
    Kann man das lokale Netzwerkinterface auch für einen Webrequest nutzen. Ich würde meinen TV ungern von außen erreichbar machen, aber es wäre doch cool per Assi eine Aufnahme einzurichten.

  2. Hallo Sebastian,

    super Beschreibung & Homepage genau das was ich gesucht habe jedoch habe ich noch ein bis zwei Fragen dazu.

    Ich habe mir einen Google Home Voice Kit für meinen Raspberry Pi 3 gekauft (https://aiyprojects.withgoogle.com/) und diesen erfolgreich verbunden.
    Ich habe noch ein paar alte Funksteckdosen die ich gerne mit dem Google Home Kit steuern möchte. Auf Deiner Seite steht das zwar alles gut beschrieben und bei IFTTT bin ich jetzt auch angemeldet jedoch verstehe ich das nicht mit der Webschnittstelle (Webhook) und der Datenbank.

    Muss ich diese Datenbank zwingend haben oder kann ich auch anders den Befehl hinterlegen?

    Ich möchte per Sprachbefehl (“OK, Google, Schalte das Licht an”) das ein bestimmtes Python-Script auf dem Raspberry Pi ausgeführt wird wo hinterlegt ist das die 433Mhz Funksteckdose angeschaltet wird.

    Könntest Du mir hier eine Hilfestellung geben?

    Gruß,
    Katsche

Schreibe einen Kommentar