Ich bekomme über Putty laufend meldungen wie diese hier angezeigt. Was sit passiert? Was kann ich tun?
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*Test$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*eckenlampe.*aus.*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*eckenlampe.*aus.*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*echts.*aus.*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*echts.*aus.*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*ehlampe.*aus.*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*ehlampe.*aus.*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*TV.*icht.*aus.*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*TV.*icht.*aus.*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*TV.*icht.*(an|ein).*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*TV.*icht.*(an|ein).*$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*Test$/ at ./FHEM/91_notify.pm line 66.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE voiceRecognitionLastResult.*Test$/ at ./FHEM/91_notify.pm line 66.
ZitatWas sit passiert?
Das notify hat eine kaputte Regexp, das * in der Regexp verhaelt sich anders als im Glob, was man vom Filesystem kennt.
Hab keine Ahnung wie das passieren konnte, da das notify die Regexp bei der Definition prueft.
ZitatWas kann ich tun?
Notify Definition posten, Regexp fixen.
Auch ich hatte heute morgen wieder eine menge Meldungen
Zitat^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .*$/ at fhem.pl line 3593.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .*$/ at fhem.pl line 3593.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .*$/ at fhem.pl line 3593.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .*$/ at fhem.pl line 3593.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .*$/ at fhem.pl line 3593.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .*$/ at fhem.pl line 3593.
2014.04.01 00:01:41 1: Perfmon: possible freeze starting at 00:01:40, delay is 1.66
Ich beschrieb das ganze schoneinmal...
Es scheint immer am Monatsanfang aufzutreten..
http://forum.fhem.de/index.php/topic,20857.msg143887.html#msg143887 (http://forum.fhem.de/index.php/topic,20857.msg143887.html#msg143887)
Mich würde folgendes interessieren:
- welche Version fhem.pl setzt Ihr ein (Bei mir gibts in Zeile 3593 weit und breit nix, was damit zusammenhängen könnte)
- arbeitet Ihr mit Monatslogs?
Meine Meldungen sind aus Putty, aber ja, ich arbeite mit Monatslog.
Hier ein define, welches angemeckert wird.
define Sprache_Stehlampe_aus notify *voiceRecognitionLastResult.*ehlampe.*aus.* set Stehlampe off;; set @ ttsSay Stehlampe ausgeschaltet
attr Sprache_Stehlampe_aus room Sprachbefehle
In meinem Fall sind es Monatslogs - ich bin zwar nicht täglich beim update dabei, es vergeht aber auch selten eine Woche ohne update - heute morgen habe ich schon ein update gemacht...
Während des Fehlers war aktiv
Zitat2014.04.01 07:03:24 0: Server started with 153 defined entities (version $Id: fhem.pl 5238 2014-03-16 16:23:31Z rudolfkoenig $, os linux, user root, pid 1806)
und seit dem update heute morgen ist aktiv
Zitat2014.04.01 09:15:19 0: Server started with 153 defined entities (version $Id: fhem.pl 5340 2014-03-27 16:19:53Z rudolfkoenig $, os linux, user root, pid 6904)
So, ich wollte gerade mein Log ansehen. Da kam aber nichts. Nach langer Wartezeit rührte sich doch was. Mein Logfile kann ich wegwerfen. Das ist richtig vollgemüllt. Jetzt bereits 56 MB.
falsch:
*voiceRecognitionLastResult.*ehlampe.*aus.*
richtig:
.*voiceRecognitionLastResult.*ehlampe.*aus.*
Wie Rudi ja schon sagte:
Zitat von: rudolfkoenig am 01 April 2014, 10:07:59
Das notify hat eine kaputte Regexp, das * in der Regexp verhaelt sich anders
Zitat von: der-Lolo am 01 April 2014, 10:48:07
und seit dem update heute morgen ist aktiv
beim mir gab es heute gar keine anstehenden Updates - was mich sehr wundert. Aber das ist ein anderes Thema.
ZitatHier ein define, welches angemeckert wird.
Die Regexp ist kaputt (faengt mit * an), und duerfte eigentlich vom notify Modul nicht akzeptiert werden.
Aber wegen einer Perl-Haarspalterei wird dieses Problem nicht als Fehler sondern als Warnung ausgegeben, was wiederum vom notify Modul nicht abgefangen wird.
- Loesung (vom Benutzer durchzufuehren): Regexp fixen.
- Mein TODO: Warning irgendwie abfragen, weiss aber nicht wie, das im Web vorgeschlagene
local $SIG{__WARN__} = sub { die $_[0] };
hat komische Nebeneffekte (wie FHEM Absturz :) )
Zitat von: rudolfkoenig am 01 April 2014, 10:07:59
Hab keine Ahnung wie das passieren konnte, da das notify die Regexp bei der Definition prueft.
Nein, tut es nicht. Eine Defintion wie z.B.
define n_test notify *test {}
wird anstandslos angelegt.
Internals:
CFGFN
DEF *test {}
NAME n_test
NR 305
NTFY_ORDER 50-notifytest
REGEXP *test
STATE 2014-04-01 11:39:12
TYPE notify
ok - typischer Fall von überschnitten 8)
Zitat von: rudolfkoenig am 01 April 2014, 11:37:10
- Mein TODO: Warning irgendwie abfragen, weiss aber nicht wie, das im Web vorgeschlagene
wäre nicht eine Prüfung, ob die Regexp mit einem * anfängt, schon ein großer Schritt vorwärts?
Zitat von: der-Lolo am 01 April 2014, 10:48:07
In meinem Fall sind es Monatslogs
Vermutlich hängt es damit zusammen, dass beim ersten Logeintrag des neuen Monats neue Logfiles angelegt werden und dann die falsch angelegten notify ins Spiel kommen.
Vielen Dank, alle geprüft und korrigiert. Da hat sich wahrscheinlich bei copy/paste ein Fehler eingeschlichen, denn die waren nicht alle falsch, sondern nur einige. Gut, dass ich hier den richtigen zur Vorführung erwischt hatte. :-)
Ja - ich habe auch ein paar fehlerhafte notifys gefunden -
auch hier copy & Paste Geschichten, ich werde auch im thread zu diesen Notifys darauf hinweisen.
Vielen Dank an Udo & Rudi fürs helfen und Fehlersuchen...
@Invers setzt Du ein gelöst vorne ran..?
Um zu testen, ob es funktioniert, kannst Du Dir testweise ein neues Log anlegen, das die gleiche regexp verwendet wie Dein Monatslog, aber als Tageslog arbeitet (du könntest sogar ein Stundenlog anlegen) dann kannst Du relativ schnell sehen, ob die Meldungen ausbleiben.
erstmal abwarten, ob es wirklich gelöst ist 8)
Zitatwäre nicht eine Prüfung, ob die Regexp mit einem * anfängt, schon ein großer Schritt vorwärts?
Vermutlich, habs also eingebaut und eingecheckt.
Ich hab da leider noch was gefunden, vermute ich. Würde nochmal jemeand einen Blick drauf werfen und vielleicht korrigierend eingreifen?
Ich hätte weniger Code eingestellt, aber ich wiess nicht, ob bei den Line-Angaben Leerzeilen und Kommentare mitgezählt werden.
# /var/InternerSpeicher/fhem/startfhem
# Subroutine str_replace redefined at ./FHEM/99_myUtils.pm line 177, <$fh> line
4.
Useless use of a variable in void context at ./FHEM/99_myUtilsTelefon.pm line 18
5, <$fh> line 4.
#
99_myUtilsTelefon.pm (Hab ich hier irgendwo aus dem Forum und dann geändert.
#################################################
# $Id: 99_myUtilsTelefon.pm 1932 2012-10-06 20:15:33Z ulimaass $
package main;
use strict;
use warnings;
use POSIX;
use FritzBoxUtils;
# fuer Telefonanrufe
our @A;
our @B;
our @C;
our @D;
our @E;
our %TelefonAktionsListe;
sub
myUtilsTelefon_Initialize($$)
{
my ($hash) = @_;
#...
}
################################################################
sub SendSMS ($$)
{
my $adress = $_[0].'@sms.kundenserver.de';
my $body = $_[1];
Log (3,"SendSMS: $adress - $body");
FB_mail($adress,"",$body);
# end sub SendSMS
}
#####################################
# Anruffunktionen ueber Fritzbox
sub
FBCall ($$)
{
my $callnr = $_[0];
my $duration = $_[1];
Log(3,"FBCall: $callnr mit Dauer $duration");
$callnr = "ATDT".$callnr."#";
my $ret = "ATD: " . `echo $callnr | nc 127.0.0.1 1011`;
InternalTimer(gettimeofday()+$duration, "FBHangOn", "", 0);
return;
}
sub FBHangOn ()
{
Log(3,"FBCallHangOn aufgerufen");
my $ret = " ATH: " . `echo "ATH" | nc 127.0.0.1 1011`;
$ret =~ s,[\r\n]*,,g;
return;
}
######################################
sub TelefonAktion($$)
{
# es wird der Name und die interne angerufene Nummer uebergeen
my ($caller) = split ('\(',$_[0]);
$caller = ltrim(rtrim($caller));
my $intern = $_[1];
# Log(3,"TelefonAktion: $caller $intern");
# Sound ausgeben
my $com = $main::TelefonAktionsListe{$caller};
if ($com)
{
Log(3,"TelefonAktion: commando: $com");
sig2_repeat($com,5,4);
} # falls commando vorhanden
} # end sub TelefonAktion
######################################
# EventZeit: Die Zeit wird nicht in der fhem-Reihenfolge, sondern für "human Interface" dargestellt
sub EventZeit()
{
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time());
return sprintf ("%2d:%02d:%02d %2d.%02d.%4d", $hour,$min,$sec,$mday,($mon+1),($year+1900));
} # end sub EventZeit
######################################
sub TelefonMonitor($)
{
our $extnum;
our $intnum;
our $extname;
our $callID;
our $callDuration;
our $stat;
my $i; my $j;
our $ab;
my $Callmon = $defs{"Callmon"};
my ($event,$arg) = split (':',$_[0]);
$arg = ltrim($arg);
# Log(3,"TM: event: $event arg: $arg");
if ($event eq "event")
{
$stat = $arg;
if ($arg eq "disconnect")
{
# fhem("set msg2_TVMarina MUTE 0");
# fhem("set msg2_TVWohnzimmer MUTE 0");
# sig2_break(); fiedel: -> Funktion um Anrufername auf FS20SIG2 auszugeben (nicht genutzt)
# sig2(70); # ringout
} # if disconnect
return;
} # end if event
if ($stat eq "ring")
{
if ($event eq"external_number")
{
$extnum = $arg;
return;
} # if external number
if ($event eq "external_name")
{
$extname = $arg;
return;
}
if ($event eq "internal_number")
{
$intnum = $arg;
return;
} # end if intnum
if ($event eq "call_id")
{
$callID = $arg;
# hier koennen wir eine anrufgesteuerte Aktion starten
TelefonAktion($extname, $intnum);
$A[$callID] = "->";
$B[$callID] = EventZeit();
$C[$callID] = $extname;
$D[$callID] = $extnum;
# fiedel: Folgende Dummys bzw. Funktionen in der CFG einrichten, wenn Samsung TV vorhanden!
# fhem("set msg2_TVMarina MUTE 1");
# fhem("set msg2_TVWohnzimmer MUTE 1");
# fhem("set msg1_TVMarina call Anruf von $extname $extnum");
# fhem("set msg1_TVWohnzimmer call Anruf von $extname $extnum");
return;
} # end if callid
return;
} # end if ring loop
if ($stat eq "connect")
{
if (($event eq"internal_connection") &&
($arg =~m/Answering_Machine_.*/))
{
$ab = "ab";
$A[$callID] = "AB";
} # end if internal_connection
if ($event eq "call_id")
{
$callID = $arg;
if ($ab && ($ab eq "AB")) {$A[$callID] = "AB"; $ab; }
$ab = undef; # zuruecksetzen
} # end if callID
} # end if connect
if ($stat eq "call")
{
if ($event eq"external_number")
{
$extnum = $arg;
#sig2(70); # ringout
return;
} # if external number
if ($event eq "external_name")
{
$extname = $arg;
return;
}
if ($event eq "call_id")
{
$callID = $arg;
$A[$callID] = "<-";
$B[$callID] = EventZeit();
$C[$callID] = $extname;
$D[$callID] = $extnum;
return;
} # end if callid
return;
} # end if callloop
if ($stat eq "disconnect")
{
if ($event eq "call_duration")
{
$callDuration = sprintf("%2d:%02d", ($arg/60),$arg%60);
return;
} # if call_duration
if ($event eq "call_id")
{
$callID = $arg;
# shiften der alten Inhalte
my $tt;
readingsBeginUpdate($Callmon);
for ($i=4;$i>0; $i--)
{
foreach $j ('A'..'E')
{
# $defs{"Callmon"}{READINGS}{$j.($i-1)}{VAL};
$tt = ReadingsVal("Callmon",$j.($i-1),"-");
readingsBulkUpdate($Callmon,$j.$i,$tt);
} # end j
} # end i
$E[$callID] = $callDuration;
readingsBulkUpdate($Callmon,"A0",$A[$callID]);
readingsBulkUpdate($Callmon,"B0",$B[$callID]);
readingsBulkUpdate($Callmon,"C0",$C[$callID]);
readingsBulkUpdate($Callmon,"D0",$D[$callID]);
readingsBulkUpdate($Callmon,"E0",$E[$callID]);
readingsEndUpdate($Callmon, 1);
$stat = "";
return;
} # end if callid
} # end if disconnect
##############################
} #end sub TelefonMonitor
1;
99_myUtils.pm
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
use CGI qw(:standard);
use IO::Socket;
use MIME::Base64;
sub samsungtv($);
#irgendwo weiter unten:
#### Samsung-TV steuern ########################################################################################################
# called by n_STV
sub
samsungtv($) {
my $cmd = shift;
my @ARGV = split(" ",$cmd);
#### Configuration
#Debug "samsungtv ARGV 0:".$ARGV[0]. ($ARGV[1] ? " 1:".$ARGV[1] : "");
my $tv = "UE55ES8090"; # Might need changing to match your TV type
my $port = "55000"; #TCP port of Samsung TV
my $tvip = "192.168.178.23"; # IP Address of TV
my $myip = "192.168.178.23"; # Doesn't seem to be really used
my $mymac = "1C:6F:65:C5:AD:FC"; # Used for the access control/validation
my $appstring = "iphone..iapp.samsung"; # What the iPhone app reports
my $tvappstring = "iphone.".$tv.".iapp.samsung"; # TV type
my $remotename = "Perl Samsung Remote"; # What gets reported when it asks for permission/also shows in General->Wireless Remote Control menu
# command-line help
if ($ARGV[0] eq "--help") {
print "Usage: samsungremote KEY [KEYS]\n";
print "Normal remote keys: 0 1 2 3 4 5 6 7 8 9 UP DOWN LEFT RIGHT ENTER MENU PRECH GUIDE INFO RETURN CH_LIST EXIT SOURCE AD PICTURE_SIZE VOLUP VOLDOWN MUTE TOOLS POWEROFF CHUP CHDOWN CONTENTS W_LINK RSS MTS SRS CAPTION TOPMENU SLEEP ESAVING PLAY PAUSE REWIND FF REC STOP TV HDMI PIP_ONOFF ASPECT \n";
exit;
}
my $sock = new IO::Socket::INET (
PeerAddr => $tvip,
PeerPort => '55000',
Proto => 'tcp',
);
die "Could not create socket: $!\n" unless $sock;
my $messagepart1 = chr(0x64) . chr(0x00) . chr(length(encode_base64($myip, ""))) . chr(0x00) . encode_base64($myip, "") . chr(length(encode_base64($mymac, ""))) . chr(0x00) . encode_base64($mymac, "") . chr(length(encode_base64($remotename, ""))) . chr(0x00) . encode_base64($remotename, "");
my $part1 = chr(0x00) . chr(length($appstring)) . chr(0x00) . $appstring . chr(length($messagepart1)) . chr(0x00) . $messagepart1;
print $sock $part1;
my $messagepart2 = chr(0xc8) . chr(0x00);
my $part2 = chr(0x00) . chr(length($appstring)) . chr(0x00) . $appstring . chr(length($messagepart2)) . chr(0x00) . $messagepart2;
print $sock $part2;
# Preceding sections all first time only
if (defined(param("text"))) {
# Send text, e.g. in YouTube app's search, N.B. NOT BBC iPlayer app.
my $text = param("text");
my $messagepart3 = chr(0x01) . chr(0x00) . chr(length(encode_base64($text, ""))) . chr(0x00) . encode_base64($text, "");
my $part3 = chr(0x01) . chr(length($appstring)) . chr(0x00) . $appstring . chr(length($messagepart3)) . chr(0x00) . $messagepart3;
print $sock $part3;
}
else {
foreach my $argnum (0 .. $#ARGV) {
# Send remote key(s)
# Debug "samsungtv.pl sending ".uc($ARGV[$argnum]);
my $key = "KEY_" . uc($ARGV[$argnum]);
my $messagepart3 = chr(0x00) . chr(0x00) . chr(0x00) . chr(length(encode_base64($key, ""))) . chr(0x00) . encode_base64($key, "");
my $part3 = chr(0x00) . chr(length($tvappstring)) . chr(0x00) . $tvappstring . chr(length($messagepart3)) . chr(0x00) . $messagepart3;
print $sock $part3;
# sleep(1);
select(undef, undef, undef, 0.5);
}
}
close($sock);
}
sub
myUtils_HeizungUpDown($$)
{
my($DEVICE,$CMD) = @_;
my $icon = $CMD;
my $VALUE = ReadingsVal($DEVICE,"desired-new","20" );
$VALUE = ReadingsVal($DEVICE,"desired-temp","20" ) if( !$VALUE || $VALUE == 0 );
my $link;
if( $CMD eq "up" ) {
$icon = "control_arrow_upward";
$VALUE += 0.5;
if( $VALUE <= 24 ) {
$icon .= "\@00EE00";
$link = "setreading $DEVICE desired-new $VALUE";
}
} elsif( $CMD eq "down" ) {
$icon = "control_arrow_downward";
$VALUE -= 0.5;
if( $VALUE >= 16 ) {
$icon .= "\@00EE00";
$link = "setreading $DEVICE desired-new $VALUE";
}
}
my $notify = "notifyHeizungUpDown";
if( !defined($defs{$notify}) ) {
CommandDefine(undef, "$notify notify .*:desired-new.* { myUtils_HeizungUpDownNotify(\$NAME,\$EVTPART1); }" );
}
my $ret = "%$icon";
$ret .= "%$link" if( $link );
return $ret;
}
sub
myUtils_HeizungUpDownNotify($$)
{
my($DEVICE,$VALUE) = @_;
return if( $VALUE == 0 );
my $at = "triggerHeizungUpDown_$DEVICE";
CommandDelete(undef, $at) if( defined($defs{$at}) );
CommandDefine(undef, "$at at +00:00:30 {my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);fhem(\"set $DEVICE desired-temp \$v\") if( \$v ); fhem(\"setreading $DEVICE desired-new 00\");}" );
return undef;
}
sub str_replace($$$)
{
my ($find,$replace,$string) = @_;
$string =~ s/$find/$replace/g;
return $string;
}
##############################################
#
package main;
use strict;
use warnings;
use POSIX;
sub
SprechKommaUtils_Initialize($$)
{
my ($hash) = @_;
}
sub say($)
{
my ($msg) = @_;
fhem "set androidTablet ttsSay $msg";
}
sub str_replace($$$)
{
my ($find,$replace,$string) = @_;
$string =~ s/$find/$replace/g;
return $string;
}
1;
Die Meldung aus Deiner myUtils kommt daher, dass das hier völliger Quatsch ist:
sub str_replace($$$)
{
my ($find,$replace,$string) = @_;
$string =~ s/$find/$replace/g;
return $string;
}
##############################################
#
package main;
use strict;
use warnings;
use POSIX;
sub
SprechKommaUtils_Initialize($$)
{
my ($hash) = @_;
}
sub say($)
{
my ($msg) = @_;
fhem "set androidTablet ttsSay $msg";
}
sub str_replace($$$)
{
my ($find,$replace,$string) = @_;
$string =~ s/$find/$replace/g;
return $string;
}
1;
die str_replace existiert zweimal, und vermutlich wolltest Du ja wohl nur die sub say() in die myUtils aufnehmen - dann lass den überflüssigen Rest einfach weg.
Bei deinen Telefonutils blicke ich nicht durch, was Du da tun willst.
Na da sind wir schon 2. LOL
Ich hab das eingesetzt (nicht programmiert), um ein- und ausgehende Anrufe der Fritzbox in fhem zu protokollieren.
Was da genau passiert, verstehe ich natürlich gar nicht.
Die Anzeige der Anrufe funktioniert, die Anzeige von Icons nicht.
Wenn das alles nicht richtig laufen will, könnte ich mich auch jederzeit davon trennen.
Zitat von: rudolfkoenig am 01 April 2014, 14:01:00
Vermutlich, habs also eingebaut und eingecheckt.
Hallo Rudi,
da die Fehlermeldung immer beim Monatswechsel auffällt, würde es eventuell auch Sinn machen, die gleiche Änderung auch noch in 92_FileLog.pm einzubauen.
Viele Grüße
Udo
Hast Recht, hab FileLog.pm auch angepasst und eingechekt.
Danke, hab ich einmal rausgeworfen.
Ich bin aber trotzdem kurz vor der Verzweiflung. Ich finde immer neue Probleme. Bin kurz davor, einfach alles wegzuhaun.
Jetzt habe ich lauter Fehler im Log. Vielleicht sollte ich fhem entweder wegwerfen, oder neu aufsetzen. Letzteres beseitigt allerdings die Fehler in meinen beiden Modulen auch nicht.
Kennt jemand den Grund für solche Fehlermeldungen nach einem kompletten Neustart der Fritzbox?
Kann man das beseitigen, oder sollte ich lieber neu aufsetzen? Vielleicht muss ich was wegwerfen.
Die meisten Fehler scheinen vom HMLAN zu kommen. Aber auch die vielen freeze nerven mich, weil ich die Ursache nicht finde.
2014.04.01 20:54:11.170 1: Perfmon: possible freeze starting at 20:54:10, delay is 1.169
2014.04.01 20:54:16.789 0: Server shutdown
2014.04.01 20:54:20.170 1: Including fhem.cfg
2014.04.01 20:54:43.248 1: HMLAN_Parse: HMLAN new condition disconnected
2014.04.01 20:54:43.286 1: HMLAN_Parse: HMLAN new condition init
2014.04.01 20:54:43.373 1: FBAHA fbaha registered with handle: 00000003
2014.04.01 20:54:49.255 1: Including ./log/fhem.save
2014.04.01 20:54:50.113 0: Server started with 163 defined entities (version $Id: fhem.pl 5340 2014-03-27 16:19:53Z rudolfkoenig $, os linux, user root, pid 2980)
2014.04.01 20:54:50.118 1: Perfmon: possible freeze starting at 20:54:22, delay is 28.117
2014.04.01 20:55:10.807 1: Perfmon: possible freeze starting at 20:54:51, delay is 19.806
2014.04.01 20:55:10.928 1: 192.168.178.35:1000 disconnected, waiting to reappear
2014.04.01 20:55:10.935 1: HMLAN_Parse: HMLAN new condition disconnected
2014.04.01 20:55:11.360 1: 192.168.178.35:1000 reappeared (HMLAN)
2014.04.01 20:55:11.367 1: HMLAN_Parse: HMLAN new condition init
2014.04.01 20:55:31.441 1: Perfmon: possible freeze starting at 20:55:11, delay is 20.44
2014.04.01 20:55:31.462 1: HMLAN_Parse: HMLAN new condition ok
2014.04.01 20:55:31.501 1: FBAHA: resetting buffer as we are out of sync (6)
2014.04.01 20:55:51.591 1: Perfmon: possible freeze starting at 20:55:32, delay is 19.59
2014.04.01 20:55:51.607 1: FBAHA: resetting buffer as we are out of sync (0)
2014.04.01 20:56:11.691 1: Perfmon: possible freeze starting at 20:55:52, delay is 19.69
2014.04.01 20:56:11.807 1: FBDECT: unknown message type 00
2014.04.01 20:56:11.810 1: FBDECT: unknown message type 00
2014.04.01 20:56:31.821 1: Perfmon: possible freeze starting at 20:56:12, delay is 19.82
2014.04.01 20:56:31.843 1: 192.168.178.35:1000 disconnected, waiting to reappear
2014.04.01 20:56:31.863 1: HMLAN_Parse: HMLAN new condition disconnected
2014.04.01 20:56:31.914 1: FBAHA: resetting buffer as we are out of sync (0)
2014.04.01 20:56:31.926 1: 192.168.178.35:1000 reappeared (HMLAN)
2014.04.01 20:56:31.936 1: HMLAN_Parse: HMLAN new condition init
2014.04.01 20:56:52.011 1: Perfmon: possible freeze starting at 20:56:32, delay is 20.01
2014.04.01 20:56:52.051 1: HMLAN_Parse: HMLAN new condition ok
2014.04.01 20:56:54.300 1: FBDECT: unknown message type 00
2014.04.01 20:56:54.302 1: FBAHA: resetting buffer as we are out of sync (131070)
2014.04.01 20:57:14.311 1: Perfmon: possible freeze starting at 20:56:53, delay is 21.31
2014.04.01 20:57:15.743 1: FBAHA: resetting buffer as we are out of sync (111074)
2014.04.01 20:57:35.751 1: Perfmon: possible freeze starting at 20:57:15, delay is 20.75
2014.04.01 20:57:35.910 1: FBAHA: resetting buffer as we are out of sync (0)
2014.04.01 20:57:55.921 1: Perfmon: possible freeze starting at 20:57:36, delay is 19.92
2014.04.01 20:57:55.927 1: 192.168.178.35:1000 disconnected, waiting to reappear
2014.04.01 20:57:55.935 1: HMLAN_Parse: HMLAN new condition disconnected
2014.04.01 20:57:55.976 1: FBDECT: unknown message type 00
2014.04.01 20:57:55.989 1: 192.168.178.35:1000 reappeared (HMLAN)
2014.04.01 20:57:55.996 1: HMLAN_Parse: HMLAN new condition init
2014.04.01 20:58:16.071 1: Perfmon: possible freeze starting at 20:57:56, delay is 20.07
2014.04.01 20:58:16.096 1: HMLAN_Parse: HMLAN new condition ok
2014.04.01 20:58:16.161 1: FBDECT: unknown message type 00
2014.04.01 20:58:16.164 1: FBAHA: resetting buffer as we are out of sync (0)
2014.04.01 20:58:36.181 1: Perfmon: possible freeze starting at 20:58:17, delay is 19.18
2014.04.01 20:58:36.209 1: 192.168.178.35:1000 disconnected, waiting to reappear
2014.04.01 20:58:36.229 1: HMLAN_Parse: HMLAN new condition disconnected
2014.04.01 20:58:36.295 1: FBAHA: resetting buffer as we are out of sync (0)
2014.04.01 20:58:36.311 1: 192.168.178.35:1000 reappeared (HMLAN)
2014.04.01 20:58:36.318 1: HMLAN_Parse: HMLAN new condition init
2014.04.01 20:58:56.401 1: Perfmon: possible freeze starting at 20:58:37, delay is 19.4
2014.04.01 20:58:56.407 1: HMLAN_Parse: HMLAN new condition ok
2014.04.01 20:59:02.066 1: Perfmon: possible freeze starting at 20:58:57, delay is 5.066
2014.04.01 20:59:02.101 1: FBAHA: resetting buffer as we are out of sync (6)
2014.04.01 20:59:02.790 1: localhost:2002 disconnected, waiting to reappear
2014.04.01 20:59:05.414 1: Perfmon: possible freeze starting at 20:59:03, delay is 2.413
2014.04.01 20:59:08.157 1: Perfmon: possible freeze starting at 20:59:06, delay is 2.156
2014.04.01 21:01:38.896 1: Including fhem.cfg
2014.04.01 21:01:46.738 1: HMLAN_Parse: HMLAN new condition disconnected
2014.04.01 21:01:46.806 1: HMLAN_Parse: HMLAN new condition init
2014.04.01 21:01:46.992 1: FBAHA fbaha registered with handle: 00000002
2014.04.01 21:02:01.059 1: Including ./log/fhem.save
2014.04.01 21:02:02.378 0: Server started with 163 defined entities (version $Id: fhem.pl 5340 2014-03-27 16:19:53Z rudolfkoenig $, os linux, user root, pid 1782)
2014.04.01 21:02:02.385 1: Perfmon: possible freeze starting at 21:01:42, delay is 20.384
2014.04.01 21:02:02.447 1: HMLAN_Parse: HMLAN new condition ok
2014.04.01 21:03:07.429 1: Perfmon: possible freeze starting at 21:03:06, delay is 1.428
Hi,
die freeze beim Start sind ok, die danach nicht mehr.
Die meisten scheinen 20 Sekunden zu sein. Die HMLAN Fehlermeldung ist vermutlich nicht Ursache sondern Wirkung des freeze.
Schalte mal den Loglevel auf 4 oder 5, dann sieht man besser wer die Ursache ist. Irgendein Modul "klemmt" und legt Dein system lahm.
vg
jörg
Du hast doch gar keine Fehler in zwei Modulen? Die Meldung aus der telefonutils ist nur ein Hinweis, kein Fehler.
Und was Du in der myUtils ändern sollst, hatte ich Dir doch schon geschrieben?
Achja - nochwas: Nimm 50 Euro in die Hand und kauf Dir eine bessere Hardware für Dein fhem.
ZitatSchalte mal den Loglevel auf 4 oder 5, dann sieht man besser wer die Ursache ist. Irgendein Modul "klemmt" und legt Dein system lahm.
Wie kann ich denn global das Loglevel erhöhen? habe nichts dazu gefunden, ausser dass es wohl nicht geht. Könnte Verbose höher setzen. Meintest du das?
ZitatAchja - nochwas: Nimm 50 Euro in die Hand und kauf Dir eine bessere Hardware für Dein fhem.
Kein Problem, aber was meinst du? Fritzbox durch Raspi ersetzen? Von Linux habe ich leider gar keine Ahnung. Ich könnte das Ding höchstens einschalten, mehr aber auch nicht. Die 7490 ist sehr schnell und hat viel Speicher. HDD ist auch dran. Die Auslastung ist minimal.
Anfänglich lief fhem auch fehlerlos, aber inzwischen ist da der Wurm drinnen.
Die Änderungen habe ich vorgenommen. Aber die Procedure wird tatsächlich zweimal benötigt. Ich vermute aber, dass man sie dafür nicht zweimal eintragen muss. Scheint da wie bei VB oder VBA zu sein, nehme ich an.
commandref --> attr verbose
Zitat von: Invers am 01 April 2014, 22:28:48Kein Problem, aber was meinst du? Fritzbox durch Raspi ersetzen? Von Linux habe ich leider gar keine Ahnung. Ich könnte das Ding höchstens einschalten, mehr aber auch nicht.
Du hattest doch auch keinerlei Skrupel, fhem auf die Fritzkotz zu bringen, dann kriegst Du das auch bei jeder anderen Hardware hin.
ZitatDie Änderungen habe ich vorgenommen. Aber die Procedure wird tatsächlich zweimal benötigt.
sicher nicht.
ZitatKönnte Verbose höher setzen. Meintest du das?
Yes, genau. Macht erst mal ein großes log ...
ZitatZitatZitat
Achja - nochwas: Nimm 50 Euro in die Hand und kauf Dir eine bessere Hardware für Dein fhem.
macht ein 20sekunden lag auch nicht besser ;)
vg
Jörg
Habe meinen HMLAN aus der Steckdose gezogen, wieder eingesteckt und die Fritzbox nueu gebootet. Jetzt läuft erst einmal alles normal.
Ich werde das morgen noch einmal testen und mich noch einmal melden.
Erstmal vielen Dank euch beiden.
gerne. Bitte mit log (verbose 4 oder 5) weil wir sinst im dunkeln stochern
vg
jörg