NEWS
Prüfung eines Textes mit RegEx in Blockly
-
Hallo Forum,
ich hoffe, ich werde bei Euch fündig...
Ich steuere mit meinen Alexas diverse Lampen. Dazu frage ich ab, welche Alexa (das gibt mir die Information, in welchem Raum der Wunsch/Befehl geäußert wurde) welchen Text zuletzt gehört hat.
Allerdings muss ich dabei exakt die vorgegebene Wortfolge einhalten.
Z.B. wenn ich im Wohnzimmer sage "Alexa, schalte das Licht ein!", führt das zu einem Alexa-History Eintrag, dass die Alexa im Wohnzimmer "schalte das licht ein" gehört hat.
Jetzt kommt es öfters vor, dass die Alexa ein "schalt das licht ein" (es fehlt da e am Ende) hört, oder man irrtümlicherweise sagt "Alexa, schalte bitte das Licht ein" oder "...schalte das Licht an". In beiden Fällen wurde nicht die exakte Wortfolge gesagt und es passiert dann weiter nichts.Um das Problem zu lösen, würde ich gerne dazu den Text mit einer regular expression prüfen, allerdings finde ich keine Möglichkeit in Blockly einen Text/String mit einer RegEx zu prüfen.
Als Beispiel würde ich den Text gerne gegen folgende RegEx prüfen lassen:(bitte\s+)?schalte?\s+(bitte\s+)?(das|der|die)\s+(licht|lampe|deckenbelechtung|deckenlampe)\s*(bitte\s+)?(ein|an)(\s+bitte)?
Kann mir jemand einen Tipp geben, wie ich so etwas zustande bringen kann?
Danke im Voraus!
-
@se232 Ich würde einfach die passende JavaScript Methode in eine JS-Funktion packen und die aus dem Blockly aufrufen
-
@ahnungsbefreit Danke! Habe das ausprobiert und funktioniert wunderbar!
-
@se232 wärst du geneigt deine Lösung mal detaillierter zu Beschreiben?
Ggf. im https://forum.iobroker.net/category/14/praktische-anwendungen-showcase Bereich?Würde mich sehr interessieren.