[ GELÖST ] DOIF mit mehreren if's

Begonnen von DL8EI Ralph, 24 November 2022, 08:57:49

Vorheriges Thema - Nächstes Thema

DL8EI Ralph

Hallo, meine DOIF

([TH_Y:temperature] or [Kuechefenster:Window]) {
  my $akt = ReadingsVal("TH_Y","temperature",0);
  my $old = ReadingsVal("TH_Y","tempbefore",0);
  if (Value("Kuechefenster") eq "Open"){
    {fhem("set FHT8Vtest valve 0")} }
  else {
    if ( $akt ne $old ) {
      if ($akt => 20.0) {fhem("set FHT8Vtest valve  0")}
      if ($akt <  20.0) {fhem("set FHT8Vtest valve 33")}
      if ($akt <  19.0) {fhem("set FHT8Vtest valve 55")}
      if ($akt <  18.0) {fhem("set FHT8Vtest valve 77")}
      if ($akt <  17.0) {fhem("set FHT8Vtest valve 99")}
    }
  }
{fhem("setreading TH_Y tempbefore $akt")}
}


funktioniert zwar, aber bringt im (umgedrehten) Log immer:

2022.11.24 07:57:46 3: FHT8V set FHT8Vtest valve 0
2022.11.24 07:57:46 3: eval: {   my $akt = ReadingsVal("TH_Y","temperature",0);    my $old = ReadingsVal("TH_Y","tempbefore",0);    if (Value("Kuechefenster") eq "Open"){     {fhem("set FHT8Vtest valve 0")} }   else {     if ( $akt ne $old ) {       if ($akt => 20.0) {fhem("set FHT8Vtest valve  0")}       if ($akt <  20.0) {fhem("set FHT8Vtest valve 33")}       if ($akt <  19.0) {fhem("set FHT8Vtest valve 55")}       if ($akt <  18.0) {fhem("set FHT8Vtest valve 77")}       if ($akt <  17.0) {fhem("set FHT8Vtest valve 99")}     }   } {fhem("setreading TH_Y tempbefore $akt")} }
2022.11.24 07:57:46 1: PERL WARNING: Useless use of private variable in void context at (eval 132094) line 1.

Was mache ich denn falsch ?
Fernmelde-Opa übernahm FHEM-Installation und kämpft sich so durch.
Installation hat FS20, Homematic und einge exotische Teile.

Damian

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

DL8EI Ralph

Danke! Soo einfach war zuu einfach  :D
Fernmelde-Opa übernahm FHEM-Installation und kämpft sich so durch.
Installation hat FS20, Homematic und einge exotische Teile.