FHEM Forum

FHEM => Automatisierung => Thema gestartet von: DL8EI Ralph am 24 November 2022, 08:57:49

Titel: [ GELÖST ] DOIF mit mehreren if's
Beitrag von: DL8EI Ralph am 24 November 2022, 08:57:49
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 ?
Titel: Antw:DOIF mit mehreren if's
Beitrag von: Damian am 24 November 2022, 09:43:06
statt:

$akt => 20.0

$akt >= 20.0

schreiben.
Titel: Antw:DOIF mit mehreren if's
Beitrag von: DL8EI Ralph am 24 November 2022, 11:35:23
Danke! Soo einfach war zuu einfach  :D