Alexa.sh v5.11 (stable) - Sprachausgabe und Fernsteuerung für Amazon Echo

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

benkly
Beiträge: 123
Registriert: 12.09.2011, 23:43
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von benkly » 22.07.2019, 22:14

Hi,

ich habe das endlich auch zum laufen bekommen und finde es eine tolle Sache.

Bei TTS stoße ich auf manche Probleme. Das Wort "Tür" wird von Alexa etwas sehr merkwürdig gesprochen, gibt es hier irgendwo eine "Betonungsanleitung"? Also Tipps wie man es schreiben muss damit es richtig betont wird?

Danke und Grüße!

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von blackhole » 26.07.2019, 16:08

benkly hat geschrieben:
22.07.2019, 22:14
Das Wort "Tür" wird von Alexa etwas sehr merkwürdig gesprochen
Ich habe per Skript sowohl "Eine Tür" als auch "Eine Türe" an meine Echo Dot- und Echo Plus-Devices zur Sprachausgabe übergeben. Beides wird meinem Empfinden nach ziemlich natürlich ausgesprochen, wobei "Eine Türe" mein Favorit wäre.

Du kannst das auch verbal (mit einem Echo-Device reden), also unabhängig vom Skript testen und ausprobieren:

"Alexa, sprich mit nach: Eine Tür"
"Alexa, sprich mit nach: Eine Türe"
"Alexa, sprich mit nach: ..."


¯\_(ツ)_/¯

benkly
Beiträge: 123
Registriert: 12.09.2011, 23:43
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von benkly » 29.07.2019, 23:29

Hallo,

vielen Dank für die Infos, es läuft nun alles. Sehr tolle Sache!

Nun habe ich mit Monocle noch meine IP Cams mit in Alexa integriert. Also ich kann nun mit "Alexa, zeige Eingang" das Kamerabild auf jeden Echo mit Display holen, oder Fire TV oder Fire Tablet. Nette Sache.
ABER, es wäre genial, wenn es an der Haustüre klingelt, die Echos dann per Routine (?) automatisch das Bild des Eingangs anzeigen. Nur wie machen? Also das Signal des Klingeltasters habe ich in der Homematic, aber ich komme nicht drauf wie ich so eine Routine anlegen müsste die mir dann eben Remote diesen Befehl "Alexa, zeige Eingang" ausführen würde. Irgendwer ne Idee?

Gruß, Benny.

terny
Beiträge: 76
Registriert: 23.10.2015, 09:08
Hat sich bedankt: 6 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von terny » 30.07.2019, 21:59

Hallo Blackhole,

nochmals danke für deine tolle Arbeit. Es funktioniert auch mit der MFA alles prima.
Nur eine Sache habe ich früher hinbekommen, was nun scheinbar nicht mehr geht.

Vor einer Sprachmeldung über Alexa habe ich normalerweise den Echo des gewünschten Raumes über das Skript lauter gestellt, die Meldung geschickt und dann wieder leiser gestellt. Leider werden keine Lautstärkebefehle umgesetzt, wenn auf dem Echo keine Musik währendessen läuft.
Kann das sein oder gibt es dafür einen Workaround?

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von blackhole » 30.07.2019, 22:18

terny hat geschrieben:
30.07.2019, 21:59
nochmals danke für deine tolle Arbeit. Es funktioniert auch mit der MFA alles prima.

Gerne geschehen, das ist letztendlich nur geteilter "Eigennutz".

terny hat geschrieben:
30.07.2019, 21:59
Leider werden keine Lautstärkebefehle umgesetzt, wenn auf dem Echo keine Musik währendessen läuft.

Ja, das ist so und das wurde von Alex Noack auch so bestätigt. Eine gangbare Lösung gibt es aber natürlich:
Erstelle eine Routine in welcher als Aktion die Lautstärke nach deinem Wunsch gesetzt wird (nur Lautstärke setzen reicht, Musikabspielen ist nicht nötig). Diese Routine kannst Du dann per Skript ausführen:

Code: Alles auswählen

! Echo Routine starten
! -----------------------------------------------------------------------------------------------------------------------
system.Exec("/usr/local/addons/alexa/alexa.sh -e automation:'Hardrock volle Pulle' &");
(Oder wie auch immer Du diese Routine dann benennen magst ... :mrgreen: )


Ich setzte auf diese Weise Nachts immer automatisiert die Laustärken meiner Echos auf eine individuelle Grundlaustärke zurück, so dass TTS an jedem neuen Tag in allen Räumen automatisch die jeweils gewüschte Grundlautstärke hat (WAF).

Nachtrag: ab v0.14 können Grundlautstärke und Lautstärke für Sprachausgabe im Skript konfiguriert werden.
Zuletzt geändert von blackhole am 07.08.2019, 07:32, insgesamt 1-mal geändert.

dft601
Beiträge: 56
Registriert: 15.04.2014, 23:57
Hat sich bedankt: 3 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von dft601 » 31.07.2019, 15:39

blackhole hat geschrieben:
24.01.2019, 12:25

Ein einfaches Beispiel für die CCU3/piVCCU3 (aktuelle Firmware) in HM Script, ausgehend von einer Systemvariablen "TTS Echo" in welcher der auszugebende Text abgelegt wird und einem Amazon Echo namens "Echo Flur" auf welchem die Sprachausgabe erfolgen soll:

Code: Alles auswählen

