Google Home ab 8 August in Deutschland

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

Vorheriges Thema - Nächstes Thema

CoolTux

Melde Vollzug. Google Home ist nun eingerichtet. Und das in unter 3 Stunden. Bin stolz auf mich. lach. Es mussten insgesamt 3 Port freigeschalten und 6 Google Subnetzte. Eigentlich ist Google Home noch sehr freundlich was das an geht.
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

Rheingold

#136
Ich find's toll zu sehen, wie die Community um Google Home wächst und neue Ideen kommen :D

@venom: wie übergibst du die URL denn per Befehl? Bei mir bricht es nämlich beim Fragezeichen ab? Ich teste es mit folgendem URL-Aufruf im Browser
http://192.168.178.78:8083/fhem?cmd=set%20Chromecast_Flur%20play%20https://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Draussen%20sind%20es%20-273,15%20%20Grad&XHR=1

Im Log kommt das an:
2017-11-26 09:13:37 GOOGLECAST Chromecast_Flur play https://translate.google.com/translate_tts?tl=de

Wenn ich in der Befehlszeile in FHEM aber folgendes eingebe:
set Chromecast_Flur play https://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Draussen%20sind%20es%20-273,15%20%20Grad

klappt's  :o

2017-11-26 09:15:14 GOOGLECAST Chromecast_Flur play https://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Draussen%20sind%20es%20-273,15%20%20Grad
2017-11-26 09:15:19 GOOGLECAST Chromecast_Flur mediaContentId: https://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Draussen%20sind%20es%20-273,15%20%20Grad


Fhem auf Raspi 3; Jeelink mit 6x TX29DTH; CUL433 mit 9x RCS 1000 N und Somfy-Steuerung; CUL868; MAX-Cube + Thermostate; Philips Hue & Ikea Tradfri; Google Home Assistant; FTUI für Tablet und SmartPhone via Reverse-Proxy

dominik

Zitat von: yanniks am 25 November 2017, 17:40:56
Besonderheit bei Google ist, dass zwangsläufig ein OAuth2-Server benötigt wird, sonst lässt sich der Skill nicht aktivieren. Man benötigt also einen Keycloak, AD FS, o. Ä..

Könnte man da nicht den auth-provider aus dem Sample mit integrieren?
https://github.com/actions-on-google/actionssdk-smart-home-nodejs/blob/master/smart-home-provider/cloud/auth-provider.js

Wäre super, weil dann müsste man nichts separat aufsetzen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

venom

@Rheingold:

ich mache es folgender maßen.
Ich lade den Temperaturwert in eine Variable, danach übergebe ich den Html Befehl mit der Variable in eine neue Variable und führe zum Schluss  den set Befehl für das Google Home modul aus.
Sind viele Variablen aber ich hatte gemarkt, dass die Befehle immer Problem haben wenn zuviele Zeichen drin sind.
Die 3. Zeile ist nur dafür da, dass ich aktuell noch Prüfen kann wie der Befehl übergeben wird.

my $t1=ReadingsVal("KS300","temperature","0");
my $Befehl="https://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Es%20ist%20".$t1."%20Grad%20Celsius%20ausen.";
fhem("setreading google_temp_not Befehl $Befehl");
fhem("set bad.chromecast play $Befehl");


MfG
Björn

yanniks

Zitat von: dominik am 26 November 2017, 10:47:48
Könnte man da nicht den auth-provider aus dem Sample mit integrieren?
https://github.com/actions-on-google/actionssdk-smart-home-nodejs/blob/master/smart-home-provider/cloud/auth-provider.js

Wäre super, weil dann müsste man nichts separat aufsetzen.

Gucke ich mir gleich mal an :) . Ich habe grade mein erstes frustrierendes Erlebnis gehabt: Das Setzen von Temperaturen auf deutsch bekommt Google Assistant wohl noch nicht sauber hin. Sagt man "Stell die Temperatur im Wohnzimmer auf 22 Grad", erhöht Google die Temperatur um 22 Grad. Auf englisch funktioniert das problemlos, ich denke ich mache da mal ein Ticket auf GitHub auf.

Rheingold

