Google Assistant über IFTTT mit ioBroker verbinden

Antworten
NightWatcher
professional
Beiträge: 132
Registriert: 09.10.2016, 12:44

Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von NightWatcher » 15.09.2017, 09:06

Leider ist der Adapter für Google Assistant ja noch nicht fertig.

Bis dahin wollte ich aber ein wenig Erfahrungen sammeln, ob der Assistent von uns auch genutzt wird, oder einfach nur eine Spielerei für die erste Zeit ist.

Aus dem Grund habe ich mich dran gemacht, und ein kleines Script geschrieben, dass die Antwort von IFTTT auswertet und in ioBroker States setzt.

Der Einstieg ist für Anfänger oft nicht einfach, drum schreibe ich hier mal eine kleine Anleitung, mit der es einfach sein sollte, sich die Ansagen nach Bedarf anzupassen.

in ioBroker habe ich ein Javascript mit folgendem Inhalt angelegt:
Spoiler: Show hidden text

Code: Alles auswählen

on({id: "cloud.0.services.ifttt"}, function(obj) {
    if(obj.newState.val.length > 0)
    {
        var objVal = JSON.parse(obj.newState.val);
        log(objVal.room);
        switch(objVal.room)
        {
            case 'global':
                switch(objVal.type)
                {
                    case 'szene':
                        if(objVal.value == 'Fernsehen')
                            setState("scene.0.state", 2);
                        if(objVal.value == 'Kino')
                            setState("scene.0.state", 1);
                        break;
                }
                break;
            case 'wohnzimmer':
                switch(objVal.do)
                {
                    case 'schalte':
                        switch(objVal.value)
                        {
                            case 'ein':
                            case 'an':
                                setState("modbus.0.holdingRegisters.12342_BELEUCHTUNG_WOHNZIMMER DIMMER", 255);
                                break;
                            case 'aus':
                                setState("modbus.0.holdingRegisters.12342_BELEUCHTUNG_WOHNZIMMER DIMMER", 0);
                                break;
                        }
                        break;
                    case 'dimmen':
                        setState("modbus.0.holdingRegisters.12342_BELEUCHTUNG_WOHNZIMMER DIMMER", objVal.value);
                        break;
                }
                break;
            case 'esszimmer':
                switch(objVal.do)
                {
                    case 'schalte':
                        switch(objVal.value)
                        {
                            case 'ein':
                            case 'an':
                                setState("modbus.0.holdingRegisters.12343_BELEUCHTUNG_ESSZIMMER DIMMER", 255);
                                break;
                            case 'aus':
                                setState("modbus.0.holdingRegisters.12343_BELEUCHTUNG_ESSZIMMER DIMMER", 0);
                                break;
                        }
                        break;
                    case 'dimmen':
                        setState("modbus.0.holdingRegisters.12342_BELEUCHTUNG_WOHNZIMMER DIMMER", objVal.value);
                        break;
                }
                break;
            case 'buero':
                switch(objVal.do)
                {
                    case 'schalte':
                        switch(objVal.value)
                        {
                            case 'ein':
                            case 'an':
                                setState("modbus.0.coils.12309_Beleuchtung_Buero", true);
                                break;
                            case 'aus':
                                setState("modbus.0.coils.12309_Beleuchtung_Buero", false);
                                break;
                        }
                        break;
                    case 'dimmen':
                        
                        break;
                }
                break;
        }
    }
});
Das Ding ist noch etwas rudimentär programmiert, da ich erstmal was zusammenklöppeln wollte, um überhaupt zu sehen, ob und wie schnell die Reaktionszeit ist.

Man sieht aber sehr schön, wie ich Szenen, Dimmer und Licht (ein/aus) schalten kann.

In IFTTT müssen wir nach folgender Anleitung ioBroker einbinden: https://github.com/ioBroker/ioBroker.cl ... c/ifttt.md

Ein Beispiel Applet
Spoiler: Show hidden text
iobroker-ifttt.png
Anhand des JSON kann man nun seine Routinen im Script beliebig erweitern oder aber auch zur besseren Übersicht auf mehrere Scripte verteilen. Ich hoffe, ich konnte dme ein oder anderen hiermit den Einstieg erleichtern.
Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

