[gelöst] pearl warning

Begonnen von The-Holgi, 04 November 2014, 20:11:11

Vorheriges Thema - Nächstes Thema

The-Holgi

Hallo,
habe einen Dummy (Heizkoerper) für ein paar meiner HT´s mit den attributen:

set list state:eco,auto,14.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0

erstellt.
Dazu ein notify:
Heizkoerper.* {
my $valtemp = "%";
my $device = "ku_Thermostat,wz_Thermostat,bd_Thermostat,fl_Thermostat";
my $cmd = 'set '.$device.' desiredTemperature auto '.$valtemp;
fhem($cmd);
}

Soweit funktioniert auch alles nur wenn man im dummy auf "auto" schaltet gibt es eine Meldung im logfile:
PERL WARNING: Argument "auto" isn't numeric in multiplication (*) at ./FHEM/10_MAX.pm line 302
Wählt man statt "auto" eine Gradzahl aus der Liste gibt es keinen Eintrag im logfile. Habe das so schon lange am laufen die "Fehlermeldung" ist mir bisher noch nicht aufgefallen.
Was meint ihr einfach ignorieren (es funktioniert ja alles) oder habe ich da irgendwo einen Fehler eingebaut.

Gruß Holgi
Raspberry Pi 5

John

Hi Holgi,

was soll den der Befehl
set <device> desiredTemperature auto auto

für einen Sinn machen ?

"auto" ist kein Synonym für eine Temperatur.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Puschel74

Hallo,

my $valtemp = "%";
müsste eigentlich auch $EVENT sein.
d.h. du kannst auch
my $cmd = 'set '.$device.' desiredTemperature auto '.$EVENT;
machen und kannst dir die
my $valtemp = "%";
sparen.

Weiters kannst du im notify noch auf $EVENT eq "auto" prüfen und Johns Hinweis eliminieren indem du dann kein auto auto sendest.
So aus dem Kopf:
Heizkoerper.* {
my $device = "ku_Thermostat,wz_Thermostat,bd_Thermostat,fl_Thermostat";
if ($EVENT ne "auto") {
  my $cmd = 'set '.$device.' desiredTemperature auto '.$EVENT;
  fhem($cmd);
  }
}


Kommt das Warning nur bei auto oder auch bei eco?
Ich bin noch am grübeln wie du das eco auch abfangen kannst - && geht nicht da $EVENT nur auto ODER eco sein kann und || geht nicht da der jeweils andere dann wieder wahr ist.
Evtl. müsstest du die Abfrage auf auto || eco einfach ins leere laufen lassen:
Heizkoerper.* {
my $device = "ku_Thermostat,wz_Thermostat,bd_Thermostat,fl_Thermostat";
  if ($EVENT eq "auto" || $EVENT eq "eco") {
    --- hier kannst du auto oder eco setzen lassen ---
  }
  else {
    fhem("set ".$device." desiredTemperature auto ".$EVENT);
  }
}

Sorry ich hab den Code vermutlich jetzt etwas "verhunzt".


Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

The-Holgi

#3
Hm, wo kommt das 2. auto her ?
Der Hinweis kommt nur bei auto nicht bei eco.
Ich möchte damit erreichen das die HT´s alle wieder ins Wochenprogramm fahren, das funktioniert ja sogar trotz der Fehlermeldung.

Edit: Wenn ich das eingebe:
Heizkoerper.* {
my $device = "ku_Thermostat,wz_Thermostat,bd_Thermostat,fl_Thermostat";
if ($EVENT ne "auto") {
  my $cmd = 'set '.$device.' desiredTemperature auto '.$EVENT;
  fhem($cmd);
  }
}


Kommt zwar keine Fehlermeldung aber die HT`s fahren auch nicht ins Wochenprogramm.
Raspberry Pi 5

Puschel74

ZitatHm, wo kommt das 2. auto her ?
Aus deiner list und dem Code im notify.
Zitatset list state:eco,auto
Zitatmy $cmd = 'set '.$device.' desiredTemperature auto '.$valtemp;
Wenn $valtemp auto enthält wird desiredTemperature auto auto draus.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

The-Holgi

Zitat von: Puschel74 am 04 November 2014, 22:07:59
Aus deiner list und dem Code im notify.Wenn $valtemp auto enthält wird desiredTemperature auto auto draus.
Ja, das leuchtet selbst mir ein.
Hast mein Edit im vorigen post gelesen ?

Gruß Holgi
Raspberry Pi 5

Puschel74

Hallo,

ZitatHast mein Edit im vorigen post gelesen ?
Jetzt ja.

Dann klappt es wohl doch nicht mit $EVENT - sorry.
Was mich aber wundert - % == $EVENT meine ich
Aber da hab ich von MAX zu wenig Ahnung - ich kann dir maximal beim Code helfen (oder auch nicht wie man sieht).

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

The-Holgi

#7
Kein Problem, trotzdem Danke für die Hilfe. Werde nachher nochmal ein wenig testen.

Edit: hab jetzt einfach das auto weggelassen und es klappt plötzlich. Bin mir sicher das ich das schonmal erfolglos versucht habe.  ::)
Gruß Holgi
Raspberry Pi 5