@vemon:
Danke soweit erst mal. Ich muss jedoch gestehen, dass ich noch nicht viel mit eigenen Variablen gearbeitet habe  ::) Muss ich die in der 99_myUtils.pm speichern und anschließend FHEM neu starten bevor ich die nutzen kann?
Fhem auf Raspi 3; Jeelink mit 6x TX29DTH; CUL433 mit 9x RCS 1000 N und Somfy-Steuerung; CUL868; MAX-Cube + Thermostate; Philips Hue & Ikea Tradfri; Google Home Assistant; FTUI für Tablet und SmartPhone via Reverse-Proxy

CoolTux

Ich habe heute etwas Zeit gefunden mit dem Home und dem Mini Rum zu spielen. Ich bin positiv angetan. Gerade was die Multiroom Lösung an geht klappt das wirklich super.
Wenn ich jetzt noch den Sprachbefehl finde welcher die Musik in einem anderen Zimmer fort setzt bin ich super glücklich. Hihi
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

yanniks

Also ich kann jetzt über Google Home problemlos Lichter schalten und dimmen, Hue-Farben setzen geht noch nicht, da werde ich vermutlich in den nächsten eineinhalb Wochen leider auch nicht zu kommen. Ich habe mal den Vorschlag von @dominik geprüft und eingebaut, faktisch wird damit die Authentifizierung komplett deaktiviert, aber es funktioniert erstmal.
Google Home kann die Temperaturen vorlesen und auch mit der Einschränkung setzen, die ich oben schon erklärt habe. Im Code müsste ich jetzt eigentlich nochmal aufräumen, dass der ganze Amazon Alexa-Code rausfliegt, mal gucken wann ich dazu komme. Heute Abend schreibe ich keine Anleitung mehr und beim aktuellen Stand ist es sicherlich auch noch nicht angebracht, dass man ohne entsprechendes Vorwissen den Code benutzt, dafür ist noch ein bisschen Arbeit notwendig. Wer sich aber zutraut, ohne Anleitung das Ding zum laufen zu bekommen, der kann sein Glück gerne schon versuchen. ;)
https://github.com/yanniks/ghome-fhem

Wenn es soweit ist, dass ich guten Gewissens jeden drauf loslassen kann, dann werde ich dafür wohl auch besser mal einen eigenen Thread starten.
Weitere Gerätetypen würde ich gerne unterstützen, die praktische Auswahl ist aber noch ziemlich eingeschränkt: https://developers.google.com/actions/smarthome/guides/

Rheingold

Zitat von: venom am 26 November 2017, 11:32:29
@Rheingold:

ich mache es folgender maßen.
Ich lade den Temperaturwert in eine Variable, danach übergebe ich den Html Befehl mit der Variable in eine neue Variable und führe zum Schluss  den set Befehl für das Google Home modul aus.
Sind viele Variablen aber ich hatte gemarkt, dass die Befehle immer Problem haben wenn zuviele Zeichen drin sind.
Die 3. Zeile ist nur dafür da, dass ich aktuell noch Prüfen kann wie der Befehl übergeben wird.

my $t1=ReadingsVal("KS300","temperature","0");
my $Befehl="https://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Es%20ist%20".$t1."%20Grad%20Celsius%20ausen.";
fhem("setreading google_temp_not Befehl $Befehl");
fhem("set bad.chromecast play $Befehl");


MfG
Björn
Hi,
sorry für die stümperhafte Frage: Wo/wie kann ich die Variablen definieren? Bzw. wo hast du die eingetragen?
Fhem auf Raspi 3; Jeelink mit 6x TX29DTH; CUL433 mit 9x RCS 1000 N und Somfy-Steuerung; CUL868; MAX-Cube + Thermostate; Philips Hue & Ikea Tradfri; Google Home Assistant; FTUI für Tablet und SmartPhone via Reverse-Proxy

Flipper92

Zitat von: yanniks am 26 November 2017, 22:09:32
Heute Abend schreibe ich keine Anleitung mehr und beim aktuellen Stand ist es sicherlich auch noch nicht angebracht, dass man ohne entsprechendes Vorwissen den Code benutzt, dafür ist noch ein bisschen Arbeit notwendig. Wer sich aber zutraut, ohne Anleitung das Ding zum laufen zu bekommen, der kann sein Glück gerne schon versuchen. ;)
https://github.com/yanniks/ghome-fhem