Benutzeravatar
lobomau
guru
Beiträge: 1058
Registriert: 24.03.2016, 10:45

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von lobomau » 15.09.2017, 13:19

Sehr schön. Sowas habe ich schon gesucht.
Leider scheint es dann doch nicht so einfach für einen Anfänger zu sein es anzupassen.
Ohne Programierkenntnisse stoße ich da gleich an meine Grenzen.
Ist es vielleicht möglich ein noch einfacheres Beispiel zu nehmen, z.B. nur um einen Homematic-Lichtschalter AN/AUS zu schalten? Vielleicht finde ich damit den Zugang.
brix 3150 gigabyte (ioB mit vis, hue, tr-064, ical, ping, telegram, rflink, tankerkoenig, DWD, radar, unifi, Landroid S)
pi3 (Ansagen über sayit, kabelgebunden)
pi1 (arbeitssuchend)
Arduino mega mit 433 MHz-rflink
Google Home, Echo, Echo Dot

NightWatcher
professional
Beiträge: 132
Registriert: 09.10.2016, 12:44

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von NightWatcher » 15.09.2017, 16:01

Schreib doch mal, wie weit du bisher gekommen bist. Gerne kann ich versuchen, dir dann weiterzuhelfen.
Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

MrLee
professional
Beiträge: 196
Registriert: 11.02.2015, 11:21

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von MrLee » 13.11.2017, 12:35

Moin!

Sehe ich das richtig das für jede Sprachaktion ein Applet bei ifttt erstellt werden muß?

Danke Dir
Mr.Lee

NightWatcher
professional
Beiträge: 132
Registriert: 09.10.2016, 12:44

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von NightWatcher » 13.11.2017, 14:20

Ja - aktuell ist das leider so. Deshalb habe ich auch nur 6 Stück zum Test eingerichtet, da es sehr viel Aufwand wäre, da alles aktuell zu halten.
Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

Benutzeravatar
uweklatt
starter
Beiträge: 62
Registriert: 30.08.2017, 19:51
Wohnort: Unterfranken

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von uweklatt » 21.11.2017, 15:04

Hallo,

wenn man bei IFTTT ein Applet mit Parameterübergabe verwendet, können beliebig viele Befehle mit einem Applet übertragen werden. Am Anfang wird dabei immer das gleiche Aktivierungswort verwendet. In ioBroker kann man das dann mit einem Script analysieren und verschiedene Aktionen auslösen.

Tschau
Uwe
[ioBroker auf QNAP]

Benutzeravatar
lobomau
guru
Beiträge: 1058
Registriert: 24.03.2016, 10:45

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von lobomau » 21.11.2017, 15:15

uweklatt hat geschrieben:Hallo,

wenn man bei IFTTT ein Applet mit Parameterübergabe verwendet, können beliebig viele Befehle mit einem Applet übertragen werden. Am Anfang wird dabei immer das gleiche Aktivierungswort verwendet. In ioBroker kann man das dann mit einem Script analysieren und verschiedene Aktionen auslösen.

Tschau
Uwe
Hast du so ein Applet am Laufen?
Blockly Script zum Analysieren kann ich mir noch vorstellen.
brix 3150 gigabyte (ioB mit vis, hue, tr-064, ical, ping, telegram, rflink, tankerkoenig, DWD, radar, unifi, Landroid S)
pi3 (Ansagen über sayit, kabelgebunden)
pi1 (arbeitssuchend)
Arduino mega mit 433 MHz-rflink
Google Home, Echo, Echo Dot

Benutzeravatar
uweklatt
starter
Beiträge: 62
Registriert: 30.08.2017, 19:51
Wohnort: Unterfranken

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von uweklatt » 21.11.2017, 16:32

Hallo lobomau,

ein Beispiel habe ich hier beschrieben:
http://forum.iobroker.net/viewtopic.php?p=91559#p91559

Tschau
Uwe
[ioBroker auf QNAP]

Gear4
Beiträge: 1
Registriert: 25.11.2017, 13:07

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von Gear4 » 25.11.2017, 13:10

Hey. Ich habe mal eine kurze Frage:

