[gelöst] Fehlermeldung; PERL WARNING: ... Kann mir jemand die Bedeutung erklären

Begonnen von FHEm2005, 04 November 2014, 09:35:59

Vorheriges Thema - Nächstes Thema

Bennemannc

Hallo,

lager doch die Berechnung mal in 99_myUtils aus. Dafür ist diese Datei eigentlich da, und da Du diesen Teil 3 mal verwendest, macht das auch Sinn.
Dem sub kannst Du dann Variabelen übergeben und mit Return die Werte als Reading zurück geben.
Vielleicht kommt dann eine differenziert Fehlermeldung oder es wird ein Fehler in 99_myUtils ausgeworfen.
Was mir bei Deiner Programmierung aufgefallen ist. Die Variabelen werden Teilweise mitten in der Berechnung angelegt. Ich kenne das nur so, das die Variabelen im Kopf - also oben alle angelegt werden.
Versuch es mal so - in 99_myUtils
##################################
sub Dewpoint_AbsFeuchte ($$) {
my ($temperature,$humidity) = @_;
my $AF;
my $dp;
my $a;
my $b;
my $TK = 273.15 + $temperature;
($temperature >= 0)?{$a=7.5} : {$a=7.6};
($temperature >= 0)?{$b=237.3} : {$b=240.7};
my $SDD = 6.1078 * (10 ** (($a * $temperature)/($b+$temperature)));
my $DD = $humidity/100*$SDD;
$AF = 216.6869 * $DD/$TK ;

my $v = (log ($DD/6.1078))/(log(10));
$dp = $b * $v / ($a-$v);
my $Out =  'Taupunkt:' . $dp . 'Feuchte: ' . $AF;
return $Out};


aufgerufen wird die Funktion auch über UserReadings {Dewpoint_AbsFeuchte (readingsVal(... Temp) , readingsVal( ... feuchte))}
Bei mir kommt da keine Fehlermeldung.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

FHEm2005

Ich hatte das Thema schon aufgegeben. Das kann man/frau an meiner Reaktionszeit von 1 Monat sehen.

Ich habe also zuerst Billy's Vorschlag umgesetzt und die äußersten geschweiften Klöammern durch runde Klammern sertzt. Und siehe da - DIE FEHLERMELDUNG IST WEG!!! Niemand möge mich fragen, warum gerade hier die runde Klammer erforderlich ist.

Wenn doch irgendwann die Fehlermeldung wiederkommt, werd' ich es mit Bennemannc's Version versuchen


Allen Beteiligten meinen verbindlichen Dank!!!!

Viele Grüße
Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN