Hallo zusammen,
ich benötige eure Hilfe!
Seit heute morgen kann ich Fhem nicht mehr per Browser erreichen. Es lief seit Jahren auf einem Raspberry Pi ohne Probleme.
Fhem startet und läuft, jedoch kann ich die FHEMWEB Instance nicht erreichen.
Ein start von Fhem mittels
perl fhem.pl -d fhem.cfg
bringt diese Ausgabe
pi@Obelix:/opt/fhem $ perl fhem.pl -d fhem.cfg
2020.02.06 09:23:22 5: Cmd: >attr global userattr DbLogExclude DbLogInclude DbLogValueFn:textField-long cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fhem_widget_channels icon sortby webCmd webCmdLabel:textField-long widgetOverride<
2020.02.06 09:23:22 5: Cmd: >attr global autoload_undefined_devices 1<
2020.02.06 09:23:22 5: Cmd: >attr global autosave 0<
2020.02.06 09:23:22 5: Cmd: >attr global latitude 52.271917<
2020.02.06 09:23:22 5: Cmd: >attr global logfile ./log/fhem-%Y-%m.log<
2020.02.06 09:23:22 5: Cmd: >attr global longitude 9.755349<
2020.02.06 09:23:22 5: Cmd: >attr global modpath .<
2020.02.06 09:23:22 5: Loading ./FHEM/99_FHEMControlPush.pm
2020.02.06 09:23:22 5: Loading ./FHEM/99_SUNRISE_EL.pm
2020.02.06 09:23:22 5: Loading ./FHEM/99_Utils.pm
2020.02.06 09:23:22 5: Loading ./FHEM/99_myUtils.pm
2020.02.06 09:23:22 5: Cmd: >attr global motd 1<
2020.02.06 09:23:22 5: Cmd: >attr global room System<
2020.02.06 09:23:22 5: Cmd: >attr global statefile ./log/fhem.save<
2020.02.06 09:23:22 5: Cmd: >attr global updateInBackground 1<
2020.02.06 09:23:22 5: Cmd: >attr global verbose 3<
2020.02.06 09:23:22 5: Initializing Type Library:
2020.02.06 09:23:22 1: Including fhem.cfg
2020.02.06 09:23:22 5: Cmd: >attr global userattr DbLogExclude DbLogInclude DbLogValueFn:textField-long cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fhem_widget_channels icon sortby webCmd webCmdLabel:textField-long widgetOverride<
2020.02.06 09:23:22 5: Cmd: >attr global autoload_undefined_devices 1<
2020.02.06 09:23:22 5: Cmd: >attr global autosave 0<
2020.02.06 09:23:22 5: Cmd: >attr global latitude 52.271917<
2020.02.06 09:23:22 5: Cmd: >attr global logfile ./log/fhem-%Y-%m.log<
2020.02.06 09:23:22 5: Cmd: >attr global longitude 9.755349<
2020.02.06 09:23:22 5: Cmd: >attr global modpath .<
2020.02.06 09:23:22 5: Cmd: >attr global motd 1<
2020.02.06 09:23:22 5: Cmd: >attr global room System<
2020.02.06 09:23:22 5: Cmd: >attr global statefile ./log/fhem.save<
2020.02.06 09:23:22 5: Cmd: >attr global updateInBackground 1<
2020.02.06 09:23:22 5: Cmd: >attr global verbose 3<
2020.02.06 09:23:22 5: Cmd: >define WEB FHEMWEB 8083 global<
2020.02.06 09:23:22 5: Loading ./FHEM/01_FHEMWEB.pm
2020.02.06 09:23:22 1: WEB: Can't open server port at 8083: Address already in use. Exiting.
Die Meldung bezüglich Port 8083 in use scheint das Problem zu sein, ich wundere mich aber ebenfalls darüber das es in der Ausgabe ein
include fhem.cfg
gibt. Somit macht er alles zweimal.
Gruß
Jan
Du solltest erstmal die laufende FHEM Instanz runter fahren.
ps ax | grep perl
wird Dir sicherlich ein laufendes FHEM zeigen.
Da wirst Du Recht haben, aber ich versuche das mittels:
sudo systemctl stop fhem
zu stoppen, doch leider bringt dann ein
ps ax | grep perl
dieses
pi@Obelix:/opt/fhem $ ps ax | grep perl
464 ? S 0:23 perl fhem.pl fhem.cfg
546 ? S 0:00 perl fhem.pl fhem.cfg
551 ? S 0:00 perl fhem.pl fhem.cfg
1126 pts/0 S+ 0:00 grep --color=auto perl
irgedwie läuft da was doppelt, oder?
also "killen":
kill 464
Mit "ps aux | grep [f]hem" nachgucken, ob der Prozess mit der Nummer 464 "weg" ist. Wenn dann noch andere laufen, nach 2-3 Sekunden den nächsten "killen".
Wenn er trotzdem läuft, erstmal melden ....
Danke für Deine Hilfe!
Hab ihn gekillt und FHEM erstmal aus dem Autostart genommen. Raspi neu gestartet, Fhem startet nicht, soweit okay.
Dann mittels
perl fhem.pl -d fhem.cfg
gestartet, Meldungen rauschen durch. FHEM läuft jedoch ohne Webzugriff.
Im FHEM log steht:
2020.02.06 08:36:55 3: CUL_HM set TE_Licht statusRequest
2020.02.06 08:36:56 3: CUL_HM set TE_Strom statusRequest
2020.02.06 08:36:57 3: CUL_HM set Torantrieb statusRequest
2020.02.06 08:36:58 3: FHEMWEB WEB CSRF error: csrf_630018860872604 ne csrf_564221789082397 for client WEB_192.168.2.125_35094 / command jsonlist2 HUEGroup4,HUEGroup3,$
2020.02.06 08:36:58 3: CUL_HM set GA_Radio off
2020.02.06 08:36:58 3: CUL_HM set KU_Licht statusRequest
2020.02.06 08:36:59 3: CUL_HM set KU_Radio statusRequest
2020.02.06 08:37:00 3: CUL_HM set WZ_Licht_Couchtisch statusRequest
2020.02.06 08:37:01 3: CUL_HM set WZ_Licht_Wand statusRequest
2020.02.06 08:37:02 3: CUL_HM set WZ_Licht_Esstisch statusRequest
2020.02.06 08:37:03 3: CUL_HM set WZ_Licht_Schrank statusRequest
2020.02.06 08:37:10 3: DbRep DbRepBackup - Connectiontest to database mysql:database=fhem;host=192.168.2.254;port=3306 with user fhem
2020.02.06 08:52:30 1: Including fhem.cfg
2020.02.06 08:52:30 1: WEB: Can't open server port at 8083: Address already in use. Exiting.
2020.02.06 09:00:56 1: Including fhem.cfg
2020.02.06 09:00:57 1: WEB: Can't open server port at 8083: Address already in use. Exiting.
2020.02.06 09:03:18 1: Including fhem.cfg
2020.02.06 09:03:19 1: WEB: Can't open server port at 8083: Address already in use. Exiting.
2020.02.06 09:08:55 1: Including fhem.cfg
2020.02.06 09:08:56 1: WEB: Can't open server port at 8083: Address already in use. Exiting.
Wer oder was benutzt auf einmal ohne Änderungen am System den Port 8083 der ja für die FhemWeb Instanz nötig ist. Bin am verzweifeln.
Gruß
Jan
netstat -lntp | grep 8083
das bringt:
pi@Obelix:/opt/fhem/log $ netstat -lntp | grep 8083
(Es konnten nicht alle Prozesse identifiziert werden; Informationen über
nicht-eigene Processe werden nicht angezeigt; Root kann sie anzeigen.)
starte ich Fhem steht dort
pi@Obelix:/opt/fhem/log $ netstat -lntp | grep 8083
(Es konnten nicht alle Prozesse identifiziert werden; Informationen über
nicht-eigene Processe werden nicht angezeigt; Root kann sie anzeigen.)
tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN -
Bitte als root oder mit sudo ..
pi@Obelix:~ $ sudo netstat -lntp | grep 8083
tcp 7 0 0.0.0.0:8083 0.0.0.0:* LISTEN 717/perl
wobei mir auffällt das ich unter top garkein perl process finde mit dem user fhem
obwohl ein
sudo systemctl status fhem
das bringt
pi@Obelix:~ $ sudo systemctl status fhem
● fhem.service - LSB: FHEM server
Loaded: loaded (/etc/init.d/fhem; generated; vendor preset: enabled)
Active: active (running) since Thu 2020-02-06 10:17:38 CET; 21min ago
Docs: man:systemd-sysv-generator(8)
Process: 712 ExecStart=/etc/init.d/fhem start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/fhem.service
├─717 perl fhem.pl fhem.cfg
├─735 perl fhem.pl fhem.cfg
└─738 perl fhem.pl fhem.cfg
Feb 06 10:17:36 Obelix systemd[1]: Starting LSB: FHEM server...
Feb 06 10:17:37 Obelix fhem[712]: Starting fhem...
Feb 06 10:17:38 Obelix systemd[1]: Started LSB: FHEM server.
pi@Obelix:~ $
Was ist hier blos über Nacht passiert ;-(
top ist nicht gedacht, ALLE Pozesse anzuzeigen.
Besser "ps aux" und per grep filter. in diesem Falle:
ps aux | grep [7]17
ps aux | grep [f]hem
Bitte beides als root oder mit sudo ...
ich möchte mich gern hier anhängen, denn ich habe das selbe Problem.
Seit gestern kann ich fhem nicht mehr erreichen.
Noch während ich im Frontend war, um ein paar Einstellungen zu prüfen, tauchten in kurzen Abständen Verbindungsabbrüche auf. Danach ging nichts mehr - Seite nicht erreichbar.
HM-CFG-LAN kann angepingt werden.
FHEM fährt hoch, aber stürzt dann ab.
pi@RasPi3:~ $ service fhem status
● fhem.service - LSB: FHEM server
Loaded: loaded (/etc/init.d/fhem)
Active: active (exited) since Thu 2020-02-06 11:46:03 CET; 15min ago
Process: 893 ExecStop=/etc/init.d/fhem stop (code=exited, status=1/FAILURE)
Process: 903 ExecStart=/etc/init.d/fhem start (code=exited, status=0/SUCCESS)
Beim Debuggen des Startprozesses habe ich folgendes gefunden:
2020.02.06 12:05:48 1: PERL WARNING: Use of uninitialized value $SplitDate[1] in subtraction (-) at FHEM/ ABFALL_getEvents.pm line 258.
Month '-1' out of range 0..11 at FHEM/ABFALL_getEvents.pm line 258.
Kann es sein, dass ein fehlerhaft programmiertes Modul (out of range) fhem zum Absturz bringt?
(Wobei ich mich dann frage, warum bis jetzt alles lief..)
lösch dein abfall modul.
ich vermute das modul liest eine datei ein, die problematische daten enthält.
Zitat von: Wernieman am 06 Februar 2020, 11:32:50
top ist nicht gedacht, ALLE Pozesse anzuzeigen.
Besser "ps aux" und per grep filter. in diesem Falle:
ps aux | grep [7]17
ps aux | grep [f]hem
Bitte beides als root oder mit sudo ...
Danke Dir. Bin einen Schritt weiter. Scheinbar ist seit gestern Abend meine MySQL DB nicht mehr i.O. Kommentiere ich logdb in der fhem.cfg aus startet fhem nach einem reboot. Sobald ich logdb aktiviere geht nix mehr.
Und dann ist es auch so, dass wenn ich Fhem (mit logdb) mittels
sudo systemctl start fhem
starte, ich es nicht mehr beendet kriege, auch mit kill nicht.
Ich gucke nun ob ich die MySQL wieder hin bekomme, melde mich nochmal
Zitat von: frank am 06 Februar 2020, 12:29:08
lösch dein abfall modul.
ich vermute das modul liest eine datei ein, die problematische daten enthält.
Danke für dein Feedback.
Das Perl Modul selbst löschen bzw temporär umbenennen?
Oder die Definition in der fhem.cfg?
Letzteres könnte neue Fehler hervorrufen, denn ich komme ja nicht auf das Frontend.
@Jasimo
Was wirft den mysql für eine Fehlermeldung?
@DocCyber
Es ist doch ein anderer Fehler .. könntest Du einen neuen Thread ...?
Ich z.B: komme sonst beim "Support" durcheinander ;o)
Zitat von: Wernieman am 06 Februar 2020, 13:45:35
@Jasimo
Was wirft den mysql für eine Fehlermeldung?
@DocCyber
Es ist doch ein anderer Fehler .. könntest Du einen neuen Thread ...?
Ich z.B: komme sonst beim "Support" durcheinander ;o)
die MySql läuft auf einem QNAP NAS ud die meldung ist sinngemäß "Table history corrupt", ist wohl gestern Abend beim Optimize und Backup der Datenbank passiert.
Was genau passiert ist weiß ich nicht, mein QNAP NAS verhält sich momentan komisch, ich muss erstmal den NAS fixen, dann sehe ich weiter.
FHEM läuft aber wieder, bisher jedoch ohne logdb
Sorry aber mySQL auf Storage-System .. da kann ich nicht weiterhelfen ...
Zitat von: Wernieman am 06 Februar 2020, 13:45:35
@DocCyber
Es ist doch ein anderer Fehler .. könntest Du einen neuen Thread ...?
Ich z.B: komme sonst beim "Support" durcheinander ;o)
Natürlich :) ... jetzt hier: https://forum.fhem.de/index.php/topic,108167.0.html
Kurze Rückmeldung, hab gestern alles wieder zum Laufen gebraucht. Ursache das Fhem nicht mehr wollte war wie gesagt eine korrupte MY-SQL Tabelle "history", da muss man erstmal drauf kommen. Zum Glück hab ich Backups ;-)
DANKE für eure Hilfe!
Jan
schön, dass bei dir wieder alles läuft.
Würdest du diesen Thread dann bitte auf GELÖST setzen?