Sprachsteuerung Text filtern (mir fällt kein besserer Betreff ein)

Begonnen von Invers, 02 Dezember 2018, 14:36:07

Vorheriges Thema - Nächstes Thema

Invers

Ich weiss nicht, ob das hierher gehört, hoffe aber, dass es richtig platziert ist:

Ich verwende AMAD zur Sprachsteuerung per DOIF. Funktioniert auch prima.
Nun möchte ich jedoch die Sprachsteuerung, also besagtes DOIF, für Durchsagen benutzen.
Ich spreche also ins Handy auf die CommBridge von AMAD und werte dann in der Sprachsteuerung aus:

DOELSEIF ([myAmadBridge:receiveVoiceCommand] =~ "ansage|mitteilung|durchsage") (set Kuechenradio speak [myAmadBridge:receiveVoiceCommand])

Das funktioniert ebenfalls zuverlässig.

Nun möchte ich jedoch die Triggerwörter "ansage","mitteilung" und "durchsage" vor der Ansage aus [myAmadBridge:receiveVoiceCommand] entfernen und dann den Rest abspielen.

Wäre eventuell jemand so nett, mir den Befehlsteil zu formulieren? Falls da so gar nicht funktioniert, wäre eine diesbezügliche Info erbeten.

Danke im Voraus.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Byte09

Zitat von: Invers am 02 Dezember 2018, 14:36:07
Ich weiss nicht, ob das hierher gehört, hoffe aber, dass es richtig platziert ist:

Ich verwende AMAD zur Sprachsteuerung per DOIF. Funktioniert auch prima.
Nun möchte ich jedoch die Sprachsteuerung, also besagtes DOIF, für Durchsagen benutzen.
Ich spreche also ins Handy auf die CommBridge von AMAD und werte dann in der Sprachsteuerung aus:

DOELSEIF ([myAmadBridge:receiveVoiceCommand] =~ "ansage|mitteilung|durchsage") (set Kuechenradio speak [myAmadBridge:receiveVoiceCommand])

Das funktioniert ebenfalls zuverlässig.

Nun möchte ich jedoch die Triggerwörter "ansage","mitteilung" und "durchsage" vor der Ansage aus [myAmadBridge:receiveVoiceCommand] entfernen und dann den Rest abspielen.

Wäre eventuell jemand so nett, mir den Befehlsteil zu formulieren? Falls da so gar nicht funktioniert, wäre eine diesbezügliche Info erbeten.

Danke im Voraus.

Hi Invers, kenne mich mit DOIF zwar nicht aus, aber ggf. kannst du es ja über ein userreading lösen , und dieses dann ausgeben.

filteredCommand {my $string = ReadingsVal( $name, 'receiveVoiceCommand', '' );$string =~ s/ansage|mitteilung|durchsage//g; return $string; }

gruss Byte09

Ellert

"set_magic" sollte auch funktionieren

(set Kuechenradio speak {(my $string = ReadingsVal( $name, 'receiveVoiceCommand', '' );$string =~ s/ansage|mitteilung|durchsage//g; return $string;)})

Damian

Das kann man etwas einfacher mit DOIF-Filteroption definieren:


(set Kuechenradio speak [myAmadBridge:receiveVoiceCommand:"(ansage|mitteilung|durchsage)(.*$)":$2])
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Invers

Ich danke euch allen für die schnelle und effektive Hilfe. Erstaunlich, wie viele Wege es gibt - und ich habe keinen einzigen gefunden.

Ich habe mich für die kürzeste Lösung von Damian entschieden, die auch auf Anhieb funktioniert hat. 

Falls du mir noch was Gutes tun möchtest, würde  ich mir eine kurze Erklärung zum Verständnis wünschen. In der Commandref finde ich da so nichts auf die Schnelle. Reicht auch, wenn du mir die Stelle sagst, wo ich mal gucken kann.
Ich will aber nicht nerven. Falls du keinen Bock hast, verstehe ich das auch. :-)

Also nochmals Dank an alle.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Invers

Danke, hatte ich nicht gefunden, da ich nicht genau wusste, wonach ich suchen sollte.
Jetzt habe ich 99% verstanden. Gute Erklärung.
Danke und gute Nacht.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2