nach Neustart keine funktion mehr

Begonnen von tomspatz, 06 Februar 2021, 12:09:33

Vorheriges Thema - Nächstes Thema

tomspatz

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?



betateilchen

was steht denn im FHEM log beim Startversuch?
was passiert, wenn Du FHEM von der Systemconsole manuell versuchst zu starten?

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

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. :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tomspatz

#3
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"?

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

#5
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/
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

tomspatz

#8
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?

betateilchen

Die beiden vorherigen Modulversionen von WeekdayTimer und HeatingControl wieder einspielen.
Dann die devices entsprechend ändern.
Danach ein update, damit WeekdayTimer wieder aktualisiert wird.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

tomspatz

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.

betateilchen

ich würde nicht alles zurückkopieren, sondern nur die beiden genannten Module.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

#12
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/
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tomspatz

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.

Otto123

#14
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 :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz