NEWS
[gelöst] Mit Blockly bestimmten Teil eines Wertes filtern?
-
Hallo,
ich möchte mit Blockly einen bestimmten Teil eines Objekt-Wertes filtern und für die Sprachausgabe nutzen.
Die Ausgabe des Objekt-Wertes ist z. B.:
WOHNZIMMER-TERRASSENTUER:1 (RHS offen),FLUR-TERRASSENTUER:1 (RHS offen)
Der Sayit-Adapter gibt hier den gesamten Text aus, ich möchte aber, dass nur "WOHNZIMMER-TERRASSENTUER" und "FLUR-TERRASSENTUER" ausgegeben werden.
Es gibt ja den Baustein "Text", mit dem komme ich aber nicht wirklich zurecht und die Suche ist hier leider auch nicht zielführend.
Geht so etwas überhaupt mit Blockly?
-
@Hicks Mit Blockly ist das nicht so einfach. Ich gehe mal davon aus, dass du nur eine begrenzte Anzahl von möglichen Texten (wie WOHNZIMMER-TERRASSENTUER oder FLUR-TERRASSENTUER) hast. Mit dem Block [im Text *** suche erstes Auftreten des Begriffs ***] kannst du feststellen ob der Begriff vorkommt (wenn das Ergebnis größer '0' ist). Von da weg kannst du dir dann auch die Ausgaben basteln.
Aber vielleicht hat noch jemand eine bessere Idee...
-
@Hicks
Ich denke damit kannst Du es auch probierenhttps://forum.iobroker.net/topic/19985/vorlage-blockly-beliebiges-zeichen-im-text-tauschen
-
@Hicks
Dazu gibt es einen Baustein.Muss ich Zuhause Mal suchen wie er genau heißt.
Ich nutze ihn um Activities bei harmony zu identifizieren.
-
@Hicks Ich würde erst nach Komma in ein Array separieren und anschließend den vorderen Teil durch das Semikolon. Etwa so
-
Hey, danke für die Lösungsvorschläge!
Morgen habe ich Zeit zum Testen und da habe ich bestimmt noch die eine oder andere Frage...
-
Hi, ich habe es jetzt mit der Lösung von @paul53 getestet. Einfach genial, auf diese Möglichkeit wäre ich nicht einmal ansatzweise gekommen.
Die Ausgabe funktioniert bei den Homematic-Sensoren auch einwandfrei. Bei den Xiaomi-Aqara-Sensoren leider nicht. Hier wird der Text innerhalb der Klammern "(TFK offen)" nicht gefiltert, vermutlich wegen des fehlenden ":" im ID-Wert.
WOHNZIMMER-TERRASSENTUER:1 (RHS offen),Gäste-WC Fenster (TFK offen)
Jetzt habe ich schon viel herumexperimentiert, z. B. das Erkennen der Klammer, aber das haut alles nicht hin
-
@Hicks
Wenn anstelle des Doppelpunktes " (" Leerzeichen + öffnende Klammer verwendet wird, sollte es mit allen Sensoren funktionieren. Bei HM ist dann natürlich noch die Kanalnummer mit dran. -
@paul53
Aaah, das Leerzeichen vor der Klammer hatte ich nicht gesetzt, deshalb ging es bei mir nicht. Mit der Kanalnummer bei HM kann ich leben.Vielen Dank!