Hallo,
Seit ein paar Tagen startet mein fhem nicht mehr wenn ich einen shutdown restart mache
Was kann das sein?
Ich wäre mir nicht bewusst, etwas grundlegendes geändert zu haben.
was heißt stürzt ab?
beim shutdown?
oder beim restart??
gar nicht mehr erreichbar?
logfiles??
Hi,
was heißt denn das? macht kein shutdown? Kommt nicht wieder - keinen Restart? Was steht zu diesem Zeitpunkt im Log?
Gruß Otto
nils war schneller
Könnte ich heute auf meiner Entwicklungsumgebung auch beobachten. Mache definitiv ein shutdown restart und FHEM macht nur shutdown aber kein restart mehr.
lt. Logfile stürzt beim fhem beim shutdown ab.
Nach deinem /etc/init.d/fhem start geht es wieder.
Diese Meldung steht als letztes:
Can't use an undefined value as a symbol reference at ./FHEM/51_RPI_GPIO.pm line 445.
Können wir uns bitte darauf einigen das FHEM nicht abstürzt sondern korrekt beendet wird.
Es folgt ein shutdown was ja korrekt ist, danach erfolgt aber halt kein restart.
Zitat von: CoolTux am 30 November 2017, 16:44:22
Können wir uns bitte darauf einigen das FHEM nicht abstürzt sondern korrekt beendet wird.
Es folgt ein shutdown was ja korrekt ist, danach erfolgt aber halt kein restart.
Ok ist schreibe meinen Titel um.
Nur frage ich mich warum das erst jetzt auftritt. Ich habe fhem zum letzten mal vor ca. 8 Wochen upgedatet.
Die RPI_GPIO verwende ich ich schon länger als 8 Wochen.
Was könnte die undefinierte Symbol Referenz sein?
zeig doch mal ein paar logs....
eine zeile hilft da nicht so viel weiter...
Zu mindest bei mir steht nichts weiter im Log. Es ist ein sauberes runter fahren. Als ob er das restart verschluckt beim Befehl in der FHEMWEB Konsole.
Du gibst ein
shutdown restart
und er schreibt als letztes im Log
shutdown
Bei mir meckert er ja über die Zeile 445 in der Datei 51_RPI_GPIO.pm
Das ist der Teil aus der Datei:
sub RPI_GPIO_Undef($$) {
my ($hash, $arg) = @_;
if ( defined (AttrVal($hash->{NAME}, "poll_interval", undef)) ) {
RemoveInternalTimer($hash);
}
if ( ( AttrVal($hash->{NAME}, "interrupt", "none") ) ne ( "none" ) ) {
delete $selectlist{$hash->{NAME}};
close($hash->{filehandle});
}
# to have a chance to externaly setup the GPIOs -
# leave GPIOs untouched if attr unexportpin is set to "no"
if(AttrVal($hash->{NAME},"unexportpin","") ne "no") {
if (-w "$hash->{GPIO_Basedir}/unexport") {#unexport Pin alte Version
my $uexp = IO::File->new("> $hash->{GPIO_Basedir}/unexport");
print $uexp "$hash->{RPI_pin}";
$uexp->close;
} else {#alternative unexport Pin:
RPI_GPIO_exuexpin($hash, "unexport");
}
}
Log3 $hash, 4, "$hash->{NAME}: entfernt";
return undef;
}
Diese Zeile ist es genau: close($hash->{filehandle});
Nur ich mache da nichts, weil ich den Zusammenhang nicht kenne.
Da ich ja einen automatischen start von fhem mit pid konfiguriert habe, startet mein Server fhem nach ca 1 min automatisch.