Google Home ab 8 August in Deutschland

Begonnen von CoolTux, 18 Juli 2017, 12:24:16

Vorheriges Thema - Nächstes Thema

Ma_Bo

Mit AMAD aber nur wenn man die Spracheingabe über das entsprechende Gerät, auf dem automagic läuft, macht oder?


Tapatalk iPhone, daher kurz gehalten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

CoolTux

Wenn man es mit AutoVoice macht solle es auch mit dem Google Home gehen. Aber das muss ich erst noch testen. AutoVoice hat dafür aber Menüs vorhanden. Amazon Alexa und Google Home
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Ma_Bo

Ja das wäre ja genial...


Tapatalk iPhone, daher kurz gehalten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

oggy

#33
Funktioniert api.ai in D schon?

ich hab mein Konstrukt jetzt am Laufen. Google interpretiert mir die Wörter noch zu stark und es kommt dann leider Mist raus. ABER wenn Google die Wörter richtig versteht funktioniert es sehr gut.

- bei IFTTT ist es nur ein Applet
- IFTTT beschreibt die Variable dummy
- wird dann wie in die Bildern ausgewertet (Satzbau ist fast frei wählbar -> Sobald bestimmte Schlagwörter fallen, kann es nur die und die Aktion sein)

[edit:]
Delay liegt bei 3s.

CoolTux

api.ai funktioniert auf Deutsch. Bin seit gestern am rumprobieren. Eigentlich ist es eine wirkliche tolle Sache. Ich lasse mir $device $room $alias oder $color erkennen, ausserdem natürlich dimmen und an aus.
Mache erstmal Licht. Aber wie frei man am ende reden kann ist schon genieal. Die Variablen werte ich dann in Automagic in ein Script aus und setzte den setcmd Befehl für die AMAD Bridge zusammen. Vor allem richtet man eine Sache ein und die klappt für alle Räume und Lampen die passen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

oggy

Zitat von: CoolTux am 16 August 2017, 10:05:06
api.ai funktioniert auf Deutsch.

ich bekomme es nicht gerafft, wie das alles zusammenarbeitet. Wie / welchen Dienst muss man miteinander verknüpfen, damit zumindest das Trigger-Word zu API.ai eine Verbindung aufbaut? Muss ich als Webhook den CloudService von Google kaufen? ...

CoolTux

Da musst Du gar nichts kaufen.

Melde Dich mit Deinem Google Account bei api.ai an.
Lege einen Neuen Agent an und trage die dort stehenden Client access token und Developer access token in AutoVoice unter setup natural language ein.

Dann legst Du erstmal einen Flow an (vorerst ohne Trigger) und wählst als erste Action Plugin (AutoVoice natural languale) aus. Starte den Flow von Hand und Du bekommst die Möglichkeit einen Befehl zu sagen.
Jetzt musst dann Intents und Entities entsprechend einrichten.

Sag bescheid wenn es wo klemmt.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

oggy

ok, über "AutoVoice" -> "Api.ai" -> "AutoVoice" -> "Tasker" funktioniert es ... aber wie funktioniert es mit Google Home?



CoolTux

Da müsstest Du bitte selber schauen. Ich habe noch kein Google Home. Du kannst aber bei AutoVoice unter natural language Assistenten aktivieren. Da steht Alexa und Google Home. Ist so ein Schieberegler
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

oggy

ah, ok ... also bleibt momentan nur die kostenpflichtige Variante (was vom Preis her aber sehr fair ist).


für die Rückmeldung zB einen Statusbericht hab ich mir erst einmal anders geholfen.

zB:
- "ok google, status schlafzimmer"
-> erste Response: "abfrage wird bearbeitet."
-> zweite Response nach ca 8s: "im schlafzimmmer sind es 25 grad. die luft ist gut mit 550 ppm."

so gelöst:
- bei IFTTT einen zweiten Trigger (zB "frage fhem") anlegen mit Response "Abfrage wird bearbeitet"
- zum Kürzen des Kommandos eine Verknüpfung in der Google Home App anlegen aus "ok google frage fhem status schlafzimmer" wird "ok google status schlafzimmer"
- IFTTT beschreibt wieder einen Dummy -> Skript wertet die Sensordaten aus
- Ergebnis wird an das TTS-Modul geschickt und die erhaltene Datei (mp3) wird per GOOGLECAST-Modul oder bei mir per "castnow" ans Google Home geschickt

CoolTux

Was Abfragen an geht bin ich gerade dabei herauszufinden wie das mit API.ai genau geht.

Aber schalten von Licht funzt Prima.

Trigger AutoVoice Recognized dann Aktion Plugin AutoVoice Natural Language und dann ein relativ einfach Skript was die Variablen auswertet und ein Set Kommando für FHEM AMADCommBridge konform zusammen setzt.

Zu schalten aller Lampen bräuchte ich nur 2 Zeilen Script. Noch mal 1 dazu für dimmen und leider für jede Farbe zwei weitere Farben. Muss Mal schauen ob das mit den Farben etwas eleganter geht.

Jetzt kommen die Steckdosen. Ist ja gleich wie bei den Lampen nur ohne dimmen und Farbe .



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tiroso

Wie klappt das genau?
Reisse in meinem Modul den String auseinander...suche wörter und deren Bedeutung und lasse anschliessend per Abgleich mit Raum und Device herausfinden welches gemeint ist.

Bei dir klingt das so einfach ;)

CoolTux

Habe ich das geschrieben. Wann. Wo. Wieso.  ;D

Meinst du jetzt wie genau ich das mit API.ai mache?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tiroso


CoolTux

Ich will das eh Veröffentlichen wenn ich paar vernünftige Sachen dazu habe.

Im Grunde passiert das selbe wie bei Deinem Modul. Man legt Entities an wo man versucht Wörter die zu FHEM passen mit Umgangssprachlichen Wörtern zu kombinieren.

Zum Beispiel als Entitiesname room, power-toggle und alias. Da alias bereits in Java vergeben ist habe ich halt aliases genommen. Das werden unsere Variablen
In room schreibst du als Referenz Deine in FHEM verwendeten room Namen. Als Synonym das wie du die Raumnamen nennst. Also Referenz zu FHEM Kinderzimmer als zusätzliches Synonym Räuberhöhle.
Bei power-toggle ist Referenz on off und als Synonym an aus

Der User sagt
Schalte die Deckenlampe im Wohnzimmer aus


Deckenlampe ist mein Alias für das entsprechende Device, Wohnzimmer ist der Raum und power-toggle ist aus

Dann legst du Intents an wo du Beispielsätze ein trägst und schaust wie viel passende Dinge die API gefunden hat.
Wie ein Satz drüber schon korrekt zugeordnet sollte API.ai das auch so makieren.


Das bekommen wir als Variablen powertoggle, aliases und room in den Flow von API.ai zurück.
Nun einfach ein Script was folgendes im einfachsten Fall macht. Wir brauchen für die AMADCommBridge den setcmd also unseren set Befehl ohne den FHEM Befehl set davor und fhemcmd der ja set ist.


setcmd = "room=" + room + ":FILTER=alias=" + aliases + " " + powertoggle;
fhemcmd = "set"


Und nach dem Skript im Flow rufen wir einfach den Flow Send Data to AMADCOMMBRIDGE auf. AMAD macht dann den Rest, erstellt ein JSON String und sendet die Daten zur CommBridge und die schaltet das Device.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net