Ist die Einrichtung des iobrokers für Google Home schwieriger als mit Alexa?
Ich habe mich auf dem Markt jetzt etwas umgesehen und denke, dass entweder io.broker oder homeassistant die besten Lösungen, um praktisch alles zu steuern.

Was empfehlt ihr mir? Danke im Voraus!

Sent from my SM-G930F using Tapatalk

Pepsi1183
Beiträge: 5
Registriert: 01.03.2017, 17:33

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von Pepsi1183 » 05.12.2017, 13:19

Hi, ich habe mich auch ein wenig an IFTTT und iobroker.pro versucht und stolper über das Problem, dass jetzt Google jeden befehl an IO-Broker leitet und mein definiertes Komando nicht prüft.
Mein applet sieht wie folgt aus:

Option: Say a phrase with a text ingredient
What do you want to say?: Mach mal bitte $
What's another way to say it? (optional): Mach mal $
And another way? (optional): Mach ma $

What do you want the Assistant to say in response?: Wird an IO Broker übergeben

Language: German

--> Make a web request


Ich hatte die Hoffnung das ich es möglichst einfach halten kann und so intuitiv wie möglich, aber wie erwähnt wird jetzt jede Anfrage mit "Wird an IO Broker übergeben" quittiert.
Die optionalen Kommandos hatte ich eingetragen, da ich zunächst dachte das hier das Problem liegt. Aber Hilft auch nicht. :(

Hat hier jemand eine Idee ob es daran liegt, das "Mach mal" zu kurz und damit zu unspezifisch ist, oder ob es generell so ist, dass IFTTT immer alle Anfragen abfängt?

Benutzeravatar
lobomau
guru
Beiträge: 1058
Registriert: 24.03.2016, 10:45

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von lobomau » 06.12.2017, 16:29

Pepsi1183 hat geschrieben:Hi, ich habe mich auch ein wenig an IFTTT und iobroker.pro versucht und stolper über das Problem, dass jetzt Google jeden befehl an IO-Broker leitet und mein definiertes Komando nicht prüft.
Mein applet sieht wie folgt aus:

Option: Say a phrase with a text ingredient
What do you want to say?: Mach mal bitte $
What's another way to say it? (optional): Mach mal $
And another way? (optional): Mach ma $

What do you want the Assistant to say in response?: Wird an IO Broker übergeben

Language: German

--> Make a web request


Ich hatte die Hoffnung das ich es möglichst einfach halten kann und so intuitiv wie möglich, aber wie erwähnt wird jetzt jede Anfrage mit "Wird an IO Broker übergeben" quittiert.
Die optionalen Kommandos hatte ich eingetragen, da ich zunächst dachte das hier das Problem liegt. Aber Hilft auch nicht. :(

Hat hier jemand eine Idee ob es daran liegt, das "Mach mal" zu kurz und damit zu unspezifisch ist, oder ob es generell so ist, dass IFTTT immer alle Anfragen abfängt?
Zum Testen würde ich mal die beiden optionalen Texte weglassen. Wenn immernoch nicht geht, mal anderes trigger-Wort, z.B. schalte $
brix 3150 gigabyte (ioB mit vis, hue, tr-064, ical, ping, telegram, rflink, tankerkoenig, DWD, radar, unifi, Landroid S)
pi3 (Ansagen über sayit, kabelgebunden)
pi1 (arbeitssuchend)
Arduino mega mit 433 MHz-rflink
Google Home, Echo, Echo Dot

Pepsi1183
Beiträge: 5
Registriert: 01.03.2017, 17:33

Re: Google Assistant über IFTTT mit ioBroker verbinden

Beitrag von Pepsi1183 » 07.12.2017, 22:32

Danke, hat leider nicht geklappt. Ich befürchte Google ist einfach zu schlau und setzt "Schalte" "Mache" "Tue" etc. als ein generellen Befehl um und somit triggert GH immer IFTTT.
Habe mit jetzt ein Applet mit nem längeren Text "mach im Flur die Musik an" und ohne Parameter erstellt und damit klappt es wunderbar.

Werde mich dann mal zwischen den Feiertagen hinsetzen und diverse Applets für GH bauen (für alles was GH noch nicht von haus aus unterstützt.)
Bzw. mich mal mit eigenen Actions auseinander setzen....

Antworten