FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: sash.sc am 03 Juni 2018, 19:36:36

Titel: DOIF Vereinfachung?
Beitrag von: sash.sc am 03 Juni 2018, 19:36:36
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
Titel: Antw:DOIF Vereinfachung?
Beitrag von: Christoph Morrison am 03 Juni 2018, 19:48:29
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.
Titel: Antw:DOIF Vereinfachung?
Beitrag von: sash.sc am 03 Juni 2018, 20:05:28
Ok. Danke. Werde es testen.

Das i hinten ist auch so gewollt?

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk
Titel: Antw:DOIF Vereinfachung?
Beitrag von: ThoTo am 03 Juni 2018, 20:10:38
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
Titel: Antw:DOIF Vereinfachung?
Beitrag von: sash.sc am 03 Juni 2018, 20:33:35
[emoji106]

Gesendet von meinem E6653 mit Tapatalk

Titel: Antw:DOIF Vereinfachung?
Beitrag 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?

Also über Telegram.


Rollos 45


Gruß Sascha

Gesendet von meinem SM-T560 mit Tapatalk

Titel: Antw:DOIF Vereinfachung?
Beitrag von: Christoph Morrison am 03 Juni 2018, 21:39:57
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?
Titel: Antw:DOIF Vereinfachung?
Beitrag von: sash.sc am 03 Juni 2018, 21:41:30
Jepp.


Set Rollo1 50


Wobei das halt 50% sind.

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk

Titel: Antw:DOIF Vereinfachung?
Beitrag von: Christoph Morrison am 03 Juni 2018, 21:57:37
Achso. Du willst die Prozentzahl über Telegram an das Device schicken, richtig? Also ungefähr so:

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

korrekt?
Titel: Antw:DOIF Vereinfachung?
Beitrag von: sash.sc am 03 Juni 2018, 22:08:08
Genau.

Gesendet von meinem E6653 mit Tapatalk

Titel: Antw:DOIF Vereinfachung?
Beitrag von: Christoph Morrison am 05 Juni 2018, 16:53:47
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.