! Sprachausgabe auf Echo Flur
! -----------------------------------------------------------------------------------------------------------------------
string message = dom.GetObject(ID_SYSTEM_VARIABLES).Get("TTS Echo").Value();
system.Exec("/usr/local/addons/alexa/alexa.sh -d 'Echo Flur' -e speak:'" #" " #message #"' &");
Ich hatte hier Probleme, daß einfach viele der Nachrichten nicht gesprochen wurden.... ich habe dann gemerkt, daß es an den Umlauten liegt.
Ich bin kein Programmierer, aber mit Hilfe der Umwandlung aus dem Service-Meldungs-Script von Alchy habe ich dann folgendes gebastelt:

Code: Alles auswählen

! Sprachausgabe auf Echo Flur
! -----------------------------------------------------------------------------------------------------------------------
string message = dom.GetObject(ID_SYSTEM_VARIABLES).Get("TTS Echo").Value();

!Uebersetzung
string Ersetzen = "ü;ä;ö;Ü;Ä;Ö;ß";
string ErsetzenDurch = "ue;ae;oe;Ue;Ae;Oe;ss";
integer Pos = 0;integer Index = 0;string Split = "";boolean Loop = true;
foreach (Split, Ersetzen.Split(";")) {
Loop = true;
while (Loop) {
Pos = message.Find(Split);
if (Pos == -1) { Loop = false;
}else{message = message.Substr(0,Pos) # ErsetzenDurch.StrValueByIndex(";",Index)  # message.Substr(Pos + Split.Length() , ((message.Length() - Pos) - Split.Length())  );
}}
Index = Index + 1;
}

system.Exec("/usr/local/addons/alexa/alexa.sh -d 'Echo Flur' -e speak:'" #" " #message #"' &");
Gruß Mike

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von blackhole » 31.07.2019, 19:18

dft601 hat geschrieben:
31.07.2019, 15:39
Ich hatte hier Probleme, daß einfach viele der Nachrichten nicht gesprochen wurden.... ich habe dann gemerkt, daß es an den Umlauten liegt.
Ich bin kein Programmierer, aber mit Hilfe der Umwandlung aus dem Service-Meldungs-Script von Alchy habe ich dann folgendes gebastelt: (...)
Das ist zwar auch eine gute Lösung, es gibt aber in diesem Fall, speziel für die UTF-8-Problematik, einen etwas eleganteren Weg, als nur Umlaute per HM-Skript mit Vokalen umschreiben zu lassen:

Code: Alles auswählen

! Sprachausgabe auf Echo Flur
! -----------------------------------------------------------------------------------------------------------------------
string message = dom.GetObject(ID_SYSTEM_VARIABLES).Get("TTS Echo").Value();
system.Exec("/usr/local/addons/alexa/alexa.sh -d 'Echo Flur' -e speak:" #message.ToUTF8() #"' &");
Ich habe das jetzt auch im Beispiel in der Anleitung eingebaut, damit niemand mehr darüber stolpert.
Zuletzt geändert von blackhole am 15.10.2019, 07:43, insgesamt 1-mal geändert.

dft601
Beiträge: 56
Registriert: 15.04.2014, 23:57
Hat sich bedankt: 3 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von dft601 » 01.08.2019, 14:26

blackhole hat geschrieben:
31.07.2019, 19:18

Das ist zwar auch eine gute Lösung, es gibt aber in diesem Fall, speziel für die UTF-8-Problematik, einen etwas eleganteren Weg, als nur Umlaute per HM-Skript mit Vokalen umschreiben zu lassen:

Code: Alles auswählen

! Sprachausgabe auf Echo Flur
! -----------------------------------------------------------------------------------------------------------------------
string message = dom.GetObject(ID_SYSTEM_VARIABLES).Get("TTS Echo").Value();
system.Exec("/usr/local/addons/alexa/alexa.sh -d 'Echo Flur' -e speak:'" #" " #message.ToUTF8() #"' &");
Ich habe das jetzt auch im Beispiel in der Anleitung eingebaut.
Danke, ich probiers so nochmals... war mein erster Ansatz, hatte aber nicht geklappt... Vielleicht hatte ich irgendwo noch nen Fehler drin...

Mike

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von blackhole » 06.08.2019, 07:12

Hallo zusammen,

im Laufe des Tages dieser Tage werde ich unaufgefordert ein Paket, welches u.a. das aktualisierte Lötzimmer-Skript enthält, per PN an alle Alexa.sh-User versenden (NEU: "2019-08-05: v0.14 added Volume setting via routine, and $SPEAKVOL"). Unterstützt werden die CCU3 und piVCCU3.

Das Thema Grundlautstärke (NORMALVOL) und Lautstärke für TTS (SPEAKVOL) hat Alex elegant gelöst. Es gibt jetzt jeweils einen entsprechenden Konfigurationseintrag, welche bei jedem Aufruf des Skriptes greifen. Praxistests meinerseits stehen zurzeit noch aus.

Weitere Infos und Hilfen sind hier zu finden. Der Weg in den Verteiler aufgenommen zu werden, ist dort ebenfalls beschrieben.

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Cool: Alexa meldet aktiv wichtige Statusmeldungen

Beitrag von blackhole » 06.08.2019, 17:32

[packets sent/mission completed]

Falls sich ein Alexa.sh-User ausgeschlossen fühlen sollte, weil ich ihn eventuell vergessen oder übersehen haben sollte ...

... einfach melden. ¯\_(ツ)_/¯

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“