Hi, ich komma da nicht wirklich weiter.
Ich möchte die Spracheingabe eines Echo Dot in FHEM verwenden, habe aber das Problem, daß von dem echodevice das
Reading "voice" je nach Sprechpausen häufig
"alexa das ist der eingesprochene text" anstelle von
"das ist der eingesprochene text" enthält.
Nun sollte es doch möglich sein, in einem userReading mit split das "alexa " herauszufiltern.
Wie muß das aussehen?
{my $reading = ReadingsVal("echodevice","voice",""); $reading =~ s/^alexa.//; return $reading;}
Vieln Dank!
Mein Versuch mit
my §string = ReadingsVal("<eccodevice>","voice","");
my $newstring = substr $string, 1, 6, """;
waren leider nicht wirklich erfolgreich.
Deine Lösung ist genial!
Danke
canis
Um ganz sicher zu gehen und ggf. das "alexa " zu entfernen, wäre statt
s/^alexa.//;
das noch besser:
s/^alexa\s//;
LG,
Stephan.
Sogar s/^[Aa]lexa\s//;
:P
Mal rein interessehalber die Frage: Was bezweckst du mit der Auswertung des voice readings? Ich kann mir irgendwie keine sinnvolle Anwendung vorstellen, die nicht viel komfortabler über einen custom skill in der "normalen" Alexa-Anbindung zu lösen wäre...
Edit: Eigentlich gehört der Thread in "Sprachsteuerung", oder?