FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: holle75 am 09 August 2024, 12:32:17

Titel: [gelöst] syntax mehrere Bedingungen zusammenfassen ala "(1|2)"
Beitrag von: holle75 am 09 August 2024, 12:32:17
Such mich wund ...

Beispiel in einer Bedingung:

([?$SELF:cmd_nr] eq "2" or [?$SELF:cmd_nr] eq "3")

das muss man doch auch irgendwie

[?$SELF:cmd_nr] eq "(2|3)"

oder

[?$SELF:cmd_nr] eq "2|3"

oder, oder,

oder ähnlich zusammenfassen können?

Finde keine Beispiele (auch für zb Zahlen ..... == (55.5|65) oder, oder).
Titel: Aw: syntax mehrere Bedingungen zusammenfassen ala "(1|2)"
Beitrag von: MadMax-FHEM am 09 August 2024, 13:57:49
Zitat von: holle75 am 09 August 2024, 12:32:17das muss man doch auch irgendwie
Warum "muss" das irgendwie?

Es kann gar nicht anders gehen, weil: eq ist ein Vergleich und der vergleicht Zeichenketten und "2" oder auch "3" ist eben eine andere Zeichenkette als "2|3" oder egal welche "Abwandlung", weil anders ist halt nun mal anders...

"Sowas" kann man mit RegEx machen aber nicht mit Vergleichen!

Gilt für Zahlen halt auch.

Hat auch nichts mit DOIF zu tun, sondern das sind Vergleichsoperatoren und die sind halt mal wie sie sind...

Gruß, Joachim
Titel: Aw: syntax mehrere Bedingungen zusammenfassen ala "(1|2)"
Beitrag von: Damian am 09 August 2024, 14:36:40
In Perl gibt es den =~ Operator für Regex-Vergleiche, daher kannst du angeben:

([?$SELF:cmd_nr] =~ "2|3")
Titel: Aw: syntax mehrere Bedingungen zusammenfassen ala "(1|2)"
Beitrag von: holle75 am 09 August 2024, 16:09:30
Danke Damian. Nur um sicherzugehen, die Syntax kann ich aber nicht im Fhem-DOIF Modus anwenden? Sorry, weiß nicht genau, wo und wie die Grenzen verlaufen.
Titel: Aw: syntax mehrere Bedingungen zusammenfassen ala "(1|2)"
Beitrag von: Damian am 09 August 2024, 16:26:23
Zitat von: holle75 am 09 August 2024, 16:09:30Danke Damian. Nur um sicherzugehen, die Syntax kann ich aber nicht im Fhem-DOIF Modus anwenden? Sorry, weiß nicht genau, wo und wie die Grenzen verlaufen.

Doch, die kannst du auch im DOIF-FHEM-Modus nutzen.
Titel: Aw: syntax mehrere Bedingungen zusammenfassen ala "(1|2)"
Beitrag von: holle75 am 09 August 2024, 16:31:16
Top. Danke

@madmax: Fragen schadet nie. Und da DOIF eigentlich "alles kann", wurde ich erst seltenst davon überrascht, dass irgend ein "Unsinn" der mir oder anderen in den Kopf kam nicht umsetzbar war.