Originally posted by: <email address deleted>
Hallo, Rudi
Ich habe heute die neueste Version von FHEM von Berlios runtergeladen
und bekomme jetzt folgende Fehler in einem Unterprogramm, das bisher
klaglos funktioniert hat:
History Use of uninitialized value in substitution (s///) at /usr/
local/lib/FHEM/99_PRIV.pm line 45.
History Use of uninitialized value in substitution (s///) at /usr/
local/lib/FHEM/99_PRIV.pm line 46.
History Use of uninitialized value in pattern match (m//) at /usr/
local/lib/FHEM/99_PRIV.pm line 47.
windowopen()
{
my ($a1, $a2) = @_;
my $openwindowcntr = 0;
foreach my $d (keys %defs) {
next if($defs{$d}{TYPE} ne "FHT");
my ($bat,$roomwindow,$fault) = split(",", $defs{$d}{READINGS}
{"state"}{VAL},3);
$bat =~ s/^.*: //;
$roomwindow =~ s/^.*: //;
$fault =~ s/^.*: //;
$openwindowcntr += ($roomwindow =~ m/open/) ? 1 : 0;
}
return $openwindowcntr;
}
Die fraglichen Zeilen beginnen mit $bat, $roomwindow und $fault und
ich verstehe die Fehlermeldung nicht.
Ich konnte das Problem durch ändern der Zeile my ($bat,$roomwindow,
$fault) in (my $bat,my $roomwindow,my $fault) nicht beheben, aber
warum das Problem? Ich glaube, da gibt es noch mehr Probleme in diesem
Unterprogramm.
Zusätzlich bekomme ich mehrmals die Meldung:
History Use of uninitialized value in concatenation (.) or string at /
usr/local/bin/fhem.pl line 741.
bzw.
Use of uninitialized value in sprintf at /usr/local/bin/fhem.pl line
1219.
Was hat sich geändert.
Sorry für eine vielleicht dumme Frage, aber ich beschäftige mich nur
im Urlaub mit Perl
Vielen Dank
Markus
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Hallo Markus,
die Fehlermeldung besagt, dass man auf unitialisierte Daten zugreifen
will: die drei Variablen sind Ergebnis der split Anweisung, und der
hat wahrscheinlich nichts zum splitten gehabt, deswegen sind die
Variablen auch nicht initialisiert.
Grund: Im letzten Version wurde das fht "state" in "warnings"
umbenannt, und enthaelt entweder "none" oder (wenn es zutrifft)
folgende Strings:
Battery low, Temperature too low, Window open, Fault on window sensor
D.h. der code in 99_PRIV.pm muss angepasst werden.
----------------
Zeile 741 bzw. 1219 sind Folgefehler: Durch den Lese-Zugriff $defs{$d}
{READINGS}{state}{VAL}
wird $defs{$d}{READINGS}{state} angelegt, leider ohne VAL/TIME, was in
den besagten Zeilen referenziert wird. Das ist (m)ein typisches Perl-
Fehler, eigentlich muesste man vor dem Zugriff auf tiefe Hashes
abfragen, ob alle Ebenen vorhanden sind.
Gruss,
Rudi
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Originally posted by: <email address deleted>
Danke Rudi
Ich habe den Code korrigiert. Jetzt geht alles wieder und ich kann mit
den Dummyvariablen spielen ;-)
Vielen Dank übrigens.
Markus
On 14 Apr., 17:25, Rudolf Koenig wrote:
> Hallo Markus,
>
> die Fehlermeldung besagt, dass man auf unitialisierte Daten zugreifen
> will: die drei Variablen sind Ergebnis der split Anweisung, und der
> hat wahrscheinlich nichts zum splitten gehabt, deswegen sind die
> Variablen auch nicht initialisiert.
>
> Grund: Im letzten Version wurde das fht "state" in "warnings"
> umbenannt, und enthaelt entweder "none" oder (wenn es zutrifft)
> folgende Strings:
> Battery low, Temperature too low, Window open, Fault on window sensor
>
> D.h. der code in 99_PRIV.pm muss angepasst werden.
>
> ----------------
> Zeile 741 bzw. 1219 sind Folgefehler: Durch den Lese-Zugriff $defs{$d}
> {READINGS}{state}{VAL}
> wird $defs{$d}{READINGS}{state} angelegt, leider ohne VAL/TIME, was in
> den besagten Zeilen referenziert wird. Das ist (m)ein typisches Perl-
> Fehler, eigentlich muesste man vor dem Zugriff auf tiefe Hashes
> abfragen, ob alle Ebenen vorhanden sind.
>
> Gruss,
> Rudi
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-