Autor Thema: (Erledigt)Unterschied zwischen eq on und :"on"  (Gelesen 351 mal)

Online misux

  • Hero Member
  • *****
  • Beiträge: 1094
(Erledigt)Unterschied zwischen eq on und :"on"
« am: 10 Mai 2022, 18:36:39 »
HI!

Ich habe eine Verständnisfrage die mir hoffentlich jemand in einfachen Worten erklären kann...

Wo ist der Unterschied zwischen

[DruckluftDummy:"on"] und [DruckluftDummy] eq "on"?

Wann wird was wie ausgewertet? Komme irgendwie nicht ganz klar...  ::)

Kann man das in einfache Worte fassen?

Vielen Dank!
« Letzte Änderung: 17 Mai 2022, 08:03:36 von misux »

Online Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9659
Antw:Unterschied zwischen eq on und :"on"
« Antwort #1 am: 10 Mai 2022, 19:44:28 »
HI!

Ich habe eine Verständnisfrage die mir hoffentlich jemand in einfachen Worten erklären kann...

Wo ist der Unterschied zwischen

[DruckluftDummy:"on"] und [DruckluftDummy] eq "on"?

Wann wird was wie ausgewertet? Komme irgendwie nicht ganz klar...  ::)

Kann man das in einfache Worte fassen?

Vielen Dank!

Der erste Ausdruck ist ein reiner Ereignistrigger, der nur wahr ist, wenn das Ereignis eintritt, sonst ist es nicht wahr.

Der zweite Ausdruck ist eine Abfrage des Zustands mit einem Trigger, der Ausdruck ist ebenfalls wahr, wenn irgend Ereignis von DruckluftDummy eintritt und der Status von DruckluftDummy "on"  ist.

Der Unterschied macht sich insb. bei logischen Verknüpfungen z. B. mit and bemerkbar:

[DruckluftDummy:"on"] and [bla:state] eq "on"
Dieser Ausdruck ist wahr wenn DruckluftDummy ein Ereignis "on" sendet und Status von bla "on" ist.

Wenn aber bla "on" sendet, ist [DruckluftDummy:"on"] nicht wahr und damit ist die und-Verknüpfung insgesamt nicht wahr.

Dagegen:

[DruckluftDummy] eq "on" and [bla:state] eq "on"
Dieser Ausdruck ist ebenfalls wahr, wenn DruckluftDummy "on" sendet und Status von bla "on" ist.

Allerdings ist der Ausdruck auch wahr, wenn bla "on" sendet und DurkluftDummy auf "on" steht.

PS

Um es genau zu nehmen, müsste der Ereignistrigger [DruckluftDummy:"^on$"] lauten, denn sonst reagiert er auf alle Ereignisse, bei denen irgendwo im Ereignis "on" vorkommt, z. B. "von"


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Online misux

  • Hero Member
  • *****
  • Beiträge: 1094
Antw:Unterschied zwischen eq on und :"on"
« Antwort #2 am: 11 Mai 2022, 11:54:38 »
Klasse! Vielen Dank für die Erläuterung!

Ich frage weil ich manchmal ein Problem habe wo ich noch keine Lösung finde für....

Ich habe ein recht einfaches DOIF welches mir einen Dummy (Haus) auf Absent oder Present setzen soll. Auf diesen Dummy greift dann ein anderes DOIF welches meinen Rolladen steuert in Abhängigkeit von dem Dummy (Haus) auf oder zu gehen soll..

Das einfache DOIF soll den "Haus" Dummy nach 900sek auf absent setzen wenn beide Handys absent sind.

Problem ist das es irgendwie manchmal irgendwie nicht klappt.... Entweder er hält die 900sek nicht ein oder er setzt den Timer nicht aus sobald in der Zeit sich wieder ein Handy auf "present" setzt...
Und deshalb habe ich gedacht das es vielleicht daran liegt...

Oder hat einer eine Idee wo mein Fehler/Problem sein könnte...

([DavidHandy] eq "absent" and [ChrissiHandy] eq "absent" and [?Haus] eq "present")
(set Haus absent)
DOELSEIF
([DavidHandy] eq "present" and $cmd == 1)
(set Haus present)
DOELSEIF
([ChrissiHandy] eq "present" and $cmd == 1)
(set Haus present)

attribute:

do: always
wait: 900:0:0


Die überprüfung ob das Handy Present ist geschieht alle 30 Sek. mit dem Presence Modul.
« Letzte Änderung: 11 Mai 2022, 12:25:43 von misux »

Offline DetlefR

  • Full Member
  • ***
  • Beiträge: 192
Antw:Unterschied zwischen eq on und :"on"
« Antwort #3 am: 11 Mai 2022, 12:28:11 »

Zitat
Ich habe ein recht einfaches DOIF welches mir einen Dummy (Haus) auf Absent oder Present setzen soll. Auf diesen Dummy greift dann ein anderes DOIF welches meinen Rolladen steuert in Abhängigkeit von dem Dummy (Haus) auf oder zu gehen soll..

Hast du dir schon mal Residents https://fhem.de/commandref_DE.html#RESIDENTS angesehen?

Gruß
Detlef

 

decade-submarginal