Hey, danke für deine mühe.
Sorry das ich mal so frech frage:
Ab wann kann man mit einer Anleitung rechnen?

Ich würde gerne mal in die Richtung testen (meine Home kam gestern an) und schauen was ich aktuell hin bekomme. Kann man sich da an die Alexa-Anleitung orientieren oder ist es ganz anderst?
Mich interessiert auch welche Voraussetzungen, die gegeben sein müssen. z.B. DynDNS, IFTTT usw.

CoolTux

Voraussetzungen sind die selben wie bei Alexa.
Kannst also die Anleitung da erstmal nehmen.

Zitat von: yanniks am 28 November 2017, 22:31:38
{
    "ghome": {
        "port": 3000,
        "name": "Alexa TEST",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "oauthClientID": "amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    },
   
    "connections": [
        {
            "name": "FHEM",
            "server": "10.0.0.102",
            "port": "8083",
            "webname": "fhemadm",
            "filter": "room=AlexaHomekit"
        }
    ]
}


Dann musst du die actions.json erstellen, welche du mit dem Command Line Tool von Google zu deinem Skill hochlädst. Bei mir sieht die so aus:


{
  "actions": [
  {
      "name": "actions.devices",
      "deviceControl": {
      },
      "fulfillment": {
        "conversationName": "automation"
      }
    }
  ],
  "conversations": {
    "automation": {
      "name": "automation",
      "url": "https://ghome.yanniks.one/"
    }
  }
}


In URL setzt du die Adresse ein, unter welcher dein Webservice zu erreichen ist. Starten tust du ihn wie auch alexa-fhem aktuell mit ./bin/alexa ;D
Für die Verbindung mit Google liest du dir vielleicht am besten mal dieses Tutorial durch: https://developers.google.com/actions/sdk/create-a-project
OAuth Grant Type ist aktuell "Authorization Code", an die URL von oben musst du für Auth URL und Token URL "/oauth", respektive "/token" anhängen. Ich sollte dazu noch sagen, dass ich das ganze nie mit Self-Signed-Zertifikaten probiert habe. Keine Ahnung, ob Google die auch akzeptiert, ich nehme Lets Encrypt dafür.

Du musst Dich auch erstmal https://developers.google.com/actions/sdk/create-a-project einlesen. Ist nicht ganz so einfach mit der Aktion Konsole.
Ich habe heute angefangen die Voraussetzungen zu schaffen und die Aktion Konsole ein zu richten.



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

yanniks

Ich möchte ehrlich gesagt ungern eine richtige Anleitung schreiben, solange ich keine richtige Authentifizierung implementiert habe. Sonst gibt es ganz schnell ein duzend Installationen, die für immer offen bleiben, weil es ja auch so funktioniert ;) . Ich bin Freitag länger unterwegs, da werde ich mich mal um das Problem kümmern.
Mit der Anleitung habe ich schonmal angefangen, die veröffentliche ich aber entsprechend auch erst dann :) .

dstegmaier

Hallo zusammen,

melde mich nun hier auch mal zu Wort.

Als Erstes, vielen Dank für die Vorarbeit hier. Konnte viel davon bereits gebrauchen.

Ich habe inzwischen 3 Google Home Mini mit welchen die Steuerung meines FHEM bereits recht gut funktioniert.
Bin ebenfalls den Weg über IFTTT gegangen, beschreibe dann ein dummy und werte das über meine Sprachsteuerungs-Sub aus. Verzögerung nach dem Befehl an Google Home bis zum schalten des Lichts sind aktuell ca 4 Sekunden. Solange dauert alledrings schon fast die Antwort vom Home "Ja, wird erledigt", somit ausreichend.

Daher sind bisher allerdings nur Befehle möglich, Abfragen noch nicht. Dafür schau ich mich hier mal noch weiter um.
Das Chromecast Modul hab ich bisher noch nicht in Betrieb genommen, obwohl ich bereits 3 Chromecast-Audio und 2 Video habe.

Ich nutze bei IFTTT nur das "text ingredient" und zerlege dann den Text komplett in FHEM. Hier extrahiere ich vorkommende Zahlen um diese später zum Umschalten des Fernsehers (Samsung) oder einem Helligkeitswert zu nutzen.

