[gelöst] syntax mehrere Bedingungen zusammenfassen ala "(1|2)"

Begonnen von holle75, 09 August 2024, 12:32:17

Vorheriges Thema - Nächstes Thema

holle75

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).

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Damian

In Perl gibt es den =~ Operator für Regex-Vergleiche, daher kannst du angeben:

([?$SELF:cmd_nr] =~ "2|3")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75

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.

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75

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.