Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 5 Nächste Version anzeigen »

Eine Zeichenkette auftrennen oder auf bestimmten Inhalt prüfen

Verfügbar ab Firmware Version 4.1 Insider Preview 1

Inhalt dieser Seite
richtet sich an
EXPERTEN

Über Protokolle wie MQTT und HTTP-/Rest-API werden Dezimalzahlen oft als Zeichenkette übergeben und nicht als binär kodierter Zahlenwert. Im Timberwolf Server können mathematische Operationen nur mit binär kodierten Zahlenwerten ausgeführt werden, daher ist eine Wandlung meist sinnvoll. Zudem werden für Fließkommazahlen nur 8 Byte für die Speicherung benötigt.

Syntax

["Regex","$In","$Expression", "$HasMatch", "$Match", "$Group1", "$Group2", "$Group3", "$Group4", "$Group5"]

Funktion

Die Eingangszeichenkette "$In" wird anhand des regulären Ausdrucks (Regex) in "$Expression" verarbeitet. Das Ergebnis wird in den Ausgangslevel bereitgestellt.

Eingänge

  • "$In" Zeichenkette auf die der reguläre Ausdruck angewendet werden soll (String)

  • "$Expression" regulärer Ausdruck im PCRE2 Format (String)

Ausgänge

  • $HasMatch Wahrheitswert der aussagt, ob der reguläre Ausdruck für die übergebene Zeichenkette zu einem Ergebnis geführt hat

  • $Match Der Teil der übergebene Zeichenkette, welcher zum Ergebnis geführt hat

  • $Group1 bis $Group5 Über Gruppierungskonstrukte im regulären Ausdruck können Teile des Inhalts aufgezeichnet werden. Die Ergebnisse von bis zu fünf aufzeichnenden Gruppen können über dieses Ausgänge abgerufen werden.

Besonderheiten

  • Es werden nur Zeichenketten mit 8 Bit pro Zeichen korrekt verarbeitet (ASCII, ANSI, UTF-8)

  • Die Regulären Ausdrücke können auf https://regex101.com/ (Extern, Englisch) entwickelt und getestet werden. Flavor ist auf PCRE2 (PHP >=7.3) und Function auf Match zu stellen.

  • Für die korrekte Funktion des Moduls müssen die Anzahl der Zeichen für jedes beteiligte String Level auf den jeweiligen Anwendungsfall angepasst werden.
    Ist ein Level zu kurz wird die Zeichenkette bei der Ein- bzw. Ausgabe aus dem Modul abgeschnitten, was zu unerwarteten Ergebnissen führen kann.
    Eine hohe Anzahl von sehr langen Leveln führt zu erhöhtem Ressourcen Verbrauch, selbst wenn diese Level nicht mit Inhalt gefüllt werden.

  • Werden Zahlenwerte über die Regex ermittelt, können diese über die Module STR->INT und STR->FLOAT aus der Textkodierung (Level String) in eine Zahlenkodierung (Level Integer oder Float) umgewandelt werden.

Anwendungen

  • XML Daten verarbeiten

  • Werte aus Loxone Webservices verarbeiten

  • Zeichenketten auftrennen

  • Statusrückmeldungen auf Fehler prüfen

Beispiele

Entsprechendes Logik-Modul

 

  • Keine Stichwörter