Hi,
ich möchte euch einen relativ einfachen Weg aufzeigen, wie man den Google Home oder auch einen Chromecast für Sprachausgaben nutzen kann.
Voraussetzungen:
- Node-Red
- Node-Red-Node „node-red-contrib-google-home-notify“
- Google Home oder Chromecast
Wie funktioniert es?
Zuerst richtet man in Node-Red einen Flow ein der folgende Nodes enthält
- http-GET (Empfänger für die Nachricht aus IPS)
- json (Wandelt es in Json um)
- Funktion mit folgendem Inhalt
var newMsg = { payload: msg.req.query.Text };
return newMsg;"
- node-red-contrib-google-home-notify
dann in IPS folgendes Script anlegen:
$filename = "http://"IP_VON_NODE_RED":1880/"URL-AUS-http-GET-NODE"?Text='".urlencode (GetValueString("DEINE_VARIABLE")."'");
$contents = Sys_GetURLContent($filename);
dann schreibt ihr in eine Variable den Text den ihr möchtet und dann läuft folgendes ab:
Mit dem IPS-Script schickt ihr per http den Text an Node-Red, der node-get holt den Inhalt, konvertiert ihn per Json-Node ins richtige Format, in der Funktion wird der Text extrahiert und im letzten Node das kleine Wunder: per Google-TTS-Funktion wird der Text in ein MP3 konvertiert und das Ergebnis automatisch per Google-Chromecast-Funktion auf dem Chromecast oder Google Home abgespielt. Super simpel und schnell, auch wenn es sich kompliziert anhört.