DOIF wertet Zustände nicht so aus, wie ich gerne möchte

Begonnen von Mratlan, 18 Februar 2017, 12:56:16

Vorheriges Thema - Nächstes Thema

Thorsten Pferdekaemper

Zitat von: antonwinden am 02 März 2017, 08:52:47sollte wohl heißen (nicht leer oder nicht bio oder nicht xy)
Das ist doch immer wahr, oder? Wenn es z.B. "bio" ist, dann ist es nicht "xy", also ist der Ausdruck wahr.

Zitat
(nicht leer und nicht bio und nicht xy)
Das entspricht
nicht (leer oder bio oder xy)
...was er wohl gemeint hat.
Gruß,
   Thorsten
FUIP

Mratlan

OK, jetzt sehe ich es auch. :o   Ihr habt Recht. 
Danke schon mal für eure Analyse. :)

Was ich bräuchte wäre logisch soetwas:
DOIF ([07:00-10:00] and [Muelltonnen:now_text] ne "" and ([Muelltonnen:now_text] ne "Bioabfallbehaelter" oder [Muelltonnen:now_text] ne "Gelbe Grossbehaelter") )
Oder?

Weiß jemand wie man das umformuliert, das DOIF es auswertet?

Thorsten Pferdekaemper

Zitat von: Mratlan am 02 März 2017, 23:50:21Was ich bräuchte wäre logisch soetwas:
DOIF ([07:00-10:00] and [Muelltonnen:now_text] ne "" and ([Muelltonnen:now_text] ne "Bioabfallbehaelter" oder [Muelltonnen:now_text] ne "Gelbe Grossbehaelter") )
Oder?
Nein, höchstwahrscheinlich ist das nicht, was Du willst. Es gibt eine einfache Regel: Veroderungen von "ungleich"-Bedingungen zur selben Variable sind praktisch nie, was man will:
Z.B.:

(a != 5) or (a != 6)

a ist entweder 5 oder 6 oder was anderes. Wenn a 5 ist, dann ist der Ausdruck wahr, weil 5 nicht 6 ist. Genauso dann für a = 6. Wenn a weder 5 noch 6 ist, dann ist's eh klar.

Dieser Fehler wird gerne gemacht, wenn man keine boole'sche Algebra kennt. Es gilt nämlich

not (a or b) <=> not a and not b

Man beachte, dass das or zum and wird.

Deine andere Version war da meiner Meinung nach schon richtig. Ich denke, dass das Problem woanders liegt. Hast Du mal eine Version mit RegEx versucht? Also in etwa:

and [Muelltonnen:now_text] ne "" and not ([Muelltonnen:now_text] =~ /Bioabfallbehaelter/) and not ([Muelltonnen:now_text] =~ /Gelbe Grossbehaelter/) )


Ich vermute da immer noch so etwas wie nicht gedruckte Zeichen.

Gruß,
   Thorsten
FUIP