Autor Thema: (Erledigt) DOIF negieren  (Gelesen 225 mal)

Offline misux

  • Hero Member
  • *****
  • Beiträge: 1094
(Erledigt) DOIF negieren
« am: 16 Mai 2022, 14:56:04 »
Hi

Ich habe ein einfaches DOIF wo ich eine Bedingung negieren möchte:

([ChrissiHandy] eq "absent" and [geofancy:currLoc_Chrissi] eq "Zuhause" and [?ChrissiDummy] eq "present")
(set ChrissiDummy absent)

Ich würde gerne das Zuhause negieren sodas er immer triggert sobald [geofancy:currLoc_Chrissi] eq "nicht Zuhause" ist...

Ist es mit einem einfachen ! vor dem Zuhause erledigt?
Irgendwie scheint es nicht zu funktionieren...
« Letzte Änderung: 17 Mai 2022, 07:49:49 von misux »

Offline rabehd

  • Hero Member
  • *****
  • Beiträge: 1296
Antw:DOIF negieren
« Antwort #1 am: 16 Mai 2022, 15:06:05 »
([ChrissiHandy] eq "absent" and [geofancy:currLoc_Chrissi] ne "Zuhause" and [?ChrissiDummy] eq "present")
(set ChrissiDummy absent)

Wie wäre das?
Auch funktionierende Lösungen kann man hinterfragen.

Offline misux

  • Hero Member
  • *****
  • Beiträge: 1094
Antw:DOIF negieren
« Antwort #2 am: 16 Mai 2022, 15:24:16 »
Hmm... habe davon in der Commandref gelesen, habs nur nicht kapiert..

Warum gibt es denn ein "!" zum negieren?

Hmm... Teste mal des "ne" aus. vielen Dank!

Offline Sany

  • Full Member
  • ***
  • Beiträge: 369
Antw:DOIF negieren
« Antwort #3 am: 16 Mai 2022, 15:46:24 »
Zitat
Hmm... habe davon in der Commandref gelesen, habs nur nicht kapiert..

Warum gibt es denn ein "!" zum negieren?

das ist ja nicht unbedingt fhem, sondern Perl, weshalb Du darüber in der commandref eher keine erschöpfenden Erklärungen findest.

Kurzversion:
Vergleich in Perl:
Zahlen in den Variablen $a und $b:
$a == $b (ist gleich?)  (Aufpassen: $a = $b ist eine Zuweisung von $b nach $a, also nach der Zeile ist $a das gleiche wie $b)
$a != $b (ist Nicht gleich?)

Strings/Buchstaben in den Variablen c$ und $d:
$c eq $d (equal, ist gleich?)
$c ne $d (not equal, ist Nicht gleich?)

Langversion: Eingabe von Perl Vergleich Operator compare sollte Dich auf gefühlt ausreichend Seiten führen, wo das bis ins letzte bit erklärt ist.

viel Erfolg!


Sany
fhem auf Zotac ZBox nano als LVM unter Proxmox, Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, ZigBee/deConz, Z-Wave  ....
Zustimmung Zustimmung x 1 Liste anzeigen

Offline misux

  • Hero Member
  • *****
  • Beiträge: 1094
Antw:DOIF negieren
« Antwort #4 am: 17 Mai 2022, 07:49:29 »
Klasse! Vielen Dank für die Erklärung!

Das funtzt!  ;D