FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: rhoffm34 am 15 Februar 2020, 16:09:23

Titel: doif funktioniert nicht
Beitrag von: rhoffm34 am 15 Februar 2020, 16:09:23
Hallo zusammen, mein DOIF tut nicht was es soll. Es reagiert nicht auf den trigger.

{
if ([HM_WT_Buero_Climate:controlMode] eq "auto")
{
fhem("set Flag_Hzg_Buero_manVSauto auto");
}
if ([HM_WT_Buero_Climate:controlMode] ne "auto")
{
fhem("set Flag_Hzg_Buero_manVSauto manuell");
}
}


was habe ich übersehen?

Gruß
Titel: Antw:doif funktioniert nicht
Beitrag von: KernSani am 15 Februar 2020, 16:13:00
Bitte erstmal ein komplettes list des DOIF.


Gesendet von iPhone mit Tapatalk
Titel: Antw:doif funktioniert nicht
Beitrag von: rhoffm34 am 15 Februar 2020, 16:14:57

Gerne KernSani


Internals:
   CFGFN     
   DEF        {
if ([HM_WT_Buero_Climate:controlMode] eq "auto")
{
fhem("set Flag_Hzg_Buero_manVSauto auto");
}
if ([HM_WT_Buero_Climate:controlMode] ne "auto")
{
fhem("set Flag_Hzg_Buero_manVSauto manuell");
}
}

   FUUID      5e480064-f33f-a99d-60cc-67722869222ea64d
   MODEL      Perl
   NAME       Modul_Hzg_Buero_manVSauto
   NOTIFYDEV  HM_WT_Buero_Climate,global
   NR         56503
   NTFY_ORDER 50-Modul_Hzg_Buero_manVSauto
   STATE      cmd_2
   TYPE       DOIF
   VERSION    20929 2020-01-10 09:44:35
   READINGS:
     2020-02-15 16:08:20   mode            enabled
     2020-02-15 15:38:17   state           cmd_2
   Regex:
     accu:
     cond:
       HM_WT_Buero_Climate:
         0:
           controlMode ^HM_WT_Buero_Climate$:^controlMode:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0         
if (::ReadingValDoIf($hash,'HM_WT_Buero_Climate','controlMode') eq "auto")
{
fhem("set Flag_Hzg_Buero_manVSauto auto");
}
if (::ReadingValDoIf($hash,'HM_WT_Buero_Climate','controlMode') ne "auto")
{
fhem("set Flag_Hzg_Buero_manVSauto manuell");
}

     1         
   helper:
     DEVFILTER  ^global$|^HM_WT_Buero_Climate$
     NOTIFYDEV  global|HM_WT_Buero_Climate
     globalinit 1
     last_timer 0
     sleeptimer -1
   perlblock:
     0         
     1         
   readings:
     all         HM_WT_Buero_Climate:controlMode
   uiState:
   uiTable:
Attributes:
   DbLogExclude .*
   room       InUse,modul
Titel: Antw:doif funktioniert nicht
Beitrag von: KernSani am 15 Februar 2020, 16:31:38
Sollte statt dem zweiten ,,if" nicht ein else bzw. elsif stehen?
Wieso verwendest du überhaupt den Perl-Modus?



Gesendet von iPhone mit Tapatalk
Titel: Antw:doif funktioniert nicht
Beitrag von: rhoffm34 am 16 Februar 2020, 14:26:44
Weder else noch elsif funktionieren.

Warum Perl-Modus? Weil ich mich ein bisschen mit Perl auseinander setzten möchte.
Titel: Antw:doif funktioniert nicht
Beitrag von: Otto123 am 16 Februar 2020, 14:37:40
Hi,
Also ich kenn mich mit dem Perl DOIF nicht aus. ;)
Aber Du sagst es reagiert nicht. Würde mich so bestätigen, schau mal im Eventmonitor. Bei mir wirft die Änderung die Du überwachen willst keinen Event. Damit wird DOIF auch nicht triggern.

Was Du machen kannst einen Eventrigger ([HM_WT_Buero:"^CMDs_done$"]) auf das Hauptdevice und in Deiner if Abfrage das Reading abfragen, das sollte ev. gehen.

Gruß Otto
Titel: Antw:doif funktioniert nicht
Beitrag von: rhoffm34 am 16 Februar 2020, 15:02:52
Also würde auch ein DOIF im FHEM-Modus nicht getriggert werden?

Wo platziere ich

([HM_WT_Buero:"^CMDs_done$"])

?
Titel: Antw:doif funktioniert nicht
Beitrag von: Otto123 am 16 Februar 2020, 15:10:35
Wenn kein Event kommt kann nichts in FHEM triggern.

Ich vermute so?
if ([HM_WT_Buero:"^CMDs_done$"] and [HM_WT_Buero_Climate:controlMode] eq "auto")

Also dieser Event reagiert immer auf die entsprechende Änderung (setzen von Registern)  im Device HM_WT_Buero!
Titel: Antw:doif funktioniert nicht
Beitrag von: rhoffm34 am 16 Februar 2020, 15:11:43
habs gerade so probiert

([HM_WT_Buero:"^CMDs_done$"] or [HM_WT_Buero_Climate:controlMode] eq "auto")

(set Flag_Hzg_Buero_manVSauto auto)

DOELSEIF ([HM_WT_Buero:"^CMDs_done$"] or [HM_WT_Buero_Climate:controlMode] ne "auto")

(set Flag_Hzg_Buero_manVSauto manuell)


Ist das so technisch i.O.?
Titel: Antw:doif funktioniert nicht
Beitrag von: rhoffm34 am 16 Februar 2020, 15:12:28
So funktioniert es....

Vielen Dank.
Titel: Antw:doif funktioniert nicht
Beitrag von: Otto123 am 16 Februar 2020, 15:13:41
Nein dass ist falsch, or ist an der Stelle falsch. Und jetzt ist wieder kein Perl mehr  ???
Titel: Antw:doif funktioniert nicht
Beitrag von: rhoffm34 am 16 Februar 2020, 15:15:24
okay, dann ändere ich das noch in "and"