FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: tomspatz am 06 Februar 2021, 12:09:33

Titel: nach Neustart keine funktion mehr
Beitrag von: tomspatz am 06 Februar 2021, 12:09:33
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?


Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: betateilchen am 06 Februar 2021, 13:14:05
was steht denn im FHEM log beim Startversuch?
was passiert, wenn Du FHEM von der Systemconsole manuell versuchst zu starten?

Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: Otto123 am 06 Februar 2021, 14:02:35
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. :)
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: tomspatz am 06 Februar 2021, 14:11:57
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"?
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: betateilchen am 06 Februar 2021, 14:22:19
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.
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: Otto123 am 06 Februar 2021, 14:23:01
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/
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: betateilchen am 06 Februar 2021, 14:28:53
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.
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: betateilchen am 06 Februar 2021, 14:35:20
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.
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: tomspatz am 06 Februar 2021, 14:41:46
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?
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: betateilchen am 06 Februar 2021, 15:00:48
Die beiden vorherigen Modulversionen von WeekdayTimer und HeatingControl wieder einspielen.
Dann die devices entsprechend ändern.
Danach ein update, damit WeekdayTimer wieder aktualisiert wird.

Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: tomspatz am 06 Februar 2021, 15:08:37
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.
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: betateilchen am 06 Februar 2021, 15:10:47
ich würde nicht alles zurückkopieren, sondern nur die beiden genannten Module.
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: Otto123 am 06 Februar 2021, 15:15:13
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/
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: tomspatz am 06 Februar 2021, 15:25:15
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.
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: Otto123 am 06 Februar 2021, 15:28:28
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 :)
Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: betateilchen am 06 Februar 2021, 15:37:25
Zitat von: Otto123 am 06 Februar 2021, 15:28:28
Du solltest Dein System besser verstehen.

Heute kein Popcorn, sondern Kuchen...

Titel: Antw:nach Neustart keine funktion mehr
Beitrag von: tomspatz am 06 Februar 2021, 15:39:15
@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.