Auch meherer Befehle in Folge sind möglich, da ich den Text in FHEM bei einem "und" teile und die Textteile dann einzeln verarbeite.

Was ich allerdings bisher nicht hinbekomme und wo ich hoffe, dass mir hier jemand helfen kann, sind Umlaute.
Die Umlaute kommen nicht in FHEM an. Bereits der Dummy, welcher von IFTTT beschrieben wird, zeigt anstatt des Umlauts nur eine Raute mit Fragezeichen an.
Dadurch funktionieren Wörter wie "Küche" oder "Weiß" leider nicht.
Hat hier jemand eine Idee, woran das liegen kann oder wie ich das abfangen kann?

Falls jemand Interesse an meinem Code hat, bitte einfach fragen.


Danke und Grüße Dominik

Ma_Bo

Zitat von: dstegmaier am 01 Dezember 2017, 14:52:30
...
Was ich allerdings bisher nicht hinbekomme und wo ich hoffe, dass mir hier jemand helfen kann, sind Umlaute.
Die Umlaute kommen nicht in FHEM an. Bereits der Dummy, welcher von IFTTT beschrieben wird, zeigt anstatt des Umlauts nur eine Raute mit Fragezeichen an.
Dadurch funktionieren Wörter wie "Küche" oder "Weiß" leider nicht.
Hat hier jemand eine Idee, woran das liegen kann oder wie ich das abfangen kann?

Falls jemand Interesse an meinem Code hat, bitte einfach fragen.


Danke und Grüße Dominik

Das liegt garantiert daran, wie du den dummy beschreibst, wahrscheinlich mit einem Webhook direkt übers Internet an dein FHEM.
Ich gehe ja den Umweg über ADAFRUIT IO und dann über meinen lokalen MQTT Broker, damit bekomme ich auch die Umlaute bei mir angezeigt.
Hilft dir erstmal nicht weiter, aber daran wird es wahrscheinlich liegen.

Grüße Marcel
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.

Pitcher90

Zitat von: dstegmaier am 01 Dezember 2017, 14:52:30
Hallo zusammen,

melde mich nun hier auch mal zu Wort.

Als Erstes, vielen Dank für die Vorarbeit hier. Konnte viel davon bereits gebrauchen.

Ich habe inzwischen 3 Google Home Mini mit welchen die Steuerung meines FHEM bereits recht gut funktioniert.
Bin ebenfalls den Weg über IFTTT gegangen, beschreibe dann ein dummy und werte das über meine Sprachsteuerungs-Sub aus. Verzögerung nach dem Befehl an Google Home bis zum schalten des Lichts sind aktuell ca 4 Sekunden. Solange dauert alledrings schon fast die Antwort vom Home "Ja, wird erledigt", somit ausreichend.

Daher sind bisher allerdings nur Befehle möglich, Abfragen noch nicht. Dafür schau ich mich hier mal noch weiter um.
Das Chromecast Modul hab ich bisher noch nicht in Betrieb genommen, obwohl ich bereits 3 Chromecast-Audio und 2 Video habe.

Ich nutze bei IFTTT nur das "text ingredient" und zerlege dann den Text komplett in FHEM. Hier extrahiere ich vorkommende Zahlen um diese später zum Umschalten des Fernsehers (Samsung) oder einem Helligkeitswert zu nutzen.

Auch meherer Befehle in Folge sind möglich, da ich den Text in FHEM bei einem "und" teile und die Textteile dann einzeln verarbeite.

Was ich allerdings bisher nicht hinbekomme und wo ich hoffe, dass mir hier jemand helfen kann, sind Umlaute.
Die Umlaute kommen nicht in FHEM an. Bereits der Dummy, welcher von IFTTT beschrieben wird, zeigt anstatt des Umlauts nur eine Raute mit Fragezeichen an.
Dadurch funktionieren Wörter wie "Küche" oder "Weiß" leider nicht.
Hat hier jemand eine Idee, woran das liegen kann oder wie ich das abfangen kann?

Falls jemand Interesse an meinem Code hat, bitte einfach fragen.


Danke und Grüße Dominik

Würde mich schon interessieren wie du das gemacht hast. Momentan arbeite ich nur mit den Phrasen, die dann in einem Dummy ein setreading setzen. So hab ich den Zugriff auf das System etwas beschränkt.