Hauptmenü

DOIF Vereinfachung?

Begonnen von sash.sc, 03 Juni 2018, 19:36:36

Vorheriges Thema - Nächstes Thema

sash.sc

Hallo zusammen.

Habe mir für Telegramm, zur externen Steuerung, ein doif gebastelt, welches verschieden Schreibweisen abfängt!


([zuhause:msgText] eq "rollos hoch" or [zuhause:msgText] eq "Rollos hoch" or [zuhause:msgText] eq "rollos Hoch" or [zuhause:msgText] eq "Rollos Hoch") (set group=Jallo 90)


Das funktioniert auch soweit.

Gibt es eine Möglichkeit dieses doif zu schrumpfen?

Wenn ja, wie?

Habe auch schon was ausprobiert. Hat aber leider nicht funktioniert!


([zuhause:msgText] eq "R|rollos H|hoch"



Gruß und danke
Sascha

Gesendet von meinem E6653 mit Tapatalk
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Christoph Morrison

Zitat von: sash.sc am 03 Juni 2018, 19:36:36

([zuhause:msgText] eq "rollos hoch" or [zuhause:msgText] eq "Rollos hoch" or [zuhause:msgText] eq "rollos Hoch" or [zuhause:msgText] eq "Rollos Hoch") (set group=Jallo 90)


Die Idee mit der Reg Ex ging schon in die richtige Richtung. Mit eq fragst du aber nur stringwise equal ab und matchst nicht.

Versuch mal folgendes:


[zuhause:msgText] =~  /rollos hoch/i


Das matcht auf jede Kombination aus Groß- und Kleinbuchstaben.

sash.sc

Ok. Danke. Werde es testen.

Das i hinten ist auch so gewollt?

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

ThoTo

Zitat von: sash.sc am 03 Juni 2018, 20:05:28
Das i hinten ist auch so gewollt?

Das ist ein s.g. Modifier und i wird genutzt um nicht auf Großkleinschreibung zu achten:
The i modifier is used to perform case-insensitive matching.

LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

sash.sc

[emoji106]

Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

sash.sc

Wie müsste man das doif abändern, wenn ich die Stellung der Rollos, die in % angegeben  werden, mit übergeben will?

Also über Telegram.


Rollos 45


Gruß Sascha

Gesendet von meinem SM-T560 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Christoph Morrison

Zitat von: sash.sc am 03 Juni 2018, 21:04:18
Wie müsste man das doif abändern, wenn ich die Stellung der Rollos, die in % angegeben  werden, mit übergeben will?

Kommt auf deine Aktoren an. Wie sieht denn ein %-Befehlt aus? Gibt es set pct?

sash.sc

Jepp.


Set Rollo1 50


Wobei das halt 50% sind.

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Christoph Morrison

Achso. Du willst die Prozentzahl über Telegram an das Device schicken, richtig? Also ungefähr so:

msgText = Rollos %zahl → fahre group=Jallo %zahl

korrekt?

sash.sc

Genau.

Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Christoph Morrison

Dann musst du den Event ($EVENT) noch mal mit Perl aufdröseln und natürlich die Reg Ex im Bedingungsteil umbauen, damit auch was anderes als "rollo hoch/i" matcht.