Erste Versuche mit Google Assistant Sprachsteuerung und IP-Symcon

20. Jul
2019
geschrieben von Roland Meier

Seit dem Symcon Update auf Version 5 wirbt Symcon auf der Homepage mit der Alexa bzw. Google Home Sprachsteuerung (Anzeige).

Obwohl ich eigentlich kein Fan davon bin, dass ich Geräte zuhause habe, welche mir den ganzen Tag zuhören, ist die Neugierde dennoch groß.
Zumal man nie wissen kann, was Siri oder das Google Smartphone eh bereits alles mithören. Schließlich haben die den gleichen Dienst bereits an Bord.

 

Obwohl mir Alexa zum einen besser gefällt und auch die Aktivierung anstelle "Okay Google" mehr zusagt, so wollte ich meine ersten Versuche dennoch mit Google Home machen.

Sämtliche Hardware für meine Tests sind mit meinen Smartphones & Tablets bereits vorhanden und ich kann ohne Investitionen loslegen.

 

Was will ich per Sprache im Smarthome steuern?

Meine erste Frage war, was ich damit überhaupt machen möchte bzw. erwarte:

  • Steuerung der Lichter an/aus
  • Steuerung der LEDs an/aus/Farbe
  • Steuerung der Multiroom Anlage
  • Steuerung der Rollos

 

Eines vorweg, den Unterschied zw. Google Home & Google Assistant habe ich bis jetzt noch nicht ganz verstanden. Es sind definitiv unterschiedliche Dienste und auch Apps.

Soweit verstanden, sind wohl Google Home die Geräte wie Google Home Mini, während der Assistant der dahinterstehende Dienst und Googles Antwort auf Siri und Alexa ist?

Unterschiede können u.a. hier nachgelesen werden:
http://www.differencebetween.net/technology/difference-between-google-home-and-google-assistant/

 

Erste Gehversuche mit dem Smartphone

Um überhaupt mit Symcon kommunizieren zu können, sind im Symcon zwei Dinge zu erledigen.

 

  1. Das Google Assistant Kern Modul installieren
    ObjektbaumKern Instanzen → Modules → + mit URL https://github.com/symcon/ 
    Danach Objektbaum → + Instanz → Hersteller Filter: Google → Google AssistantOK

    google assistant fehlermeldung

    Auch beim Versuch die soeben erstellte Kern Instanz zu öffnen kommt der Fehler, welcher innerhalb der Meldung u.a. auf den Status des Symcon Connect Moduls hinweist.

    Dieses hatte ich gezielt gelöscht, da ich es bislang nicht benötigt habe. In dem Fall musste es aber wieder eingebunden und eingerichtet werden.

  2. Den Symcon Connect Dienst aktivieren
    Objektbaum → + Instanz → Hersteller Filter: Kern → Connect Control
    Nun erscheint beim Öffnen vom Google Assistant Modul schon eine andere Meldung, dass Symcon Connect nicht aktiv sei.

    Das Aktivieren vom Connect Control ist einfach mit Klick auf "Server Reaktivieren" und anschließender Aktivierung des Moduls möglich.

    Durch Connect Control ist Symcon von Außen erreichbar, siehe https://www.symcon.de/service/dokumentation/modulreferenz/connect-control/

 

Wird anschließend der Google Assistant neu aufgerufen, erscheint auch schon, dass Symcon Connect OK ist.

 

Licht über Google Assistant steuern

Als Erstes habe ich in meiner Symcon Programm-Kategorie eine neue Unterkategorie Google Assistant angelegt, in welche ich z.B. eine Boolean Variable "Licht Eingang" gelegt habe.

In der Google Assistant Instanzkonfiguration unter "Licht (Schalter)" bin ich dann auf Hinzufügen und anschließend auf die neue Variable sowie den Namen eingeben.

In der Spalte Status befindet sich dann ein Minus (-). Mit Klick auf Übernehmen werden die Einstellungen gespeichert und im Status erscheint Action required.
Für die Variable ist also noch ein AktionScript notwendig. Nachdem auch dieses angelegt ist, erscheint im Status ein OK.

Auch mit einem Klick auf Geräteupdate anfragen erscheint lediglich ein Failed: Requested entity was not found.
Ich denke, da ich bisher noch nie etwas mit Google Assistant gemacht habe und wohl mein Name Licht Eingang noch nicht bekannt ist?

 

In der Assistant App auf dann auf Einstellungen → Smart-Home-Steuerung → 3 Punkte → Konten verwalten → Symcon aus der langen Liste auswählen → Email Adresse eingeben zu welcher die Symcon Lizenz gehört → Verifizierungscode wird an diese Adresse geschickt und muss dann in der App eingegeben werden.

Nun kann in der Instanzkonfiguration und dem Button Geräteupdate anfragen die Konfiguration geschickt werden und man erhält ein OK zurück.

 

Und schon kann man auch mit dem entsprechenden Befehl das Licht schalten.

 

Mit dem AktionScript des Lichts steuere ich dann meine vorhandenen Skripte z.B.

IPS_RunScript(12345);

 

Erste Steuerungen mit dem Smartphone

Neben dem Licht habe ich u.a. noch meine Rollos und auch die Multiroom Anlage via Skripte eingebunden. Dazu später noch mehr.

