Moin zusammen.
Fhem läuft auf einem Raspi. dieser wurde heruntergefahren dann wieder neugestartet.
fhem war erreichbar und funktionierte. Bis auf den pushover Dienst der stand auf getrennt.
Per fhem web update durchgeführt. Danach ist das frontend nicht mehr erreichbar.
pi@SPOOKY-SRV02:~ $ sudo systemctl status fhem
● fhem.service - LSB: FHEM server
Loaded: loaded (/etc/init.d/fhem)
Active: active (exited) since Sa 2021-02-06 12:00:30 CET; 3s ago
Process: 958 ExecStop=/etc/init.d/fhem stop (code=exited, status=1/FAILURE)
Process: 984 ExecStart=/etc/init.d/fhem start (code=exited, status=0/SUCCESS)
Feb 06 12:00:20 SPOOKY-SRV02 fhem[984]: Starting fhem...
Feb 06 12:00:30 SPOOKY-SRV02 systemd[1]: Started LSB: FHEM server.
Das ist doch m.E. nicht ganz OK
pi@SPOOKY-SRV02:~ $ ps ax | grep perl
758 ? Ss 0:00 /usr/bin/perl /home/pi/webmin-1.890/miniserv.pl /etc/webmin/miniserv.conf
1095 pts/0 S+ 0:00 grep --color=auto perl
Das bedeutet doch das fhem gar nicht läuft?
Könnt Ihr mir etwas unter die Arme greifen?
was steht denn im FHEM log beim Startversuch?
was passiert, wenn Du FHEM von der Systemconsole manuell versuchst zu starten?
https://wiki.fhem.de/wiki/FHEM_startet_nicht_-_Tipps_zur_Fehlersuche
Die letzten Zeilen im Log zeigen: tail -n 20 /opt/fhem/log/fhem-$(date '+%Y-%m').log
Wie man FHEM im Debug Modus startet steht in dem Artikel. :)
vielen danmk erstmal
die WIKI habe ich schon "durch"
tail hat mich im Stich gelassen weil ich "Tages" Log habe.
Das habe ich aber dann auch verstanden.
ail -n 20 /opt/fhem/log/fhem-$(date '+%Y-%m-%d').log
So bei mir.
2021.02.06 13:20:56 1: reload: Error:Modul 99_BatteryCheckUtils deactivated:
2021.02.06 13:20:56 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 15.
2021.02.06 13:20:56 1: reload: Error:Modul 99_myUtils deactivated:
2021.02.06 13:20:56 1: Including fhem.cfg
2021.02.06 13:20:56 3: telnetPort: port 7072 opened
2021.02.06 13:21:05 3: WEB: port 8083 opened
2021.02.06 13:21:05 3: WEBphone: port 8084 opened
2021.02.06 13:21:05 3: WEBtablet: port 8085 opened
2021.02.06 13:21:05 2: eventTypes: loaded 4866 lines from ./log/eventTypes.txt
Undefined subroutine &main::WeekdayTimer_Define called at ./FHEM/98_Heating_Control.pm line 75, <$fh> line 553.
das ist direkt nach neustart.
DAs 98_Heating_Control.pm ist ja veraltet das weiss ich lauft aber noch und ist es das was "blockert"?
Das Problem ist nicht Heating_Control, sondern WeekdayTimer.
ZitatUndefined subroutine &main::WeekdayTimer_Define called at ./FHEM/98_Heating_Control.pm
Entweder das Modul fehlt oder es kann aus irgendwelchen Gründen nicht geladen werden.
Du hast gesagt Du hast vorher update gemacht. Theoretisch kannst Du die letzte Situation davor wieder herstellen. Analog zum vorletzten Abschnitt in dem Wiki Artikel.
ls -lha /opt/fhem/restoreDir/update/
So in der Art - Datum musst Du prüfen!:
sudo -su fhem cp -R /opt/fhem/restoreDir/update/2021-02-05/* /opt/fhem/
Ein restore macht doch nur Sinn, wenn man ungefähr eine Ahnung hat, woher das Problem kommt...
Ursache für das Problem ist das aktualisierte WeekdayTimer. Das Modul benutzt inzwischen einen eigenen Namensraum und die Funktion _Define() wird nicht exportiert.
Deshalb kann diese Funktion nicht von HeatingControl aufgerufen werden und FHEM stürzt ab.
Ob das Modul HeatingControl entsprechend geändert wurde, weiß ich nicht, ich benutze beide Module nicht.
Solange Du mit dem veralteten HeatingControl arbeitest, solltest Du besser auch das veraltete WeekdayTimer verwenden.
Lustig...
sub Heating_Control_Define($$){
my ($hash, $def) = @_;
Log3 $hash, 1, "Heating_Control is deprecated, use WeekdayTimer instead!";
my $ret = WeekdayTimer_Define($hash, $def);
return $ret;
}
Das heißt, das letzte Heating_Control (in deprecated) macht gar nix mehr selbst, sondern übergibt das define 1:1 an WeekdayTimer.
Also ist die korrekte Lösung: Stelle Dein FHEM auf die Verwendung von WeekDayTimer um.
ZitatAlso ist die korrekte Lösung: Stelle Dein FHEM auf die Verwendung von WeekDayTimer um
Ich habe schon einige HC auf WDT geändert vor Wochen schon. Aber noch nicht alle. Sollte ja passieren nach und nach. Aber wie kann ich die denn jetzt ändern wenn das nich startet?
Die beiden vorherigen Modulversionen von WeekdayTimer und HeatingControl wieder einspielen.
Dann die devices entsprechend ändern.
Danach ein update, damit WeekdayTimer wieder aktualisiert wird.
Ja habe ja backup bevore update und somit unter /opt/fhem/restoreDir/update/ eine Verzeichniss von heute.
wäre das so in dem Fall richtig:
sudo -su fhem cp -R /opt/fhem/restoreDir/update/2021-02-06/* /opt/fhem/
Somit hätte ich doch den laufenden Stand vorm Update und könnte dann im laufenden fhem die Module "ersetzen" händisch.
Dann wieder update.
ich würde nicht alles zurückkopieren, sondern nur die beiden genannten Module.
ich kenne die beiden Module nicht. Manchmal gibt es Abhängigkeiten von anderen Modulen / Dateien.
Du kannst ja zunächst einzeln nur die beiden Dateien zurück kopieren, wenn es nicht geht würde ich es komplett machen.
sudo -su fhem cp /opt/fhem/restoreDir/update/2021-02-06/FHEM/NameDerDatei /opt/fhem/FHEM/
grrrrrr "eigentlich" verstehe ich es aber warum gibt es denn in dem Verzeichnis
/opt/fhem/restoreDir/update/2021-02-06/FHEM/
nur eine 98_WeekdayTimer.pm und keine 98_Heating_Control.pm
somit kann ich das ja gar nicht von dort wiederherstellen.
In der "scheinbar" selbst erstellten FHEM-20210206_100327.tar.gz die unter/opt/fhem/backup/ liegt dort sind beide drin UND noch vieeeel mehr wie in dem "update" Verzeichnis.
weil sie dann mit dem Update nicht ersetzt wurde. In dem restoredir stehen nur die gesicherten Dateien die beim update ersetzt werden ;D
Dann kopiere doch nur weekdaytimer zurück und mach einen Versuch?
Du solltest Dein System besser verstehen. Offenbar hast Du ja auch backup_before_update eingerichtet (gut so) damit wird ein komplettes backup erstellt. Vor allem um ein restore "Training" würde ich mich kümmern :) nur backup allein ist nutzlos - aber besser als gar nichts :)
Zitat von: Otto123 am 06 Februar 2021, 15:28:28
Du solltest Dein System besser verstehen.
Heute kein Popcorn, sondern Kuchen...
@Otto123
ZitatIn dem restoredir stehen nur die gesicherten Dateien die beim update ersetzt werden
verstanden DANKE
ZitatDann kopiere doch nur weekdaytimer zurück und mach einen Versuch?
exakt so gemacht. läuft. :)
ZitatVor allem um ein restore "Training" würde ich mich kümmern
Das mache ich ja gerade, mit eurer Hilfe ;)
Danke auch an @betateilchen.