Google Assistant / Home Integration

Das kann ich nur bekräftigen und bezeugen!

Ich warte auf das Symcon Modul und dann übernimmt Google mit der besseren Spracherkennung die Steuerung des Smarthomes.

ich bin auch seit einer Weile Google Home Besitzer und bin sehr zufrieden mit dem Gerät und hoffe auch auf ein baldiges Symcon GoogleHome Modul :wink:

hat push notification mit ip-symcon auch schon jemand von euch umgesetzt und mag eine kurze anleitung einstellen?

Home Automation Push Notifcations : googlehome

Gesendet von meinem SM-G950F mit Tapatalk

In Post 15 habe ich meinen derzeitigen Weg beschrieben.
Google Assistant / Home Integration - Seite 2

Die Anbindung über HA Bridge geht nicht mehr, deshalb dieser Weg.
Mit Castnow kannst beliebige Soundfiles auf deinem Home ausgeben.
Allerdings gibt es eine kleine Verzögerung, aber damit kann man leben.

cool das wäre perfekt, endlich ip-symcon push ausgabe. dann muss ich keine sprachausgabe durch mein tablet ausgeben ist so viel intuitiver. Könntest du das script veröffentlichen. das wäre klasse.

danke

Gesendet von meinem SM-G950F mit Tapatalk

Hier meine Einbindung für Push Sprachmeldungen mit Google Home.

Voraussetzungen:
IPS auf Ubuntu oder Raspi,
alternativ geht auch IPS unter Windows, dann benötigt man aber für castnow einen
Linux Rechner oder Raspi als Castnow Proxy so zu sagen.
Falls man z.B. variable Pushmeldungen möchte wie z.B. Ansage der aktuellen Temperatur
dann benötigt man das IPS Polly Modul oder alternativ TTS VoiceRSS Modul.

Anleitung:
Zuerst castnow installieren, das geht nur unter Linux.
Anleitung zur Installation gibt es hier
GitHub - xat/castnow: commandline chromecast player

Polly Modul oder TTS VoiceRSS Modul in IPS installieren und fertig einrichten.

Script für IPS unter Linux um eine feste Ansage an einen Google Home zu senden:
exec(„castnow Pfad-zur-mp3-Datei --address Google-Home-IP --quiet“);

exec("castnow /home/ivona/waschmaschine-fertig.mp3 --address 192.168.0.234 --quiet");

Script für IPS unter Linux z.B. Temperaturansage:


$temp = GetValue (41911); //Temperaturvariable
$mp3 = POLLY_saveMP3(45732 , "Hallo Admin die Aktuelle Aussentemperatur beträgt $temp Grad Celsius");
$teile = explode("/",$mp3);
$mp = $teile[5];
exec("castnow /home/ivona/$mp --address 192.168.0.234 --quiet");

Wenn IPS unter Windows läuft, dann muss man den castnow befehl übers Netzwerk auf dem Linux Rechner mit castnow ausführen.

sehr cool es funktioniert - danke dir :slight_smile:

Super freut mich, dass es auf Anhieb funktioniert hat.

Noch ein Hinweis.

Falls man mehrere Google Home hat,
kann man das Soundfile auch nacheinander auf mehreren abspielen.
Einfach das Script mit weiteren „exec“ Zeilen mit jeweiliger IP-Adresse erweitern.

Hier kurz meine ersten Eindrücke des Google Home Mini der heute bei mir angekommen ist.

Ich finde der sieht optisch besser aus als der Echo Dot.
Aber viel wichtiger ist, ich finde der klingt besser als der Echo Dot.
Lautstärke finde ich auch besser als beim Dot.
Also meiner Meinung nach im Vergleich zum Echo Dot die bessere Wahl.

Das verstehen der Sprachbefehle funktioniert genau so gut wie beim großen Home.
Wie schon mehrfach von mir geschrieben, empfinde ich die Spracherkennung von Google
deutlich besser als die von Amazon Alexa.

Zur Abrundung fehlt jetzt nur noch das lang ersehnte IPS Modul für Google Home.

Hier mal meine IFTTT Ansatz wie man ohne IFTTT Modul auskommt:

  1. Hook Script anlegen:
<?
$json = file_get_contents('php://input'); 

$request = json_decode($json, true);

#setvalue(16411 /*[Googel Home\ifttt\Erkannter Text]*/,$request["text"]); // Wenn man den gesprochenden Text in eine String Variable haben will....



$text=explode(" ", $request["text"]); 
$room=@$text[1];
$device=@$text[2];
$value=@$text[3];
$value2=@$text[4];
$value3=@$request["value2"];

if ($value =="" ) $value= @$request["value2"];
if ($value3 !="" ) $value= @$request["value2"];

$text="Raum = $room, Device= $device , value= $value";

IPS_LogMessage("IFTTT-LOG", print_r ($text,true));
?>
  1. Webook in IPS anlegen und mit dem Hook Script verknüpfen.

Man legt 2 Applets an:

Das tolle ist, das man jetzt nur noch sagen muss:

ok Google, Skynet Wohnzimmer Licht an

ok Google, Skynet Wohnzimmer Licht auf 80%

