Alexa Spracheingabe in FHEM auswerten bzw. an einen anderes Gerät weiterleiten

Begonnen von canis, 19 Dezember 2018, 21:45:48

Vorheriges Thema - Nächstes Thema

canis

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?

amenomade

{my $reading = ReadingsVal("echodevice","voice",""); $reading =~ s/^alexa.//; return $reading;}
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

canis

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

loescher

Um ganz sicher zu gehen und ggf. das "alexa " zu entfernen, wäre statt
s/^alexa.//;
das noch besser:
s/^alexa\s//;

LG,
Stephan.

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

KernSani

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?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...