Homematic
Homematic – Sprachausgabe mit Alexa

Homematic – Sprachausgabe mit Alexa

Wer einen Echo zu Hause hat, hat sich sicher öfter schonmal die Frage gestellt, ob, und wenn ja, wie eine Sprachausgabe auf einem Echo möglich ist.

Die Anleitungen die es bisher gibt, waren für mich nicht nachvollziehbar und daher keine Option. Für mich ist wichtig zu wissen, was in meinem Smarthome abläuft und warum.

Diesen Weg möchte ich dir hier beschreiben.

Was du benötigst

Hardware

  1. Amazon Echo
  2. Homematic Zentrale (CCU2 / CCU3 / Raspberrymatic zzgl. Funkmodul)
  3. ioBroker Installation

Software

Amazon Echo
Auf der Echo ist kein Skill o.ä. erforderlich

CCU
Für jeden Echo, den wir später sprechen lassen wollen, benötigen wir eine Systemvariable vom Typ “Zeichenkette. Hier als Beispiel meinen Echo im Badezimmer.

ioBroker
Folgende Adapter in ioBroker werden benötigt:

Unter ioBroker dann den Menüpunkt “Scripte” öffnen.

Um den Adapter zu verstehen und auch die Objektpunkte gleich zu finden, kann ich dir das Video von Stefan Kleen nur ans Herz legen.

Nachdem du das Video gesehen hast, erstellen wir nun unter “common” ein neues Script als Typ Blockly.

Wir wählen nun unter “Trigger” das rosafarbene Objekt und unter “System” steuern wir den “Wert eines Objects”

Trigger: hier wir die Systemvariable im Rega Adapter ausgewählt, die wir ganz oben erstellen haben. In meinem Beispiel “Echo Bad”.

Steuere: ändern wollen wir ja das Object “speak” des jeweiligen Echos; Und zwar mit dem “Wert von der ObjektID desselben Datenpunkts, wie schon beim Trigger, nämlich die Systemvariable.

Teilfertig

Jetzt funktioniert die Sprachausgabe bereits, wenn die Systemvariable mit einem Text gefüllt wird. Eine Variable kann in Homematic entweder per Script, in Pocketcontrol oder aber per Addon Webmatic gefüllt werden.

NICHT WUNDERN, DIE AUSGABE FINDET ERST STATT, WENN IOBROKER DAS NÄCHSTE MAL DATEN VON DER CCU HOLT. (Bei mir sind das 30 sec.)

Fertig

Um wirklich fertig zu sein, wollen wir dass

  1. die Sprachausgabe sofort erfolgt und
  2. der Inhalt nach der Ausgabe wieder geleert wird

Dazu legen wir in Homematic folgendes Programm an. (PS: Im Sonst-Bereich ist nichts vorhanden)

Um nun bei einem Echo eine Sprachausgabe durchführen zu lassen, muss die Variable einfach mit dem Text der Wahl gefüllt werden.

Wer nun variable Inhalte ausgeben lassen möchte, muss dies über Scripte tun. Hier ein Beispielscript, mit welchem ich jeden Abend prüfe, welche Lichter noch an, Türen oder Fenster noch offen sind.

Für die Fleißigen

Das Script erfordert natürlich vorige Scripte, welche die offenen Fenster bzw. Türen “auslesen”. Ein Beispiel ist hier

https://homematic-forum.de/forum/viewtopic.php?t=32586

oder hier für die Lichter https://www.schellenberger.biz/brennende-lampen-anzeigen-bzw-in-variable-schreiben/

string a = dom.GetObject("Brennende Lichter").Value();
string b = dom.GetObject("offene Fenster").Value();
string c = dom.GetObject("offene Tueren").Value();
string nachricht = "";
 
if( a!= "Alle Lichter aus") {
    nachricht = " Folgende Lichter sind noch an: "#a;
}
 
if(b != "Alle Fenster zu") {
    nachricht = nachricht # " Folgende Fenster sind noch auf: "#b;
}
 
if(c != "Alle Tueren zu") {
    nachricht = nachricht # " Folgende Türen sind stehen noch auf: "#c;
}
 
 
if (nachricht != "") {
  string send = "Gute Nacht: *****"#nachricht;
  dom.GetObject("Telegram").State(send);
  dom.GetObject("Echo Wohnzimmer").State(send);
}

Wie zu sehen ist, schreibe ich unten in der letzten Zeile in die Variable “Echo Wohnzimmer”. Ich bekomme also jeden Abend die Info, welche Lichter noch an, Türen und Fenster noch auf sind.

Print Friendly, PDF & Email

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.