ok Google, Skynet Wohnzimmer Rollladen hoch

usw.

Das Triggerwort ist in meinem Beispiel „Skynet“ man sich ein beliebiges Wort aussuchen !

Man kann dann im Hookscrippt die Auswertung vornehmen:

$spokenWords=$text;
//************************************** Kino *****************************	
case ( in_array('kino', $spokenWords)):

if (in_array('an', $spokenWords)) 

{ 
$response = "Kinomodus aktiviert";

IPS_RunScript(29007 /*[Räume\Wohnzimmer\Wohnzimmer Leinwand\Wohnzimmer Leinwand\power]*/);
}


elseif (in_array('aus', $spokenWords))
{
$response = 'Kinomodus deaktiviert...';

//HM_WriteValueFloat( 35876 , "LEVEL", 1.0);
IPS_RunScript(29007 /*[Räume\Wohnzimmer\Wohnzimmer Leinwand\Wohnzimmer Leinwand\power]*/);


} 

else 
{ // nach "Switch" kein Schlüsselwort gefunden
$response = 'Keine Ahnung was du machen willst, versuche es noch einmal !';
}
break;

Leider kann man keine Antwort, die dann gesprochen wird so mitgeben :frowning:

Ich hoffe es ist verständlich geschrieben :wink:

So sieht mein HookScript aus:

<?
$json = file_get_contents('php://input'); 

$request = json_decode($json, true);

#setvalue(16411 /*[Googel Home\ifttt\Erkannter Text]*/,$request["text"]); // Wenn man den gesprochenden Text in eine String Variable haben will....

$text=explode(" ", $request["text"]); 
$room=@$text[1];
$device=@$text[2];
$value=@$text[3];
$value2=@$text[4];
$value3=@$request["value2"];

if ($value =="" ) $value= @$request["value2"];
if ($value3 !="" ) $value= @$request["value2"];

$text2="Raum = $room, Device= $device , value= $value";

IPS_LogMessage("IFTTT-LOG", print_r ($text2,true));

$spokenWords=$text;
 

switch ($spokenWords)  
{
//************************************** Licht  *****************************    
case ( in_array('Licht', $spokenWords)): 
//************************************** Wohnzimmer  *****************************    
if (in_array('Wohnzimmer', $spokenWords))  
{
if ($value=="an") $value="4095";
if ($value=="aus") $value="0";
 $input=round($value);
 $arr = array('channel' => "12", 'on' =>'0', 'off' =>"".$input.""); // Array erstellen
 $wert=json_encode($arr); // Array zu Json konvertieren 
 $json1=str_replace('"','\"',$wert); // Zeichen Austauschen !
$json2=str_replace("{",'"{' ,$json1);// Zeichen Austauschen !
$json=str_replace("}",'}"' ,$json2);// Zeichen Austauschen !
 IPS_Execute("mosquitto_pub", " -h 192.168.0.5 -u drapple -P xtreme12 -t /device/pwm/remote -m \"$json \" ", false, true);
 
  $arr = array('channel' => "13", 'on' =>'0', 'off' =>"".$input.""); // Array erstellen
 $wert=json_encode($arr); // Array zu Json konvertieren 
 $json1=str_replace('"','\"',$wert); // Zeichen Austauschen !
$json2=str_replace("{",'"{' ,$json1);// Zeichen Austauschen !
$json=str_replace("}",'}"' ,$json2);// Zeichen Austauschen !
 IPS_Execute("mosquitto_pub", " -h 192.168.0.5 -u drapple -P xtreme12 -t /device/pwm/remote -m \"$json \" ", false, true);
 
 
  $arr = array('channel' => "14", 'on' =>'0', 'off' =>"".$input.""); // Array erstellen
 $wert=json_encode($arr); // Array zu Json konvertieren 
 $json1=str_replace('"','\"',$wert); // Zeichen Austauschen !
$json2=str_replace("{",'"{' ,$json1);// Zeichen Austauschen !
$json=str_replace("}",'}"' ,$json2);// Zeichen Austauschen !
 IPS_Execute("mosquitto_pub", " -h 192.168.0.5 -u drapple -P xtreme12 -t /device/pwm/remote -m \"$json \" ", false, true);
 
  $arr = array('channel' => "15", 'on' =>'0', 'off' =>"".$input.""); // Array erstellen
 $wert=json_encode($arr); // Array zu Json konvertieren 
 $json1=str_replace('"','\"',$wert); // Zeichen Austauschen !
$json2=str_replace("{",'"{' ,$json1);// Zeichen Austauschen !
$json=str_replace("}",'}"' ,$json2);// Zeichen Austauschen !
 IPS_Execute("mosquitto_pub", " -h 192.168.0.5 -u drapple -P xtreme12 -t /device/pwm/remote -m \"$json \" ", false, true);
} // Ende Wohnzimmer Licht
break;  




} // Ende Switch 

?>

Blöde frage, wie lange dauert es bau euch bis castnow vom pi zum chromecast zu streamen ? Bei mir dauert es 15Sec !!! bis er abspielt :frowning:

Ich habe diese Alternative ausprobiert:

