Autor Thema: [ GELÖST ] DOIF mit mehreren if's  (Gelesen 323 mal)

Offline DL8EI Ralph

  • New Member
  • *
  • Beiträge: 18
[ GELÖST ] DOIF mit mehreren if's
« 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 ?
« Letzte Änderung: 25 November 2022, 17:47:15 von DL8EI Ralph »

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 10113
Antw:DOIF mit mehreren if's
« Antwort #1 am: 24 November 2022, 09:43:06 »
statt:

$akt => 20.0
$akt >= 20.0
schreiben.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline DL8EI Ralph

  • New Member
  • *
  • Beiträge: 18
Antw:DOIF mit mehreren if's
« Antwort #2 am: 24 November 2022, 11:35:23 »
Danke! Soo einfach war zuu einfach  :D