Meldungen in der Kommandline.
Hab heute mal einen Neustart auf der Commandline beobachtet und Wollte fragen ob eine dieser Meldungen bedenklich ist?
Ich kenn mich da noch zu schlecht aus als das ich was mit den Meldungen Anfangen könnte.
Würd mich freuen wenn mir da jemand was dazu sagen könnte.
Starting fhem...
Subroutine myUtils_Initialize redefined at ./FHEM/99_TelefonUtils.pm line 8.
Prototype mismatch: sub main::round: none vs ($$) at ./FHEM/99_Utils.pm line 245.
Subroutine round redefined at ./FHEM/99_Utils.pm line 242.
root@AlexHome:~# Subroutine myUtils_Initialize redefined at ./FHEM/99_LogAbrissUtils.pm line 7, <$fh> line 6.
Subroutine addLog redefined at ./FHEM/99_LogAbrissUtils.pm line 18, <$fh> line 6.
Subroutine SWAP_Initialize redefined at ./FHEM/34_SWAP.pm line 74, <$fh> line 671.
Subroutine SWAP_loadDevices redefined at ./FHEM/34_SWAP.pm line 98, <$fh> line 671.
Subroutine SWAP_loadDevicesHelper redefined at ./FHEM/34_SWAP.pm line 117, <$fh> line 671.
Subroutine readDeviceXML redefined at ./FHEM/34_SWAP.pm line 147, <$fh> line 671.
Subroutine SWAP_Define redefined at ./FHEM/34_SWAP.pm line 241, <$fh> line 671.
Subroutine SWAP_Undef redefined at ./FHEM/34_SWAP.pm line 314, <$fh> line 671.
Subroutine SWAP_getRegister redefined at ./FHEM/34_SWAP.pm line 334, <$fh> line 671.
Subroutine SWAP_Set redefined at ./FHEM/34_SWAP.pm line 374, <$fh> line 671.
Subroutine SWAP_Get redefined at ./FHEM/34_SWAP.pm line 688, <$fh> line 671.
Subroutine SWAP_regName redefined at ./FHEM/34_SWAP.pm line 801, <$fh> line 671.
Subroutine SWAP_readDeviceXML redefined at ./FHEM/34_SWAP.pm line 814, <$fh> line 671.
Subroutine SWAP_Fingerprint redefined at ./FHEM/34_SWAP.pm line 832, <$fh> line 671.
Subroutine SWAP_updateReadings redefined at ./FHEM/34_SWAP.pm line 844, <$fh> line 671.
Subroutine SWAP_findFreeAddress redefined at ./FHEM/34_SWAP.pm line 903, <$fh> line 671.
Subroutine SWAP_Parse redefined at ./FHEM/34_SWAP.pm line 917, <$fh> line 671.
Subroutine SWAP_Send redefined at ./FHEM/34_SWAP.pm line 1118, <$fh> line 671.
Subroutine SWAP_PushCmdStack redefined at ./FHEM/34_SWAP.pm line 1145, <$fh> line 671.
Subroutine SWAP_ProcessCmdStack redefined at ./FHEM/34_SWAP.pm line 1157, <$fh> line 671.
Subroutine SWAP_Attr redefined at ./FHEM/34_SWAP.pm line 1180, <$fh> line 671.
Ist kein Fehler, es wurde nur die myUtils neu geladen, mit allen sub die da drinn vorkommen. Wahrscheinlich hast du in der 99_myUtils etwas geändert und dann fhem neu gestartet. Dabei wird die Utils neu geladen und sämtliche sub´s "redefiniert".
VG
Frank
Ganz so einfach ist das nicht...
Subroutine myUtils_Initialize redefined at ./FHEM/99_TelefonUtils.pm line 8.
In einer Datei "99_TelefonUtils.pm" sollte die Initialize Routine auch TelefonUtils_Initialize heißen und eine Funktion "myUtils_Initialize" darf es in dieser Datei nicht mehr geben.
die redefined-Meldungen von SWAP betrachte ich als unkritisch.
Wenn ich ehrlich bin komm ich mit den eigenen Funktionen bis jetzt eher schlecht als recht klar. Ich kopier die immer nur zusammen und hoffe das es klappt.
Könnte vieleicht mal jemand über meine 99_myUtils.pm drüberschauen. Da ist bestimmt ein Haufen zeug mit drin den ich rauslöschen könnte. die anderen 99_er dateien hab ich jetzt alle
in eine zusammenkopiert..
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
use Math::Round qw/round/;
}
# Enter you functions below _this_ line.
1;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
#### Log-abriss vermeiden
# called by
# define addLog notify addLog {addLog("ez_Aussensensor","state");addLog("ez_FHT","actuator");\
# addLog("MunichWeather","humidity");addLog("MunichWeather","pressure");\
# addLog("MunichWeather","temperature");addLog("MunichWeather","wind_chill");}
# define a_midnight1 at *23:59 trigger addLog
# define a_midnight2 at *00:01 trigger addLog
sub
addLog($$) {
my ($logdevice, $reading) = @_; # device and reading to be used
my $logentry = ReadingsVal($logdevice,$reading,"addLog: invalid reading");
if ($reading =~ m,state,i) {
fhem "trigger $logdevice $logentry << addLog";
} else {
fhem "trigger $logdevice $reading: $logentry << addLog";
}
}
1;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
sub LautstaerkeRegelung()
{
my $event = ReadingsVal("FritzBox","event","");
my $internal_number = ReadingsVal("Fritzbox","internal_number","");
my $lautstaerke = ReadingsVal("AV_Receiver","volumeStraight","");
my $call_id = ReadingsVal("FritzBox","call_id","");
my $receiver = Value("AV_Receiver");
my $telefon_lautstaerke = Value("Telefon_Lautstaerke");
my $telefon_automatik = Value("Telefon_Automatik");
unless($event eq "" or $lautstaerke eq "" or $receiver eq "off" or $telefon_automatik eq "off")
{
{
if(not $event eq "disconnect" and $lautstaerke > $telefon_lautstaerke)
{
fhem "define tmp_AV_lautstaerke_".$call_id." dummy";
fhem "set tmp_AV_lautstaerke_".$call_id." ".$lautstaerke;
fhem "set AV_Receiver volumeStraight ".$telefon_lautstaerke;
}
elsif($event eq "disconnect")
{
if(Value("tmp_AV_lautstaerke_".$call_id) ne "")
{
fhem "set AV_Receiver volumeStraight ".Value("tmp_AV_lautstaerke_".$call_id);
fhem "delete tmp_AV_lautstaerke_".$call_id;
}
}
}
}
return undef;
}
1;
Seh ich das richtig das ich zum Beispiel an dieser Stelle:
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
sub LautstaerkeRegelung()
{
diesen teil löschen könnte:
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
Nee, die Zeilen kannst du nicht löschen!! Und die 1; gehört nur EINMAL in die Utils und zwar ganz zum Schluss. Die steht bei dir ja fast nach jedem Block :o
Sieh dir, zum Verständnis mal das hier an: http://www.fhemwiki.de/wiki/99_myUtils_anlegen
VG
Frank
doch, die mehrfach vorhandenen Initialize Blöcke kann (und sollte) man löschen...
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
##### alles OBERHALB dieser Zeile nicht mehr ändern!
#### Log-abriss vermeiden
# called by
# define addLog notify addLog {addLog("ez_Aussensensor","state");addLog("ez_FHT","actuator");\
# addLog("MunichWeather","humidity");addLog("MunichWeather","pressure");\
# addLog("MunichWeather","temperature");addLog("MunichWeather","wind_chill");}
# define a_midnight1 at *23:59 trigger addLog
# define a_midnight2 at *00:01 trigger addLog
sub
addLog($$) {
my ($logdevice, $reading) = @_; # device and reading to be used
my $logentry = ReadingsVal($logdevice,$reading,"addLog: invalid reading");
if ($reading =~ m,state,i) {
fhem "trigger $logdevice $logentry << addLog";
} else {
fhem "trigger $logdevice $reading: $logentry << addLog";
}
}
sub LautstaerkeRegelung()
{
my $event = ReadingsVal("FritzBox","event","");
my $internal_number = ReadingsVal("Fritzbox","internal_number","");
my $lautstaerke = ReadingsVal("AV_Receiver","volumeStraight","");
my $call_id = ReadingsVal("FritzBox","call_id","");
my $receiver = Value("AV_Receiver");
my $telefon_lautstaerke = Value("Telefon_Lautstaerke");
my $telefon_automatik = Value("Telefon_Automatik");
unless($event eq "" or $lautstaerke eq "" or $receiver eq "off" or $telefon_automatik eq "off")
{
{
if(not $event eq "disconnect" and $lautstaerke > $telefon_lautstaerke)
{
fhem "define tmp_AV_lautstaerke_".$call_id." dummy";
fhem "set tmp_AV_lautstaerke_".$call_id." ".$lautstaerke;
fhem "set AV_Receiver volumeStraight ".$telefon_lautstaerke;
}
elsif($event eq "disconnect")
{
if(Value("tmp_AV_lautstaerke_".$call_id) ne "")
{
fhem "set AV_Receiver volumeStraight ".Value("tmp_AV_lautstaerke_".$call_id);
fhem "delete tmp_AV_lautstaerke_".$call_id;
}
}
}
}
return undef;
}
##### alles UNTERHALBE dieser Zeile nicht mehr ändern!
1;
@betateilchen
Du hast natürlich Recht, ich sollte beim schreiben die Brille aufsetzen! Ich habe nur ganz am Anfang das myUtils_Initialize($$) gesehen und dachte er möchte diese löschen, dass vor jeder sub nochmals myUtils_Initialize($$) steht, hatte ich vollkommen übersehen.
Super, danke jetzt macht das auch langsam alles Sinn was da steht.
Vielen Dank!!!!