GitHub - Pat-Carter/stream2chromecast: Chromecast media streamer for Linux

Damit dauert es nur 5sec !!!

Schreibt mir mal euere Erfahrungen und ob Ihr noch was schnelleres habt :wink:

Ich nutze Castnow nur für Audiostreams zum Google Home.
Da ist schon ne kleine Verzögerung drin, die ich aber für Rückmeldungen nutze.

z.B. Frage an Google Home
Ok Google wie lange braucht die Waschmaschine noch?

Antwort über ifttt
Die verbleibende Zeit wird gleich angesagt.

Fast direkt im Anschluss kommt dann von Castnow
Hallo Admin die Waschmaschine braucht noch 0 Stunden und 23 Minuten.

Es ist dabei auch noch zu berücksichtigen, dass bei dieser Aktion noch das Polly Modul dazwischen hängt,
dass die anzusagende Restzeit erstmal als mp3 Datei erzeugt.

Aber wir kommen damit gut zurecht.

Mein Google home mini ist auch seit Donnerstag da, das hat Alexa gar nicht gepasst, seit schmollt Sie und redet kein Wort mehr mit mir :wink:

Aber viel kann google auch nicht oder ? Egal was ich Sie frage: Das kann ich noch nicht :frowning:

Ich habe meine Stimme angelernt, das hat super geklappt in 40% der Fälle reagiert Sie trotzdem auf die Stimme von einem Freund :frowning:

Warum kann google home nicht lokal mit Wemo Steckdosen reden ? Die wollen das über die Cloud machen ?

Hallo drapple,
bezüglich Spracherkennung (angelernte Stimme) bei Google Home,
diese dient meines Wissens nur zur Zuordnung der persönlichen Daten,
wie zum Beispiel Abfrage was im Kalender steht.
So kann Google Home erkennen welche Termine er vorlesen soll.
Die sonstige Sprachbefehle bleiben davon unberührt.
Also Smarthome Steuerung mit Stimmen Unterscheidung geht noch nicht.

Hat es eigentlich schon jemand von euch geschafft,
einen Audiostream an eine Gruppe zu senden?
Stichwort Multiroom.
Bisher sende ich meine Sprach Ansagen mit Castnow bzw. seit neuestem mit Stream2Chromecast
nacheinander an die verschiedenen Räume.
Beide unterstützen aber nicht das senden an eine Gruppe.
Vielleicht hat jemand einen Tipp für mich.

was für sprachnachrichten gibst du denn in den verschiedenen Räumen aus? Nur Interesse halber für Anregungen :slight_smile:

Gesendet von meinem SM-G950F mit Tapatalk

Hallo PhilippS,
hier ein paar Beispiele meiner verwendeten Sprach Ansagen.

Ich habe Miele@home im Einsatz damit wird das Ende der Waschmaschine oder Trockner getriggert.
Ansage ist dann:
„Hallo Admin die Waschmaschine im Keller ist fertig die Wäsche kann ab sofort abgeholt werden.“
Das Selbe gibt es für den Trockner.
Desweiteren kann ich auch die noch verbleibende Laufzeit abfragen, dass sieht dann so aus:
„Ok Google wie lange braucht die Waschmaschine noch“
Antwort kommt dann wie folgt:
„Hallo Admin die Waschmaschine braucht noch 0 Stunden und 25 Minuten“

Weiteres Szenario ist Abfrage des Stromverbrauchs:
„Ok Google wie hoch ist der aktuelle Tagesverbrauch“
Antwort: „Hallo Admin der aktuelle Tagesverbrauch ist 5,34 kWh super das liegt noch im normalen Bereich.“
oder „Hallo Admin der aktuelle Tagesverbrauch liegt bei 15,76 kWh der übliche Wert wurde überschritten, Du solltest sparsamer mit dem Strom umgehen.“
Das selbe gibt es mit Tages Kosten, da werden anstatt kWh dann Euros angesagt.

Weiteres Szenario sind Abfrage meiner Raumtemperaturen bzw. Wetterstation Daten.

Geplant aber noch nicht implementiert sind Alarm Meldungen bei Bewegungsmeldern, Lichtschranken, Rauchmeldern und Wassermeldern.

Ich finde das einfach intuitiver als auf Displays rum zu tippen um die Informationen zu erhalten.
Ich sehe ein wirklich sehr großes Potential mit solchen Assistenten fast die gesamte Touch Bedienung
abzulösen zumindest zu Hause in den eigenen vier Wänden.

Nach meiner Meinung sollte alles was vollautomatisch umgesetzt werden kann auch komplett ohne Interaktion der Bewohner erfolgen.
Überall dort wo Interaktion (eingreifen der Bewohner) nötig ist, finde ich die Sprachsteuerung am intuitivsten,
das bekommt jeder hin ohne riesen Einweisung an Touchpanels und Co.

Gruß
Giuseppe

Hi Dave,

wollte mal fragen wie der aktuelle Stand ist ?? :D:D

Hi,

wir sind dran. Lichter schalten geht schon… aber es läuft noch nicht zuverlässig. Google verliert nach ein paar Stunden noch die Verbindung - wir sind aber dran :slight_smile:

paresy