Meine ersten Versuche waren also mit dem Smartphone und dessen Mikro, was grundsätzlich funktioniert hat. War ich jedoch etwas weiter vom Smartphone weg, verstand es mich nicht mehr, folglich führte es natürlich auch keine Befehle aus.

 

google home miniWeitere Versuche mit dem Google Home Mini

Meine nächsten Versuche waren dann mit einem Google Home Mini, welches schon deutlich besser war.

Der Lautsprecher hat ein 360 Grad Mikrofon welches wirklich erstaunlich gut funktioniert. Selbst im nächsten Raum bei laufender Musik kann ich noch Befehle kommunizieren, sofern die Musik natürlich nicht zu laut ist.

 

Die Einrichtung vom Google Home Mini geht über die Google Home App auf dem Smartphone. Dabei wird zuerst eine WLAN Verbindung mit dem Mini erstellt, welcher dann ins Heim-WLAN eingebunden wird. Der Prozess ist denkbar einfach.

 

Was die finale Einrichtung angeht, fand ich aber die Assistant App etwas übersichtlicher, vor allem final habe ich dann doch die Befehle eher in dieser App den Räumen zugeordnet und diverses "Feintuning" gemacht.

 

Der Google Home Mini heute mit IP-Symcon & WA-Faktor

Obwohl ich eigentlich die Sache lediglich kurzzeitig "ausprobieren" wollte, so haben wir bis heute den Google Home in Betrieb.

Selbst meine Frau meinte inzwischen schon öfter, wie cool das Öffnen der Rollos und die Wiedergabe der Spotify Listen aus der Küche heraus funktioniert.

 

Abschließend möchte ich euch hier noch interessante Skripte für den Google Assistant zeigen, wie schon erwähnt habe ich für jegliche Befehle eigene Skripte erstellt, um gezielt die Übergabewerte zu übersetzen.

  1. Licht
    Da unser Licht quasi wie ein "Stromstoßrelais" funktioniert, reichen hier die einfachen Schaltbefehle. Geschaltet wird mit "Schalte Licht im Wohnzimmer":
    IPS_RunScript(12345);

     

  2. LED Leisten
    Die LED Leisten sind schon etwas komplexer, da ich hier eine Trennung nach Farben haben wollte. Hier wird gesteuert mit "Schalte LED im Wohnzimmer auf grün":
    switch ($_IPS['VALUE']) {
        case 255: // blau
            echo "blau";
            IPS_RunScript(12345);
            break;
        case 65280: // grün
            echo "grün";
            IPS_RunScript(23456);
            break;
        case 16711680: // rot
            echo "rot";
            IPS_RunScript(34567);
            break;
        case 16768685: // weiß
        case 16777215: // an
            echo "weiß";
            IPS_RunScript(45678);
            break;
        default:
        case 0:
            echo "aus";
            IPS_RunScript(56789);
            break;
    }

     

  3. Rollos
    Für die Rollo-Steuerung habe ich eh IPS-Shadowing in Betrieb, welche mir die bequeme Ansteuerung der Rolläden erlaubt. Mit "Öffne/Schließe Rollo im Esszimmer" kann ich diese steuern, auf Wunsch auch mit einer Prozentangabe:
    IPSUtils_Include('IPSShadowing.inc.php', 'IPSLibrary::app::modules::IPSShadowing');
    $device = new IPSShadowing_Device(12345);
    
    switch ($_IPS['VALUE']) {
        case 100:
            $deviceActive = $device->MoveByControl(c_MovementId_Closed);
            break;
        case 75:
            $deviceActive = $device->MoveByControl(c_MovementId_75);
            break;
        case 50:
            $deviceActive = $device->MoveByControl(c_MovementId_50);
            break;
        case 25:
            $deviceActive = $device->MoveByControl(c_MovementId_25);
            break;
        case 0:
            $deviceActive = $device->MoveByControl(c_MovementId_Opened);
            break;
        default:
            break;
    }

     

  4. Multiroom
    Bei der Musikwiedergabe muss man aufpassen, nicht in Konflikt mit den eigenen Google Home Mini Befehlen zu geraten. Den Mini habe ich deshalb als Küche deklariert, während meine nächste Multiroom Anlage das Esszimmer darstellt.
    Hier schalte ich ganze einfach die Squeezebox auf Play oder Stop mit: "Spiele Musik im Esszimmer". Dabei spielt er die letzte Playlist.
    if ($_IPS['VALUE']) {
        LSQ_Play(12345);
    } else {
        LSQ_Stop(12345);
    }

    Natürlich kann vorher auch eine Playlist übergeben werden, z.B. "Spiele Charivari im Esszimmer" mit:
    LSQ_LoadPlaylistByPlaylistID(12345, 123);

 

Gelesen 3874 mal Letzte Änderung am Dienstag, 11 August 2020
Artikel bewerten
(4 Stimmen)
Bitte anmelden, um einen Kommentar zu posten
Anzeige

Anzeige

123RF.com - For all your creative needs!

Kalender

« April 2024 »
Mo Di Mi Do Fr Sa So
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

Newsletter

Euch interessieren meine Themen hier? Dann tragt euch einfach in den Newsletter ein und ihr werden bei neuen Beiträgen informiert.

Anzeige